Patent Abstract:
Personal computer (PC) and online gaming are gaining popularity around the world. Typically players use PC input devices such as keyboards and mice for playing PC games. Many of the modern PC games use a control scheme commonly known as the “WASD/Mouse”, which is a combination of the “WASD” keys of the keyboard and the mouse as means for interacting with the PC games. Additionally, to further expand on game control functions, modifier keys are used in conjunction with other keyboard keys to serve as shortcut keys for activating such game control functions. However, due to the non-ergonomic positioning of the shortcut keys, players often suffer from wrist discomfort after PC game playing sessions due to increased strain placed on their wrists when using the shortcut keys frequently. An embodiment of the invention describes a system and method for switching processes selectable by keys on human interface devices.

Full Description:
FIELD OF INVENTION 
       [0001]    The invention relates generally to human interface devices for personal computers. In particular, the invention relates to a system and method for switching processes selectable by keys on human interface devices. 
       BACKGROUND 
       [0002]    Gaming, whether done on the ubiquitous personal computer (PC) or console platform, is fast gaining popularity worldwide. As a result, the PC and video game industries are posting record sales for portable and console hardware, software and accessories. Further, with the vast improvement of Internet technology, online gaming is also poised to take off as the next wave for PC gaming. 
         [0003]    Typically, players use human interface devices (HIDs) such as keyboards and mice to interact with PC games. The PC games typically belong to genres ranging from First Person Shooter (FPS) games to Massive Multiplayer Online Role Player Games (MMORPGs). In order to play the PC games, the players generally use a combination of the “WASD” keys of the keyboard and the mouse as means for interacting with the PC games. Such a control scheme is commonly referred to as the “WASD/Mouse” combination. The “WASD” keys typically provide movements for game characters including forward, backward, left and right sidestepping. Additionally, the mouse is used for controlling the game characters&#39; movement directions in which the players control the game characters for character interaction when they play the PC games. 
         [0004]    Modifier keys such as “CTRL”, “WINDOWS”, “ALT” and “SHIFT” are shortcut keys used in conjunction with other keyboard keys for most PC games. The shortcut keys are typically used for expanding on additional game playing functions for the PC games. Although the shortcut keys enable the players to have more game control functions for game play, inappropriate positioning of the shortcut keys can create discomfort for players who frequently use the shortcut keys during game play. The design of most modern keyboards locates the modifier keys around non-ergonomic areas of the keyboards, which are typically on the lower right and left corners. Consider a right-handed player who controls the mouse with the right hand and controls the “WASD” keys on the keyboard with the left hand during game play. The player might encounter inconvenience when attempting to use the left hand to access the modifier keys. As a result, many players suffer from wrist strain and pain after PC game playing sessions. Such situations thus bring about decreased satisfaction in overall gaming experience for many players. 
         [0005]    US Patent No. US2006/209014A1 (prior art) discloses a system and method in which pen gestures enable a mode to be entered in which a computing device acts as if a modifier key was being pressed. The system and method comprise using low-level software drivers linked to an Operating System&#39;s (OS) kernel for capturing and recognizing input feedbacks in the form of user gestures made via input devices such as a mouse, a pen digitizer or a touch digitizer. Based on the user gestures detected, one or more modes corresponding to pressing a keyboard modifier key or issuing one-time commands or the like can be initiated by the low-level software drivers. However, such a system and method are not suitable for PC gaming implementations since the input devices are typically used for controlling movements of game characters in PC games using user gestures. Hence, the system and method as described in the prior art can result in considerable confusion for gamers when selecting the correct gaming commands to use. 
         [0006]    Hence, there affirms a need for a system and method for addressing at least one of the foregoing problems of using HIDs for playing PC games. 
       SUMMARY 
       [0007]    Embodiments of the invention disclosed herein provide a system and method for switching processes selectable through keys on human interface devices. 
         [0008]    In accordance with a first aspect of the invention, there is disclosed in a human interface device communicable with a computing device, a method for switching processes performable by the computing device comprising the step of detecting actuation of a switch on the human interface device. The method further comprises the step of communicating with the computing device for switching from a first process selectably performable by the computing device to a second process selectably performable by the computing device in response to the actuation of the switch. Each of the first and second processes selectably performable by the computing device is selectable by actuation of at least one process selection key. 
         [0009]    In accordance with a second aspect of the invention, there is disclosed in a human interface device communicable with a computing device, the human interface device comprising a switch and a communication interface. The switch is actuable by a user of the human interface device. The communication interface communicates with the computing device for switching from a first process selectably performable by the computing device to a second process selectably performable by the computing device in response to the actuation of the switch. Each of the first and second processes selectably performable by the computing device is selectable by at least one process selection key actuable by the user of the human interface device. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0010]    Embodiments of the invention are disclosed hereinafter with reference to the drawings, in which: 
           [0011]      FIG. 1  shows a conventional keyboard; 
           [0012]      FIG. 2  shows a mouse with a switch for providing key function switching for a human interface device (HID) such as the keyboard of  FIG. 1  according to an embodiment of the invention; 
           [0013]      FIG. 3  shows keys of the keyboard of  FIG. 1  used in conjunction with the switch of the mouse of  FIG. 2  for switching between pre-configured primary and secondary functions of the keys upon actuating the switch of the mouse of  FIG. 2 ; 
           [0014]      FIG. 4  shows further buttons of the mouse of  FIG. 2  used in conjunction with the switch of the mouse for switching between pre-configured primary and secondary functions of the keys upon actuating the switch of the mouse of  FIG. 2 ; 
           [0015]      FIG. 5  shows a keyboard with multimedia buttons for selecting multimedia functions; 
           [0016]      FIG. 6  shows a graphical format of a software application used in conjunction with the switch of the mouse of  FIG. 2  and a HID such as the keyboard of  FIG. 5  for configuring a shortcut key for providing key function switching; and 
           [0017]      FIG. 7  shows a block diagram format of system modules for providing a hardware implementation for the mouse of  FIG. 2 . 
       
    
    
     DETAILED DESCRIPTION 
       [0018]    A device and a method for switching processes selectable by keys on a human interface device (HID) are described hereinafter for addressing the foregoing problems. 
         [0019]    For purposes of brevity and clarity, the description of the invention is limited hereinafter to applications related to switching processes selectable by keys on HIDs (or key function switching). This however does not preclude various embodiments of the invention from other applications that require similar operating performance. The fundamental operational and functional principles of the embodiments of the invention are common throughout the various embodiments. 
         [0020]    Exemplary embodiments of the invention described hereinafter are in accordance with  FIGS. 1 to 7  of the drawings, in which like elements are numbered with like reference numerals. 
         [0021]    According to an embodiment of the invention, a system for switching processes of a software application executing in a computing device, for instance a personal computer is disclosed hereinafter. The processes are selectable through keys on human interface devices (HIDs) or input devices such as a keyboard  100  shown in  FIG. 1  and a mouse  200  shown in  FIG. 2  is described hereinafter. The keyboard  100  comprises any key  102 . A user (not shown) then uses a switch incorporated on the mouse  200 , such as a switch  202 , to switch the key  102  from a first function to a second function for switching from a first process to a second process of the software application. The first and second functions are preferably already pre-defined and pre-configured to the key  102 . Additionally, the first and second functions may be pre-determined by the user before being configured to the key  102 . 
         [0022]    The keyboard  100  is one of wired and wireless types. A wired keyboard  100  preferably couples and communicates to a computer system (not shown) via a communication interface being one of PS/2 and Universal-Serial-Bus (USB). On the other hand, a wireless keyboard  100  preferably couples and communicates to the computer system via a communication interface being one of Bluetooth, Infrared (IR), Radio-Frequency (RF) and Wireless USB. Further, the keyboard  100  is preferably an IBM-compatible keyboard with a QWERTY keyboard layout design. 
         [0023]    As shown in  FIG. 2 , the switch  202  is preferably ergonomically located on the mouse  200  so as to be easily accessible by the user, such as along a side portion of the mouse  200 . Alternatively, other usable HIDs include a trackball, touchpad, digitizing pen, gamepad, graphics tablet and joystick. Additionally, the mouse  200  is one of type wired and wireless. A wired mouse  200  preferably couples and communicates to the computer system via a communication interface being one of PS/2 and Universal-Serial-Bus (USB). A wireless mouse  200  however preferably couples and communicates to the computer system via a communication interface being one of Bluetooth, Infrared (IR), Radio-Frequency (RF) and Wireless USB. Alternatively, the mouse  200  may be coupled directly to the keyboard  100  via one of the wired and wireless means. Further, the switch  202  is preferably operable on any computer systems without having to install additional software drivers for the Operating Systems (OS) installed on the computer systems. The OS is preferably one of Microsoft Windows, LINUX, UNIX and Mac OSX. 
         [0024]    Typically, different primary functions of the keys  102  are already pre-associated with different primary processes of a PC game. According to the embodiment of the invention, the user initially uses a software application (not shown) for pre-defining and configuring secondary functions corresponding to secondary processes of the PC game to any one of the keys  102 . The user then switches to the secondary functions of the keys  102  whenever required by actuating the switch  202 . Hence, the secondary functions of the keys  102  are selected instead when the user actuates the keys  102 . To switch the keys  102  back to the primary functions, the user actuates the switch  202 . Alternatively, the secondary functions of the keys  102  are selected when the switch  202  is actuated together with the keys  102 . When the switch  202  is released, the keys  102  revert to the primary functions. 
         [0025]    Additionally, the switch  202  is preferably and alternatively usable in conjunction with any processor-based devices (not shown) that have buttons or keys. Processor-based devices include gamepads, video gaming consoles, joysticks and the like. The switch  202  then enables functions switching (from primary functions to secondary functions) of the buttons or keys of the computer peripheral devices to be achieved by actuating the switch  202  together with the buttons or keys. Alternatively, functions switching of the buttons or keys of the processor-based devices are achievable by actuating the switch  202  once to switch to the secondary functions. Subsequently, when the primary functions are required again, the switch  202  is then actuated to switch the buttons or keys back to the primary functions. 
         [0026]    An example illustrating the usage of the switch  202  with the keyboard  100  is as shown in  FIG. 3 . In a typical PC game, in-game processes such as Shoot, Jump, Crouch, Cast-Spell-A, Cast-Spell-B and Cast-Spell-C are configurable to any keys  102  of the keyboard  100 . Hence, the user may configure the aforementioned six in-game processes to key-one  302 , key-two  304 , key-three  306 , key-four  308 , key-five  310  and key-six  312 , respectively. However, during play of the PC game, key-four  308 , key-five  310  and key-six  312  are not easily accessible by the user. 
         [0027]    According to the embodiment of the invention, the user can however use the software application to configure Shoot, Jump and Crouch as primary processes and Cast-Spell-A, Cast-Spell-B and Cast-Spell-C as secondary processes to key-one  302 , key-two  304  and key-three  306 , respectively. Thus, when the user is playing the PC game, the user simply actuates key-one  302 , key-two  304  and key-three  306  for selecting the Shoot, Jump and Crouch processes, respectively. By actuating the switch  202 , the user then activates the secondary functions of key-one  302 , key-two  304  and key-three  306 . As a result, when the user presses key-one  302 , key-two  304  and key-three  306  during play of the PC game, the Cast-Spell-A, Cast-Spell-B and Cast-Spell-C processes are now respectively selected instead of the Shoot, Jump and Crouch processes. The primary functions of key-one  302 , key-two  304  and key-three  306  may be reverted by actuating the switch  202  again. 
         [0028]    Alternatively, the Cast-Spell-A, Cast-Spell-B and Cast-Spell-C processes are selectable by actuating the switch  202  together with one of key-one  302 , key-two  304  and key-three  306 , respectively. Thus for example, when the switch  202  is actuated together with key-one  302 , the Cast-Spell-A process is now selected instead of the Shoot process. However, when the switch  202  is released, key-one  302  then selects the Shoot process again. 
         [0029]    Additionally, the switch  202  also allows alternative processes to be provided to at least one button of the mouse  200 . The alternative processes are preferably programmable by the user.  FIG. 4  shows a left button  400 , a scroll button  402  and a right button  404  of the mouse  200 . For example, in a typical PC game, the user is able to configure in-game processes such as Attack, Jump, Cast-Spell-A and Cast-Spell-B to buttons of the mouse  200 . However, due to the lack of buttons available on the mouse  200 , only two of the aforementioned in-game processes are configurable to the buttons of the mouse  200 . According to the embodiment of the invention, the user can however use the software application to configure all four of the aforementioned in-game processes to the buttons of the mouse  200 , in which the four in-game processes are used in conjunction with the switch  202 . The user then configures Attack and Jump as primary processes to the left button  400  and right button  404 , respectively and Cast-Spell-A and Cast-Spell-B as secondary processes to the left button  400  and right button  404 , respectively. By default, when the user actuates the left button  400  or right button  404  on the mouse  200 , the Attack or Jump process is selected respectively. However, when the user actuates the switch  202 , the secondary processes associated with the left button  400  and right button  404  respectively are selected instead. Thus, the Cast-Spell-A or Cast-Spell-B process is respectively selected when the user either actuates the left button  400  or right button  404 . 
         [0030]    Yet alternatively, the Cast-Spell-A and Cast-Spell-B processes are selectable by actuating the switch  202  together with either the left button  400  or right button  404 , respectively. Thus for example, when the switch  202  is actuated together with the left button  400 , the Cast-Spell-A process is now selected instead of the Attack process. However, when the switch  202  is released, the left button then selects the Attack process again. 
         [0031]      FIG. 5  shows another keyboard  500  of the conventional type. The keyboard  500  is an enhanced version of the keyboard  100  of  FIG. 1  in which the keyboard  500  is incorporated with multimedia function buttons  502  such as volume buttons, a play button, a fast-forward button and a reverse button, in addition to the available conventional keys  504 . Typically, a conventional keyboard such as the keyboard  500  is pre-built with modifier keys such as “CTRL”, “ALT” and “SHIFT” keys  506 . The switch  202  of the mouse  200  is programmable and configurable to take on functionality of one of the “CTRL”, “ALT” and “SHIFT” keys  506 . Hence, when the user actuates the switch  202  on the mouse  200 , the switch  202  now emulates the functionality of one of the “CTRL”, “ALT” and “SHIFT” keys  506 . The switch  202  is then usable in combination with the keys  504  to form shortcut keys for accessing different pre-defined in-game processes. Configuring the shortcut keys allows the user quicker access to the in-game processes without having to position their hands in a non-ergonomic manner on the keyboard  500  during game play. In addition, due to the ergonomic positioning of the shortcut keys, the user is less likely to incur computer-related injuries resulting from prolong usage of the computer system such as Carpal Tunnel Syndrome (CTS). 
         [0032]    Alternatively, the switch  202  is usable in combination with the keys  504  to form shortcut keys for accessing different pre-defined in-program processes of a computer animation application. Examples of the in-program processes are drawing, colouring, animating and sound effects features of the computer animation application. In this manner, the in-program processes are configured such that each of the in-program processes is activated through actuating a corresponding pre-defined key  504  on the keyboard  500  in conjunction with the switch  202 . 
         [0033]    Additionally, the switch  202  is also programmable using a software application  600  as shown in  FIG. 6 . The software application  600  enables the configuration of the switch  202  together with keys of a HID such as the keyboard  500  of  FIG. 5 . Hence, a unique code corresponding to the configuration of actuating at least one of the keys  504  in conjunction with the switch  202  is pre-definable by the user. The unique code is then stored in a “shortcut-key” profile on the computer system. Alternatively, the “shortcut-key” profile is stored on the mouse  200 . Additionally, the unique code is also associated with a software application. Whenever the computer system detects an activation corresponding to the unique code, the software application is then activated by the computer system. The unique code is activatable by the keyboard  500  whenever the user actuates the switch  202  in conjunction with a pre-defined key selected from one of the keys  504 . 
         [0034]    The software application  600  comprises the respective options: a key, a launch-application and a load-“shortcut-key”-profile respectively. The key option specifies one of the keys  504 . The launch-application option allows the user to define a software application to be activated upon detection of the unique code corresponding to the usage of the shortcut keys. Lastly, the load-“shortcut-key”-profile option allows the user to decide whether the “shortcut” profile is to be loaded into computer memory by the computer system upon system startup. 
         [0035]    According to another embodiment of the invention, a hardware implementation  700  for the mouse  200  is shown in  FIG. 7 . The hardware implementation  700  comprises a signal detector  702 , a first controller  704 , memory  706 , a microprocessor  708 , a second controller  710  and a signal transmitter  712 . The signal detector  702  contains sensing circuitry to detect if the mouse  200  receives any input signals. The received input signals are then forwarded to the first controller  704 , which processes requests of sending and storing of received input signals into the memory  706 . The memory  706  serves as a storage space to temporarily store the received input signals before subjecting the received input signals to further processing by the microprocessor  708 . The memory  706  is preferably one of semiconductor memory devices such as static and dynamic random access memory (RAM) and flash devices. The microprocessor  708  is responsible for processing the received input signals to derive digital information such as coordinates of current position of the mouse  200 . Subsequently, the microprocessor  708  sends the digital information to the second controller  710 , which processes organization of the digital information before transmitting the digital information as output signals. Lastly, the signal transmitter  712  transmits the digital information to the computer system via the communication interface to which the mouse  200  couples and communicates. 
         [0036]    In the foregoing manner, a system and a method for switching processes selectable by keys on human interface devices are described according to embodiments of the invention for addressing at least one of the foregoing disadvantages. Although a few embodiments of the invention are disclosed, it will be apparent to one skilled in the art in view of this disclosure that numerous changes and/or modification can be made without departing from the scope and spirit of the invention.

Technology Classification (CPC): 6