Sensing module, and graphical user interface (GUI) control apparatus and method
09733711 · 2017-08-15
Assignee
Inventors
Cpc classification
G06F3/0202
PHYSICS
G06F3/017
PHYSICS
G06F3/0421
PHYSICS
G06F3/0213
PHYSICS
G06F3/0308
PHYSICS
International classification
G06F3/02
PHYSICS
G06F3/0354
PHYSICS
Abstract
A sensing module, and a Graphical User Interface (GUI) control apparatus and method are provided. The sensing module may be inserted into an input device, for example a keyboard, a mouse, a remote controller, and the like, and may sense a hovering movement of a hand of a user within a sensing area, and thus it is possible to provide an interface to control a wider variety of GUIs, and possible to prevent a display from being covered.
Claims
1. A sensing module configured to sense a hovering movement of a hand of a user within a sensing area disposed in a side of an input device, the sensing module comprising: mechanical keys; a light emitter configured to emit light; a light sensor configured to sense reflected light, and configured to collect movement information regarding the hovering movement of the hand; wherein a top side of the light emitter is disposed higher than a top side of the light sensor, in order to prevent the light sensor from directly sensing light emitted by the light emitter, wherein the reflected light is generated when the emitted light is reflected from the hand, and wherein the light emitter and the light sensor are disposed in a gap between mechanical keys.
2. The sensing module of claim 1, further comprising: an additional light emitter, wherein the light emitters are inserted in predetermined locations in the side of the input device, and an additional light sensor, wherein the light sensors are inserted in the predetermined locations.
3. The sensing module of claim 1, further comprising: an additional light sensor, wherein the light sensors are inserted in predetermined locations in the side of the input device, wherein the light emitter is configured to emit the light based on a Diffused Surface Illumination (DSI) scheme, and is inserted in the form of a wedge into the input device.
4. The sensing module of claim 1, wherein the light emitter is configured to emit the light based on a DSI scheme, and is inserted in the form of a wedge into the input device, and wherein the light sensor is inserted in the form of a wedge into the input device.
5. The sensing module of claim 1, further comprising: rubber domes, wherein each rubber dome is attached to a mechanical key.
6. The sensing module of claim 1, further comprising: a first optical fiber configured to totally reflect the emitted light so that the emitted light travels outward from the side of the input device, wherein the first optical fiber has a first side connected to the light emitter and a second side exposed outside the input device; and a second optical fiber configured to reflect the reflected light to the light sensor, wherein the second optical fiber has a first side connected to the light sensor and a second side exposed outside the input device.
7. The sensing module of claim 6, further comprising: an additional first optical fiber, wherein the first optical fibers are exposed outside the input device in predetermined locations in the side of the input device, and an additional second optical fiber, wherein the second optical fibers are exposed outside the input device in the predetermined locations.
8. An apparatus for controlling a Graphical User Interface (GUI), the apparatus comprising: a receiver configured to receive, from an input device, movement information regarding a hovering movement of a hand of a user within a sensing area disposed in a side of the input device; a generator configured to generate GUI control information based on the movement information; and a controller configured to control a GUI based on the GUI control information, wherein the movement information is collected by using a light emitter and a light sensor disposed in a gap between mechanical keys on the input device, and wherein a to side of the light emitter is disposed higher than a top side of the light sensor, in order to prevent the light sensor from directly sensing light emitted by the light emitter.
9. The apparatus of claim 8, wherein the input device comprises: the light emitter configured to emit light, and the light sensor configured to sense reflected light, and configured to collect the movement information; and wherein the reflected light is generated when the emitted light is reflected from the hand.
10. The apparatus of claim 8, wherein the movement information comprises at least one of: information regarding a position of the hand, a size of the hand, a rotation of the hand, and a movement speed of the hand.
11. The apparatus of claim 8, wherein the input device further comprises rubber domes; and wherein each rubber dome is attached to a mechanical key.
12. The apparatus of claim 8, wherein the receiver is further configured to receive, from the input device, input information inputted to the input device by the user, and wherein the generator is configured to generate the GUI control information, based on the input information and the movement information.
13. The apparatus of claim 12, wherein the input device comprises at least one of: a keyboard and a mouse, and wherein the input information comprises at least one of: information on keys on the keyboard entered by the user, information on buttons on the mouse entered by the user, information on a position of the mouse, and information on a wheel value of the mouse.
14. A method of controlling a Graphical User Interface (GUI) of a GUI control apparatus, the method comprising: sensing at least one of position of a user's hand and direction of a user's hand, by using a light emitter and a light sensor disposed in a gap between mechanical keys on an input device; controlling at least one of position of a camera, rotation of a camera, position of an object, and rotation of an object, based on the sensed position and direction of a single hand; and switching scenes, moving the object, or scrolling 3D images when at least one of the following is detected: slap left, slap right, slap up, slap down, push, and pull, wherein a to side of the light emitter is disposed higher than a top side of the light sensor, in order to prevent the light sensor from directly sensing light emitted by the light emitter.
15. The method of claim 14, the method further comprising: displaying the GUI on a screen of the GUI control apparatus when a keyboard and/or a mouse detects approaching of user's hand to a predetermined distance from the keyboard and/or the mouse.
16. The method of claim 14, the method further comprising: displaying at least one object starting with a letter when detecting approaching to a corresponding letter of a keyboard by the user's hand.
17. A method of controlling a Graphical User Interface (GUI), the method comprising: receiving, from an input device, movement information regarding a hovering movement of a hand of a user within a sensing area disposed in a side of the input device; generating GUI control information based on the movement information; and controlling a GUI based on the GUI control information, wherein the movement information is collected by using a light emitter and a light sensor disposed in a gap between mechanical keys on the input device, wherein a to side of the light emitter is disposed higher than a top side of the light sensor, in order to prevent the light sensor from directly sensing light emitted by the light emitter.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) These and/or other aspects and advantages will become apparent and more readily appreciated from the following description of the example embodiments, taken in conjunction with the accompanying drawings of which:
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION
(8) Reference will now be made in detail to example embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. Example embodiments are described below to explain the present disclosure by referring to the figures.
(9)
(10) Referring to
(11) For example, the sensing module may be located in a point 110 of the hovering keyboard 100. A plurality of points may be included in the hovering keyboard 100.
(12) Accordingly, a user of the hovering keyboard 100 may input an input signal by manually operating keys on the hovering keyboard 100, or by moving or rotating the hand of the user within the sensing area above the hovering keyboard 100.
(13)
(14) Referring to
(15) For example, the sensing module may be located in a point 210 of the hovering mouse 200. A plurality of points may be included in the hovering mouse 200.
(16) Accordingly, a user of the hovering mouse 200 may input an input signal by manually operating buttons on the hovering mouse 200, or by moving or rotating the hand of the user within the sensing area on the hovering mouse 200.
(17)
(18) Referring to
(19) The sensing module of
(20) The input device may include at least one of the hovering keyboard 100 of
(21) The light emitter 310 may emit light.
(22) The light sensor 320 may sense reflected light. The reflected light may be generated when the emitted light is reflected from the hand moving within the sensing area. Additionally, the light sensor 320 may collect movement information regarding the hovering movement of the hand, based on the sensed reflected light.
(23) The sensing area in the side of the input device may be space with a predetermined size, to sense movements of body parts of the user, for example the hands of the user, and movements of tools within the sensing area. Depending on embodiments, a sensing area may be located in a plurality of sides of the input device. Additionally, a plurality of sensing areas may be set in the plurality of sides of the input device, respectively.
(24) For example, the light sensor 320 may collect, from information on the sensed reflected light, information regarding a position of the hand, a size of the hand, a rotation of the hand, a hovering movement of the hand, a movement speed of the hand, and the like.
(25) The sensing module of
(26) A first side of the first optical fiber 311 may be connected to the light emitter 310, and a second side of the first optical fiber 311 may be exposed outside the input device. The first optical fiber 311 may totally reflect the light emitted from the light emitter 310, so that the emitted light may travel outward from the side of the input device. In other words, the light may be emitted from the light emitter 310 to the side of the input device through the first optical fiber 311.
(27) Depending on embodiments, a plurality of first optical fibers 311 may be included, and may be exposed outside the input device in a plurality of positions that are set in advance in the side of the input device.
(28) A first side of the second optical fiber 321 may be connected to the light sensor 320, and a second side of the second optical fiber 321 may be exposed outside the input device. The second optical fiber 321 may totally reflect, to the light sensor 320, reflected light generated when the light emitted through the first optical fiber 311 exposed outside the input device is reflected from the hand within the sensing area.
(29) Depending on embodiments, a plurality of second optical fibers 321 may be included, and may be exposed outside the input device in a plurality of positions that are set in advance in the side of the input device.
(30) For example, when a keyboard is used as an input device, the first optical fiber 311 and the second optical fiber 321 may be exposed outside the keyboard at a point located in a gap between a key 301 and a neighboring key.
(31) Accordingly, in an input device including a sensing module configured as shown in
(32) Referring to
(33) The near-field light sensors 420 may be an example of the light sensor 320 of
(34) The plurality of light emitters 410 may be included in an input device, and may be inserted in a plurality of positions that are set in advance in a side of the input device.
(35) The plurality of near-field light sensors 420 may be included in the input device, and may be inserted in the plurality of positions.
(36) For example, when a keyboard is used as an input device, the plurality of light emitters 410 and the plurality of near-field light sensors 420 may be exposed outside the keyboard at a plurality of points that are located in a gap between a key 401 and a neighboring key.
(37) Accordingly, in an input device including a sensing module configured as shown in
(38) Referring to
(39) The wedge-shaped light emitter 510 may be inserted into an input device. Additionally, the wedge-shaped light emitter 510 may emit light based on a Diffused Surface Illumination (DSI) scheme.
(40) For example, when a keyboard is used as an input device, the wedge-shaped light emitter 510 may be inserted between rows of a key 501, and may emit light.
(41) In this instance, the plurality of near-field light sensors 520 may be inserted in a plurality of positions that are set in advance in a side of the input device.
(42) Accordingly, in an input device including a sensing module configured as shown in
(43) Referring to
(44) The wedge-shaped light emitter 610 may be inserted into an input device. Additionally, the wedge-shaped light emitter 610 may emit light based on a DSI scheme.
(45) The wedge-shaped light sensor 620 may also be inserted into the input device.
(46) For example, when a keyboard is used as an input device, the wedge-shaped light emitter 610 and the wedge-shaped light sensor 620 may be inserted between rows of a key 601, and the wedge-shaped light emitter 610 may emit light.
(47) As described above with reference to
(48) For example, when a user inputs an input signal by moving a hand of the user within a sensing area of an input device, a sensing module may sense a hovering movement of the hand, and may transmit information on the hovering movement to a GUI control apparatus, so that the GUI control apparatus may control a GUI.
(49) Hereinafter, a GUI control apparatus will be further described.
(50)
(51) Referring to
(52) An input device 701 including a sensing module may sense a hovering movement of a hand of a user within a sensing area. Additionally, the input device 701 may transmit, to the GUI control apparatus 700, movement information regarding the sensed hovering movement. The sensing area may be located in a side of the input device 701.
(53) More specifically, the input device 701 may include a light emitter (not shown), and a light sensor (not shown). The light emitter may emit light. The light sensor may sense reflected light generated when the emitted light is reflected from the hand within the sensing area, and may collect the movement information.
(54) The receiver 710 may receive the movement information from the input device 701.
(55) The movement information may include at least one of information regarding a position of the hand, a size of the hand, a rotation of the hand, and a movement speed of the hand.
(56) For example, the movement information may include three-dimensional (3D) coordinates (x, y, z) representing the position of the hand within the sensing area shown in
(57) The generator 720 may generate GUI control information based on the movement information.
(58) The generator 720 may generate GUI control information, based on a table in which types of movement of the hand are matched to meaningful control signals.
(59) For example, when a hand of a user moves 5 cm in an x-axis direction, an action of moving an object in the same direction as the hand moves, and the like may be included in the table.
(60) The controller 730 may control a GUI 702, based on the GUI control information.
(61) According to an aspect, a user may input an input signal by moving a hand of the user within a sensing area, or by operating keys or buttons of the input device 701.
(62) In this instance, the input device 701 may transmit, to the GUI control apparatus 700, input information, as well as the movement information. The input information may be inputted to the input device 701 by the user operating the keys or buttons of the input device 701.
(63) The receiver 710 may further receive the input information from the input device 701.
(64) For example, when a keyboard or a mouse is used as the input device 701, input information may include at least one of information on keys on the keyboard entered by the user, information on buttons on the mouse entered by the user, information on a position of the mouse, and information on a wheel value of the mouse.
(65) Additionally, the generator 720 may generate GUI control information, based on the input information, as well as the movement information.
(66) Hereinafter, examples in which a user inputs an input signal to control a GUI using an input device including a sensing module will be described in detail with reference to
(67)
(68) Referring to
(69) The GUI control apparatus may receive, from the keyboard 810, movement information regarding a hovering movement of the hand 820 sensed by the sensing module. Additionally, the GUI control apparatus 700 may generate GUI control information based on the received movement information, and may control the GUI based on the generated GUI control information.
(70) In this instance, the movement information may include coordinates (x, y, z, rx, ry, rz) representing information on a position and rotation of the hand 820 within the sensing area above the keyboard 810.
(71) Referring to
(72) The GUI control apparatus may receive, from the mouse 910, movement information regarding a hovering movement of the hand 920 sensed by the sensing module. Additionally, the GUI control apparatus may generate GUI control information based on the received movement information, and may control the GUI based on the generated GUI control information.
(73) In this instance, the movement information may include coordinates (x, y, z, rx, ry, rz) representing information on a position and rotation of the hand 920 within the sensing area above the mouse 910.
(74) Referring to
(75) The GUI control apparatus may receive, from the keyboard 1010, movement information regarding hovering movements of the left hand 1020 and the right hand 1030 sensed by the sensing module. Additionally, the GUI control apparatus may generate GUI control information based on the received movement information, and may control the GUI based on the generated GUI control information.
(76) In this instance, the movement information may include coordinates (x, y, z, rx, ry, rz) representing information on a position and rotation of the left hand 1020, and coordinates (x, y, z, rx, ry, rz) representing information on a position and rotation of the right hand 1030.
(77) Referring to
(78) The GUI control apparatus may receive, from the keyboard 1110 and the mouse 1120, movement information regarding a hovering movement of the left hand 1130 above the keyboard 1110 and regarding a hovering movement of the right hand 1140 above the mouse 1120. The hovering movements may be sensed by the sensing modules. Additionally, the GUI control apparatus may generate GUI control information based on the received movement information, and may control the GUI based on the generated GUI control information.
(79) In this instance, the movement information may include coordinates (x, y, z, rx, ry, rz) representing information on a position and rotation of the left hand 1130 above the keyboard 1110, and coordinates (x, y, z, rx, ry, rz) representing information on a position and rotation of the right hand 1140 above the mouse 1120.
(80) Referring to
(81) The GUI control apparatus may receive, from the keyboard 1210, movement information and input information. The movement information may be associated with a hovering movement of the right hand 1230 above the keyboard 1210, and the input information may be associated with the input signal inputted by operating the keys on the keyboard 1210 with the left hand 1220. The hovering movement may be sensed by the sensing module of the keyboard 1210. Additionally, the GUI control apparatus may generate GUI control information based on the received movement information and the received input information, and may control the GUI based on the generated GUI control information.
(82) In this instance, the movement information may include coordinates (x, y, z, rx, ry, rz) representing information on a position and rotation of the right hand 1230 above the keyboard 1210. Additionally, the input signal may include information regarding a key-scan code of the keys on the keyboard 1210 operated with the left hand 1220.
(83) Referring to
(84) The GUI control apparatus may receive movement information from the mouse 1320, and may receive input information from the keyboard 1310. The movement information may be associated with a hovering movement of the right hand 1340 above the mouse 1320, and the input information may be associated with the input signal inputted by operating the keys on the keyboard 1310 with the left hand 1330. The hovering movement may be sensed by the sensing module of the mouse 1320. Additionally, the GUI control apparatus may generate GUI control information based on the received movement information and the received input information, and may control the GUI based on the generated GUI control information.
(85) In this instance, the movement information may include coordinates (x, y, z, rx, ry, rz) representing information on a position and rotation of the right hand 1340 above the mouse 1320. Additionally, the input signal may include information regarding a key-scan code of the keys on the keyboard 1310 operated with the left hand 1330.
(86) Referring to
(87) To input the input signal, the user may operate buttons on the mouse 1420 or a wheel on the mouse 1420, or may move the mouse 1420.
(88) The GUI control apparatus may receive movement information from the keyboard 1410, and may receive input information from the mouse 1420. The movement information may be associated with a hovering movement of the left hand 1430 above the keyboard 1410, and the input information may be associated with the input signal inputted by operating the mouse 1420 with the right hand 1440. The hovering movement may be sensed by the sensing module of the keyboard 1410. Additionally, the GUI control apparatus may generate GUI control information based on the received movement information and the received input information, and may control the GUI based on the generated GUI control information.
(89) In this instance, the movement information may include coordinates (x, y, z, rx, ry, rz) representing information on a position and rotation of the left hand 1430 above the keyboard 1410. Additionally, the input signal may include information regarding coordinates (x, y) representing a position of the mouse 1420 operated with the right hand 1440, a wheel value ‘w’ of the mouse 1420, and a key-scan code of the buttons on the mouse 1420.
(90) Referring to
(91) The GUI control apparatus may receive movement information or input information from the remote controller 1510. The movement information may be associated with a hovering movement of the hand 1520 above the remote controller 1510, and the input information may be associated with the input signal inputted by operating the keys on the remote controller 1510. The hovering movement may be sensed by the sensing module of the remote controller 1510. Additionally, the GUI control apparatus may generate GUI control information based on the received movement information or the received input information, and may control the GUI based on the generated GUI control information.
(92) In this instance, the movement information may include coordinates (x, y, z, rx, ry, rz) representing information on a position and rotation of the hand 1520 above the remote controller 1510. Additionally, the input signal may include information regarding a key-scan code of the keys on the remote controller 1510 operated by the user.
(93) Table 1 shows examples of controlling a GUI based on sensing data including movement information and input information, when a user inputs a GUI control signal using at least one of a keyboard and a mouse, as described above with reference to
(94) TABLE-US-00001 TABLE 1 Interaction method Sensing data GUI One hand 3D Hand 1) Controls position and rotation of camera hovering for information based on position and direction of single keyboard (x, y, z, hand rx, ry, rz) 2) Controls position and rotation of object One hand 3D Hand based on position and direction of single hovering information hand for mouse (x, y, z, 3) Available to switch scenes, move object rx, ry, rz) bundle, and perform 3D scrolling, when slap left/right/up/down/push/pull are recognized as gestures 4) UI appears (displays) when approaching keyboard or mouse 5) UI context is changed when hand approaches corresponding position for each block of keyboard Two hands Left hand 1) Controls position and rotation of camera 3D hovering information based on positions and directions of both for (x, y, z, hands keyboard rx, ry, rz) 2) Controls position and rotation of object Right hand based on positions and directions of both information hands (x, y, z, 3) Available to switch scenes, move object rx, ry, rz) bundle, and perform 3D scrolling, when One hand 3D Hand slap left/right/up/down/push/pull hovering for information are recognized as gestures mouse & (x, y, z, 4) UI appears when approaching One hand 3D rx, ry, rz) keyboard or mouse hovering over 5) UI context is changed when hand keyboard approaches corresponding position for each block or keyboard One hand Key 1) Designates target group using keys, and keying & scan code manipulates object by hovering One hand 3D Hand 2) Designates margin of screen using keys, hovering for information and manipulates camera by hovering keyboard (x, y, z, 3) Available to switch scenes, move object rx, ry, rz) bundle, and perform 3D scrolling, when One hand Key slap left/right/up/down/push/pull are keying & scan code recognized as gestures One hand 3D Hand For example, when ‘a’ is pressed using a hovering information keyboard, objects starting with the letter ‘a’ for mouse (x, y, z, may appear, and browsing may be rx, ry, rz) performed by hovering One hand Mouse 1) Designates object group using mouse, mousing position and manipulates object by hovering for mouse & (x, y) 2) Designates margin of screen using One hand 3D Wheel mouse, and manipulates camera by hovering for value (w) hovering keyboard Left, center, 3) Available to switch scenes, move object and right click bundle, and perform 3D scrolling, when Continuous slap left/right/up/down/push/pull are position (x, y) recognized as gestures Hand For example, an object bundle in space information may be designed using mouse, and objects (x, y, z, in the object bundle may be browsed rx, ry, rz) by hovering.
(95)
(96) Referring to
(97) The movement information may include at least one of information regarding a position of the hand, a size of the hand, a rotation of the hand, and a movement speed of the hand.
(98) For example, the movement information may include 3D coordinates (x, y, z) representing the position of the hand within the sensing area, coordinates (rx, ry, rz) representing the rotation of the hand, and the like.
(99) In operation 1620, GUI control information may be generated based on the movement information.
(100) The GUI control information may be generated, based on a table in which types of movement of the hand are matched to meaningful control signals.
(101) For example, when a hand of a user moves 5 cm in an x-axis direction, an action of moving an object in the same direction as the hand moves, and the like may be included in the table.
(102) In operation 1630, a GUI may be controlled based on the GUI control information.
(103) According to an aspect, a user may input an input signal by moving a hand of the user within a sensing area, or by operating keys or buttons on an input device.
(104) In this instance, the input device may transmit, to a GUI control apparatus, input information inputted by the user operating the keys or buttons on the input device, in addition to the movement information.
(105) Accordingly, in the GUI control method, the input information inputted to the input device by the user may be further received.
(106) For example, when a keyboard or a mouse is used as an input device, input information may include at least one of information on keys on the keyboard entered by the user, information on buttons on the mouse entered by the user, information on a position of the mouse, and information on a wheel value of the mouse.
(107) Additionally, GUI control information may be generated based on the input information, as well as the movement information.
(108) The above-described example embodiments may be recorded in non-transitory computer-readable media including program instructions to implement various operations embodied by a computer. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the example embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of non-transitory computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVDs; magneto-optical media such as optical discs; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations of the above-described example embodiments, or vice versa.
(109) Although example embodiments have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these example embodiments without departing from the principles and spirit of the disclosure, the scope of which is defined in the claims and their equivalents.