User-input devices, such as keyboards and similar peripheral devices, include predetermined arrangement of pushbuttons or keys, each key to actuate a switch that is distinguished from switches associated with other keys by controlling software, firmware and/or hardware.
While the present disclosure is susceptible to various modifications and alternative forms, specific examples are shown and described herein. It should be understood, that the present disclosure is not limited to the particular forms and examples disclosed and instead covers all modifications, equivalents, embodiments, and alternatives falling within the spirit and scope of the present disclosure.
To support world-wide languages, keyboards are printed with permanent markings on each key such that each key is denoted with written symbols, such as a letter and/or character, which makes the keyboards language specific to one or two languages. Multifunctional keyboards provide additional functions beyond the standard keyboard, such as through additional key functions, and provide a degree of programmability or configurability to facilitate use in complex work environments
For example, an example user-input device includes a first side having an example standard, physical keyboard 115 (e.g., a QWERTY keyboard having pushbuttons, etc.) and a second side, opposite the first side, having an example configurable touch-screen display 117 adaptable to display an example keyboard corresponding to an application running in the foreground of a connected system. An example sensor detects an orientation of the example user-input device to permit determination as to which of the first and second side is an “active” side. In use, if the example touch-screen display is oriented in a “face up” or active position, the example user-input device communicates this orientation to a connected example external system and the connected external system causes the example touch-screen display to display an example keyboard corresponding to an example application running in the foreground of the example external system's operating system. In this example, the user-input device is enabled to switch layouts, based on the application used, to dynamically provide the most appropriate input layout for the active workflow. In another example, the orientation sensor may determine that the user-input device is oriented with the touch-screen display in a portrait position or a landscape position, relative to the ground, and cause a layout of the touch-screen display to adjust correspondingly.
The example user-input device 100 of
The example physical keyboard 115 includes a plurality of movable keys and may include a standard alphanumeric keyboard, such as a “QWERTY” keyboard or other computer keyboard with keys 210 for alphabetic characters, punctuation symbols, numbers and various functions. The example display input device 117 is a touch-screen display, such as a multipoint or multi-touch touch-screen display enabling recognition of the presence of a plurality (e.g., two, three, four, five, ten, etc.) of contacts with the touch-screen surface. In another example, the example display input device 117 is a haptic touch-screen display. In one example, the haptic feedback occurs only in the areas of keys 210, with areas between the keys comprising a “white space” in which no haptic feedback is provided to a user. In another example, haptic feedback is user-selectable. Thus, the example physical keyboard 115 provides a tactile, familiar input to users that is conducive to faster typing speeds than may be achieved on a touch-screen keyboard, while the example display input device 117 provides an adaptable user input, that may be a user-configurable touch-screen display, enabling display of an example keyboard corresponding to an application running in the foreground of a connected external system 110 to complement the users active workflow.
An example display input device 117 has a width of between about 14″-18″ and a depth between about 4.5″-8,″ corresponding generally to a profile of a computer keyboard. In another example, the example display input device 117 includes a plurality (e.g., two, three, four, five, etc.) of adjacent touch-screen displays. These example adjacent touch-screen displays 117 have, in one example, a combined width of between about 14″-18″ and a depth between about 4.5″-8,″ again corresponding generally to a profile of a computer keyboard. To illustrate, six 2.7″×4.8″ displays are disposed adjacent one another in an abutting relationship to provide, as a whole, a display having a width of 16.2″ and a depth of 4.8.″ As another illustrative example, two 5.5″×8″ displays are disposed adjacent one another in an abutting relationship to provide, as a whole, a display having a width of 16″ and a depth of 5.5.″ While some example dimensions are denoted above for an example user-input device 100 and an example display input device 117, the present concepts include user-input devices and display input devices having other dimensions smaller than, or larger than, those provided above by way of example. By way of example, the example user-input device 100 could be a super mini keyboard having a width of 10″ and a depth of 7,″ with an example display input device 117 having dimensions less than about 10″×7.″
The example sensor 120, in one example, includes an orientation sensor to sense an orientation of the user-input device 100 and/or to sense a movement of the user-input device 100 from which an orientation can be determined. The example sensor 120 may include an accelerometer to measure proper acceleration along various axes, such as static acceleration such as gravity and/or dynamic forces of acceleration such as movement. The example sensor 120 may include a gyroscope to measure orientation via changes in angular momentum, such as changes in orientation and changes in rotational velocity or rotation rate. The example sensor 120 may include a switch that changes state responsive to orientation changes of the user-input device 100, such as a ball switch or a mercury switch. The example sensor 120 may include a combination of any of an accelerometer, a gyroscope and/or a switch and may include, for example, an Inertial Measurement Unit (IMU).
In one example, the example sensor 120 includes a STMicroelectronics LIS3DE or a STMicroelectronics LIS331DLH ultra-low-power 3-axis digital accelerometer, which measure acceleration along three orthogonal axes, permitting orientation and movement in a three-dimensional coordinate system to be determined. An example sensor 120 including an accelerometer registers, at rest, an acceleration vector due to Earth's gravity, providing an indication of an “upward” direction and a “downward” direction and provides, upon initialization of the example user-input device 100 with an example external system 110, orientation information indicating a default or initial orientation of the user-input device 100.
In another example, the example sensor 120 includes a gyroscope (e.g., a micro-electro-mechanical systems (MEMS) gyroscope, etc.) to measure orientation via changes in angular momentum, such as a STMicroelectronics L3GD20H, a low-power, three-axis angular rate sensor, which includes a sensing element and an integrated circuit (IC) interface to output the measured angular rate via a digital interface (Inter Integrated Circuit Communications (I2C)/Serial-Peripheral interface (SPI)). Gyroscopes may provide an indication of changes to an orientation, as opposed to an absolute value for orientation. Thus, an initial position may be known or otherwise set to determine the changes to the orientation. By way of example, an example user-input device 100, such as a keyboard having actuatable keys, would be initially positioned in a default position, such as with, for example, keys facing “upwardly” on a horizontal surface to present the keys to a field of view of a user, for the system to determine an initial orientation. As another example, an example accelerometer is used to provide an indication of direction, such as by using a single axis accelerometer used to denote a direction of the Earth's acceleration and, correspondingly “up” and “down”.
In still another example, the example sensor 120 includes switches that respond to changes in orientation. In one example, the example sensor 120 includes a switch object, such as a mass of mercury or a conductive or a non-conductive ball, moveable under the influence of gravity and functions to activate and/or deactivate a contact responsive to predetermined changes in orientation. For example, an example orientation switch for the example sensor 120 may maintain an open contact in one orientation, such as an “upward” orientation, and may close the contact in another orientation, such as a “downward” orientation, by virtue of the movement of a switch object completing a circuit or, alternatively, breaking a circuit. Any manner of orientation switch may be used, singly or in combination. For example, a plurality of orientation switches could be provided to represent different angular states of the user-input device 100 and/or the same angular states to provide redundant and robust (e.g., failure tolerant) sensing capabilities. In another example, contact switches or pressure switches are provided on the first side of the example user-input device 100 and/or the second side of the example user-input device 100. In such example, contact switches or pressure switches are integrated into a body of the example user-input device 100, such as in a casing of the example user-input device 100 or extensions thereof (e.g., feet of the keyboard, etc.) to register contact of a particular side of the example user-input device 100 with an underlying surface and/or a lack of contact of a particular side of the example user-input device 100 with an underlying surface.
The example orientation analyzer 130 receives the information output by the example sensor 120 and analyzes the information to determine an orientation of the user-input device 100. While represented as a component of example user-input device 100, the orientation analyzer 130 may be integrated with the sensor 120 or may be provided externally to the example user-input device 100, such as being a constituent part of external system 110. In the latter example, the information output by the example sensor 120 is provided to the communication node 140, where it may then be in turn output externally to the orientation analyzer 130, wherever resident. To illustrate, the example orientation analyzer 130 receives acceleration information output by an example accelerometer sensor 120, such acceleration information including environmental vibrations arising from keying or incidental translation of the user-input device during use as well as a gravity vector, and converts the acceleration information into a determination as to an orientation of the example user-input device 100. In an example, the example orientation analyzer 130 institutes a call to the example sensor 120 to determine the device orientation and the example sensor 120 returns to the example orientation analyzer 130 the example user-input device 100 orientation.
The example communication node 140 of the example user-input device 100 and/or the example communication node 170 of the example external system 110 includes a wireless and/or a hardwired communication pathway to enable wireless communication and/or hardwired communication between the example user-input device 100 and the external system 110, which may include, for example, a local computer, a remote computer, a local network, and/or a remote network. The communication nodes 140, 170 include, by way of example and not limitation, a USB port, a USB Type-C port, a USB 3.0 port, a USB 3.1 port, a wireless communication device, a Bluetooth device, a frequency hopping spread spectrum communication device, an adaptive frequency-hopping spread spectrum communication device, a radio frequency communication device, a 2.4 GHz wireless communication device, a Mini DisplayPort, a DisplayPort, a digital visual interface (DVI) port, an High-Definition Multimedia Interface (HDMI) port, a Wireless Display feature (WiDi) port, and/or an Institute of Electrical and Electronics Engineers (IEEE) 1394 “FireWire” port.
The example external system 110 operating system 175, upon receipt of the orientation information from the orientation analyzer 130, applies a driver corresponding to the selected one of the example keyboard 115 or the example display input device 117 to selectively enable an appropriate one of the example keyboard 115 or the example display input device 117 and to disable the other of the example keyboard 115 and the example display input device 117.
The example application graphical user interface (GUI) mapper 150 maps to the example display input device 117 of the user-input device 100 application functions from example application software 180 displayed on the example external system display 185, each of the application functions being represented by a user-selectable object, such as an icon or a soft key. In one example, this mapping is performed for an application 180 residing in a foreground or “top window” of the example operating system 175 or, stated differently, an application 180 that the user of the external system 110 is currently utilizing.
The mapping of the user-selectable objects to the example display input device 117 of the user-input device 100 is may be performed when the example orientation analyzer 130 determines that the example user-input device 100 is oriented to position the example display input device 117 of the example user-input device 100 in an “upward” orientation so as to be within the user's field of view. Alternatively, the example application GUI mapper 150 maps the user-selectable objects of an application 180 residing in a foreground of the example operating system 175 to the example display input device 117 regardless of an orientation of the example user-input device 100 and the example display input device 117. In such example, the example display input device 117 may be powered-down, such as via an app to modify a power options configuration such as a SendMessage Visual Basic command to a window procedure for a power options window of the example operating system 175, to turn off the display and/or to turn off a touch-screen layer in the event the example display input device 117 is in a “downward” orientation.
Mapping of application 180 functions by the application GUI mapper 150, wherever resident, occurs responsive to receipt by the application GUI mapper 150 of application 180 information defining the application functions to be represented as user-selectable objects on the example display input device 117. In an example, the application information is an identifier providing an identity of the foreground application to the application GUI mapper 150, whereupon the application GUI mapper 150 retrieves from a memory a stored (e.g., user-defined, etc.) mapping of user-selectable objects corresponding to the identified foreground application for display on the example display input device 117.
While represented as a component of example user-input device 100 in the example of
The example operating system (OS) 175 includes any system software that manages computer hardware and software resources and provides common services for computer programs and may include, for example, Unix and Unix-type operating systems, Microsoft Windows, macOS, etc.
The application software 180 includes any application software designed to perform a group of coordinated functions, tasks, or activities and includes, but is not limited to, a word processing program, a spreadsheet program, an accounting application, a web browser, a media player, and/or a computer-aided design application. The example user-input device 100 display input device 117 is configurable to support user preferences (e.g., language, Hotkeys, special characters, DVORAK keyboard layout, etc.) as they relate to any application software 180 (e.g., CAD, games, Microsoft applications, web browsers, etc.).
In another example, a configuration of the example display input device 117 second keyboard 230 is independent of the application software.
The example second section 250 displays a plurality of example user-selectable objects 255, each of the example user-selectable objects 255 representing a different application function. In the example shown in
The example user-selectable objects 255 representing application functions, such as those representing drawing or graphic design application functions in the example of
While an example manner of implementing the teachings herein, as set forth by way of example in
When reading any of the apparatus or system claims of this patent to cover a purely software and/or firmware implementation, at least one of the example user-input device 100, example external system 110, example physical keyboard 115, example sensor 120, example orientation analyzer 130, example communication node 140, example application graphical user interface (GUI) mapper 150, example display input device 117, example communication node 170, example operating system 175, example application software 180 and example display 185 illustrated herein are hereby expressly defined to include a tangible computer readable storage device or storage disk such as a solid state memory device, a CD-ROM, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc. storing the software and/or firmware. Further still, the example user-input device 100, example external system 110, example physical keyboard 115, example sensor 120, example orientation analyzer 130, example communication node 140, example application graphical user interface (GUI) mapper 150, example display input device 117, example communication node 170, example operating system 175, example application software 180 and example display 185 of
In example machine readable instructions implementing the apparatus 100 of
As mentioned above, the example processes of
In block 310, an orientation of the example user-input device 100 is determined. By way of example, and with reference to
Responsive to this orientation determination from block 310, the example orientation analyzer 130, in block 315, outputs orientation information relating to the example user-input device 100 to the example external system 110, via the communication node 140. In block 320, responsive to the received orientation information, the example operating system 175 of the example external system 110 activates a “first” input device of the example user-input device 100 via hardware, firmware and/or software (e.g., software stack, plug-and-play (PnP) software and drivers, etc.). In one example, the example operating system 175, communicatively coupled to the example user-input device 100 via the communication nodes 140, 170, configures a respective one of the example first keyboard 115 and the example second keyboard 230 in an “upward” position as the active “first” user-input device (e.g., the example first keyboard 115 of
Block 330 represents a continuing (e.g., continuous, intermittent, periodic, aperiodic, etc.) monitoring of the orientation of the example user-input device 100 by the example orientation analyzer 130 to determine, in block 340, whether a threshold change in orientation of the example user-input device 100 has occurred. In the example user-input device 100 of
If, in block 340, the example orientation analyzer 130 determines that a threshold change in orientation of the example user-input device 100 has not occurred, the example orientation analyzer 130 continues to monitor the orientation of the example user-input device 100. If, in block 340, the example orientation analyzer 130 determines that a threshold change in orientation of the example user-input device 100 has occurred, the example orientation analyzer 130, in block 345, provides orientation information relating to the example user-input device 100 to the example external system 110, via the communication nodes 140, 170. Responsive to this orientation information, the example external system 110, in block 350, then activates a “second” input device of the example user-input device 100 (e.g., the example second keyboard 230 of
Thus, in an example where the first keyboard 115 of
To illustrate, during a user's session on the example external system 110, the user switches away from a first application 180 (e.g., a word processing program) in which the user used the first keyboard 115 and places a second application 180 (e.g., a CAD application) in the foreground of the example external system 110. The user then flips the example user-input device 100 over (e.g., a 180° rotation) so that the display input device 117 (e.g., the second keyboard 230 in
In block 352, the example application graphical user interface (GUI) mapper 150 receives application information from the example external system 110, such as information relating to an application 180 in a foreground of the example external system 110. This application information may be transmitted from the example external system 110 periodically, aperiodically, continuously, or responsive to an event (e.g., responsive to a communicated change in orientation information, etc.).
In block 355, the example application graphical user interface (GUI) mapper 150, responsive to the application information, maps application functions from example application 180 running on the example external system 110 to the example display input device 117 of the user-input device 100, each application function being represented by a user-selectable object, such as an icon or a soft key. In one example, this mapping is performed for an application 180 residing in a foreground or “top window” of the example operating system 175 or, stated differently, an application 180 that the user of the external system 110 is currently utilizing or that has focus. As noted above,
In this new position of the “second” input device (e.g., the example second keyboard 230 of
If, in block 370, the example orientation analyzer 130 determines that a threshold change in orientation of the example user-input device 100 has occurred, the example orientation analyzer 130, in block 375, provides orientation information relating to the example user-input device 100 to the example external system 110, via the communication nodes 140, 170. Responsive to this orientation information, the external system, in block 320, then activates the “first” input device of the example user-input device 100 (e.g., the example first keyboard 115) responsive to the changed orientation of the example user-input device 100. Thus, continuing with the above example, wherein the second keyboard 230 of
The illustrated example of
In accord with an example of the teachings herein, an example user-input device 100 includes a standardized keyboard 115, with standard key actuations on one side, and a display input device 117 on the other side to provide distinct display-based keyboards 230. The display input device 117 enables a user to completely customize a layout of desired user-input functions for applications 180 running on an external system 110. The combination of the standard keyboard 115 and the display input device 117 in the same user-input device enables the user to easily switch between workflows without requiring two separate devices. The user is thus able to configure the example second keyboard 230, and more particularly the example second portion 250 of the example second keyboard 230, to suit their usage and needs. The sensor 120, disclosed herein, enables dynamic reconfiguration of a user-input device 100 the particularly suit the foreground application in use by the user, even as the application in the foreground changes during use. In this manner, the user always has the most appropriate input layout for the active workflow.
In accord with teachings herein, the user-input device 100 having the example second keyboard 230 as a compliment to the first keyboard 115 may further reduce supply chain complexity by providing a product with a single stock keeping unit (SKU) able to be shipped world-wide and to provide a configurable platform supporting any language via software download.
As noted above.
The processor platform 400 of the illustrated example includes a processor 412. The processor 412 of the illustrated example is hardware. For example, the processor 412 can be implemented by integrated circuits, logic circuits, microprocessors or controllers from any desired family or manufacturer.
The processor 412 of the illustrated example includes a local memory 413 (e.g., a cache). The processor 412 of the illustrated example is in communication with a main memory including a volatile memory 414 and a non-volatile memory 416 via a bus 418. The volatile memory 414 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. The non-volatile memory 416 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 414, 416 is controlled by a memory controller.
The processor platform 400 of the illustrated example also includes an interface circuit 420. The interface circuit 420 may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a PCI express interface.
In the illustrated example, input device(s) 422 are connected to the interface circuit 420. The input device(s) 422 permit(s) a user to enter data and commands into the processor 412. The input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.
One or more output devices 424 are also connected to the interface circuit 420 of the illustrated example. The output devices 424 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube display (CRT), a touchscreen, a tactile output device, a printer, speakers, etc.). The interface circuit 420 of the illustrated example, thus, typically includes a graphics driver card, a graphics driver chip or a graphics driver processor.
The interface circuit 420 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 426 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
The processor platform 400 of the illustrated example also includes mass storage devices 428 for storing software and/or data. Examples of such mass storage devices 428 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives.
The coded instructions 432 of
It is to be further noted that, although
In another example, the application GUI mapper 150 may support not only a plurality of application preferences for a single user, but also a plurality of application preferences for a plurality of users who may interact with the same example user-input device 100, such as at a workstation terminal.
Although certain example methods, apparatus and articles of manufacture have been disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims of this patent.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2016/055899 | 10/7/2016 | WO | 00 |