Frequently situations arise where it is desirable to be able to control a personal computing device (such as a desktop or laptop computer) from a handheld computing device. For example, when giving presentations a presenter often will uses slide or other material contained on and displayed by a personal computing device. In order to move the presentation along, the presenter needs to interact with the computer. This interaction includes switching slides, running other applications, and inputting commands using a pointing device (such as a mouse or touchpad) or data using a keyboard.
One problem with this arrangement is that the presenter's movements are constrained to the small area surrounding the computer. A remote control can be used to partially alleviate this problem, as the remote control can be used to advance the slides. The problem is not entirely resolved, however, because a remote control cannot be used to open, close, and otherwise control the other applications on the computer. Moreover, the remote control cannot be used to remotely input commands and data.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
The remote pointing device and keyboard system and method includes simulating or mimicking the keyboard and pointing device behavior of a personal computing device by using the touch panel and keypad of a handheld computing device (such as a Pocket PC or smartphone). In other words, the touch panel and keypad of the mobile device are used as a remote mouse pad and keyboard of a PC. The remote pointing device and keyboard system and method causes the Pocket PC to act as a remote keyboard and mouse to be able to control the desktop or laptop computer. The touch pane of the Pocket PC acts as a remote mouse, such that if you double click on the screen of the Pocket PC an application will open. Remote control is established using a Bluetooth connection. Bluetooth wireless technology is used because it is in widespread used worldwide and Bluetooth technology is legal in many countries, even where other types of wireless technologies are illegal.
The remote pointing device and keyboard system and method is useful in situations such as giving presentations. Using the remote pointing device and keyboard system and method, the presenter can give the lecture freely and use his mobile device control the computer at anywhere within the range of the Bluetooth connection. For example, assume that a presenter is using a laptop or desktop computer that contains a Powerpoint presentation and the laptop or desktop computer is Bluetooth enabled. Moreover, the presenter has another Bluetooth-enable device that is a Pocket PC or smartphone. Using the remote pointing device and keyboard system and method, the presenter can remotely access the mouse and keyboard of the laptop or desktop computer using the touch panel and keypad of the Pocket PC or smartphone. In addition, the Pocket PC or smartphone can be used to control every behavior of the laptop or desktop, including opening, closing, and editing documents and applications.
In one embodiment, the remote pointing device and keyboard system and method includes a personal computing device (having a keyboard and pointing device) and a handheld computing device (having a touch panel or touch screen and a keypad). Both devices are Bluetooth-enabled devices. The personal computing device is running a first application, and the handheld computing device is running a second application.
Both the first and second applications are activated on their respective computing devices. A user then inputs commands into the handheld computing device using the touch panel, and inputs data into the handheld using the keypad. The user intends that the input commands and data are for the personal computing device. The handheld sends the commands and data to the personal computing device using the Bluetooth connection.
The personal computing device receives this message and translates it into the desired keyboard or pointing device behavior intended by the user. In some embodiments this involves the translation of coordinates in the touch panel domain to coordinates in the display device domain of the personal computing device. The translated commands and data then are sent to the operating system of the personal computing device, and the operating system executes the commands and processes the data. In this manner the user can remotely access the pointing device and keyboard of the personal computing device through the touch panel and keypad of the handheld device.
It should be noted that alternative embodiments are possible, and that steps and elements discussed herein may be changed, added, or eliminated, depending on the particular embodiment. These alternative embodiments include alternative steps and alternative elements that may be used, and structural changes that may be made, without departing from the scope of the invention.
Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
In the following description of the remote pointing device and keyboard system and method, reference is made to the accompanying drawings, which form a part thereof, and in which is shown by way of illustration a specific example whereby the remote pointing device and keyboard system and method may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the claimed subject matter.
Referring to
The handheld computing device 105 includes a second application running on the device 105. The personal computing device 110 is running a first application 120. Referring to the handheld computing device 105, a user (not shown) provides input to the device 105 by means of a command input from the touch panel (box 125). In addition, data input may come from the user through a keypad (box 130).
These commands 125 and data 130 are sent to the second application 115 to be processed for transmission (box 135). This process command and data information then is sent to a Bluetooth transmitter 140. Bluetooth uses radio frequencies to provide wireless data transfer between Bluetooth-enabled devices. Bluetooth is a fairly ubiquitous wireless data transfer technology, with an ever-increasing number of Bluetooth-enabled desktop computers, laptop computers, and handheld devices being sold. The processed data is send to the Bluetooth transmitter 145 and wirelessly transmitted 150 to the personal computing device 110.
A Bluetooth receiver 155 on the personal computing device 110 receives the incoming message. The message is parsed into received commands 160 and received data 165. In general, the received commands 160 are input obtained from the touch panel of the handheld computing device 105 relating to pointing device instructions, while the received data 165 is input obtained from the keypad of the handheld computing device 105 relating to keyboard instructions.
The first application running on the personal computing device 120 processes the received message to convert the commands and data into instructions relating to the pointing device and the keyboard (box 170). This processing yields corresponding pointing device behavior and keyboard behavior 175. These instructions then are sent to the operating system for execution (box 180).
A user send commands and data to the personal computing device 110 by using the handheld computing device 105. More specifically, the user inputs commands from the touch panel (box 220) and data from the keypad (box 230) of the handheld computing device 105. These commands and data are intended for the personal computing device 110. By activating the first 120 and second 115 applications, the user expresses his intent of remotely sending his command and data input of the handheld computing device 105 to the personal computing device 110.
The second application 115 processes the commands and data on the handheld computing device for transmission to the personal computing device (box 240). The handheld computing device 105 transmits the commands and data from the handheld computing device 105 to the personal computing device 110 using a Bluetooth connection (box 250).
The personal computing device 110 receives the transmitted commands and data (box 260). The first application 120 then is used to translate the commands and data into corresponding pointing device and keyboard behavior (box 270). This pointing device and keyboard behavior is that behavior that was desired by the user when he input the commands and data using the handheld computing device 105. The desired pointing device and keyboard behavior is sent to the operating system (box 280), and then executed by the operating system on the personal computing device (box 290).
Any necessary computations are performed on the received transmission (box 330). Next, the transmission is translated using a pre-defined protocol to convert commands and data from the handheld computing device 105 into corresponding desired pointing device and keyboard behavior (box 340). In some embodiments, this pre-defined protocol includes converting touch panel x-y coordinates of the handheld computing device 105 into to display device x-y coordinates on the personal computing device 110. In addition, in some embodiments this pre-defined protocol includes converting clicking event information and key pressed information performed on the handheld computing device 105 into clicking event information and keyboard data on the personal computing device 110. Finally, the corresponding desired pointing device and keyboard behavior is send to the operating system of the personal computing device 110 for execution (box 350). In this way the user can control the behavior of the computer through the device.
The remote pointing device and keyboard system and method is designed to operate in a computing environment. The following discussion is intended to provide a brief, general description of a suitable computing environment in which the remote pointing device and keyboard system and method may be implemented.
The remote pointing device and keyboard system and method is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the remote pointing device and keyboard system and method include, but are not limited to, personal computers, server computers, hand-held (including smartphones), laptop or mobile computer or communications devices such as cell phones and PDA's, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The remote pointing device and keyboard system and method may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The remote pointing device and keyboard system and method may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices. With reference to
Components of the computer 510 may include, but are not limited to, a processing unit 520 (such as a central processing unit, CPU), a system memory 530, and a system bus 521 that couples various system components including the system memory to the processing unit 520. The system bus 521 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
The computer 510 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by the computer 510 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer 510. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
Note that the term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
The system memory 540 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 531 and random access memory (RAM) 532. A basic input/output system 533 (BIOS), containing the basic routines that help to transfer information between elements within the computer 510, such as during start-up, is typically stored in ROM 531. RAM 532 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 520. By way of example, and not limitation,
The computer 510 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive 541 is typically connected to the system bus 521 through a non-removable memory interface such as interface 540, and magnetic disk drive 551 and optical disk drive 555 are typically connected to the system bus 521 by a removable memory interface, such as interface 550.
The drives and their associated computer storage media discussed above and illustrated in
Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, radio receiver, or a television or broadcast video receiver, or the like. These and other input devices are often connected to the processing unit 520 through a user input interface 560 that is coupled to the system bus 521, but may be connected by other interface and bus structures, such as, for example, a parallel port, game port or a universal serial bus (USB). A monitor 591 or other type of display device is also connected to the system bus 521 via an interface, such as a video interface 590. In addition to the monitor, computers may also include other peripheral output devices such as speakers 597 and printer 596, which may be connected through an output peripheral interface 595.
The computer 510 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 580. The remote computer 580 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 510, although only a memory storage device 581 has been illustrated in
When used in a LAN networking environment, the computer 510 is connected to the LAN 571 through a network interface or adapter 570. When used in a WAN networking environment, the computer 510 typically includes a modem 572 or other means for establishing communications over the WAN 573, such as the Internet. The modem 572, which may be internal or external, may be connected to the system bus 521 via the user input interface 560, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 510, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
The foregoing Detailed Description has been presented for the purposes of illustration and description. Many modifications and variations are possible in light of the above teaching. It is not intended to be exhaustive or to limit the subject matter described herein to the precise form disclosed. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims appended hereto.