WO2012046295A1 - 情報処理装置及び入力装置の表示方法 - Google Patents
情報処理装置及び入力装置の表示方法 Download PDFInfo
- Publication number
- WO2012046295A1 WO2012046295A1 PCT/JP2010/067419 JP2010067419W WO2012046295A1 WO 2012046295 A1 WO2012046295 A1 WO 2012046295A1 JP 2010067419 W JP2010067419 W JP 2010067419W WO 2012046295 A1 WO2012046295 A1 WO 2012046295A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- keyboard
- software keyboard
- input
- image
- software
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
Definitions
- the present invention relates to an information processing apparatus and an input device display method.
- a keyboard is used to input data to the computer.
- computers that do not implement a hardware keyboard.
- a tablet computer is known as a computer that does not include a hardware keyboard.
- a digital signage device, an electronic white board device, and the like are known as electronic devices equipped with a computer not mounted with a hardware keyboard.
- a computer that does not have a hardware keyboard has a software keyboard.
- a software keyboard is displayed on the screen, a user who sees the software keyboard taps or touches the displayed key image with a finger, a stylus, or the like (hereinafter referred to as contact). This contact is processed as an input to the key present at the touched location. Thereby, pseudo keyboard input is enabled.
- the keyboard layout of a software keyboard is assigned to a part of the pressure detection panel, and only the marker indicating the home position (reference position) of the software keyboard is normally displayed on the screen, and characters are input from the software keyboard. It has been proposed to execute an input operation to an information screen displayed on a screen without using an input device such as a mouse or a hardware keyboard by executing a character input process to a column or the like.
- information representing the currently selected menu item among a plurality of selectable menu items is always displayed at a fixed position, and this information is, for example, an icon prepared for each menu item. It has been proposed that the display position of information representing the currently selected menu item is, for example, the upper left corner of the screen.
- a means for enlarging the selected input item at the position of the specified empty space or the position of the irrelevant input item to be specified, and an item to be input to the input item of the enlarged display It has been proposed to include means for erasing an enlarged display input item and setting the item value as an input value for a selected input item when the value is confirmed.
- a screen definition information setting function unit for setting information defining whether data input is essential or can be omitted;
- the screen definition data table for storing the setting result and the data input field in which data input can be omitted on the data input screen according to the stored contents of the screen definition data table at the start and / or during the display of the data input screen
- a screen display state change function unit that selectively displays either a state of prohibiting data input or a state of allowing data input, and selecting with an “abbreviated input” button has been proposed.
- the size of the keyboard initially displayed on the screen is fixed.
- the size of the user's finger is different.
- the software keyboard is not an easy-to-input device for all users.
- an operation for correcting the size of the initially displayed software keyboard is required. Such an operation is troublesome for each user.
- An object of the present invention is to provide an information processing apparatus that displays an input device having a key pitch according to an individual user.
- the disclosed information processing apparatus includes a display unit that displays an image, a position detection unit that detects a plurality of contact positions on the display unit, and a plurality of software keyboards that have a plurality of input keys based on the plurality of contact positions.
- a keyboard control unit that determines the key pitch of the input keys, and a keyboard generation unit that generates an image of the software keyboard based on the key pitch and displays the image on the display unit.
- the disclosed information processing apparatus it is possible to initially display a software keyboard having a key pitch according to the arrangement of fingers of individual users.
- the present inventor examined a software keyboard displayed on a touch panel in a computer not mounting a hardware keyboard.
- the software keyboard is initially displayed when the user touches the screen with a finger.
- the size of the software keyboard that is initially displayed is determined by the number of pixels using the pixels of the touch panel as a unit of size. The number of pixels is fixed. The physical size of one pixel depends on an individual computer and takes various values.
- the software keyboard 101 when the software keyboard 101 is displayed on the touch panel 100A having a small pixel size, the software keyboard 101 is too small for the user. In this case, the user interferes with the input. However, when the same software keyboard 101 is displayed on the touch panel 100B having a large pixel size, as shown in FIG. 10B, the software keyboard 101 has a size suitable for the user. In this case, the user can execute input without any trouble. As described above, even if the software keyboard 101 is the same, the software keyboard 101 having a size suitable for the user is not always displayed depending on the computer.
- the display processing unit of the software keyboard 101 can acquire the screen resolution from the system information.
- the display processing unit of the software keyboard 101 cannot obtain the size of one pixel, in other words, the pixel pitch. This is because the size of one pixel is information indicating the performance of the display unit 10 as hardware.
- the display processing unit of the software keyboard 101 cannot acquire the size of one pixel, and the physical size of one pixel depends on each computer. For this reason, a fixed size cannot be used as data specifying the size of the software keyboard 101. In other words, considering that the general key pitch of the hardware keyboard is 16 to 19 mm (millimeters), the display processing unit of the software keyboard 101 indicates that the software keyboard 101 is “displayed with a key pitch of 19 mm”. It cannot be specified.
- the disclosed information processing apparatus and input device display method can initially display a software keyboard having a key pitch according to the arrangement of fingers of individual users.
- FIG. 1 is a diagram illustrating an example of the configuration of an information processing apparatus.
- the information processing apparatus is a computer on which a hardware keyboard is not mounted, for example, a tablet computer.
- the tablet computer is, for example, a notebook personal computer that does not have a hardware keyboard.
- the information processing apparatus may be an electronic device equipped with a computer not equipped with a hardware keyboard, such as a digital signage device or an electronic white board device.
- the information processing apparatus includes an input display processing unit 1 and a display unit 10.
- the input display processing unit 1 is housed inside the housing of the information processing device, and the display unit 10 is provided on one side surface of the housing of the information processing device.
- the input display processing unit 1 includes an image generation unit 2, an input control unit 3, a keyboard control unit 4, a keyboard data storage unit 5, an event timer 6, an initial display timer 7, a keyboard flag 8, and an editing state flag 9.
- the image generation unit 2 includes a keyboard generation unit 21.
- the input control unit 3 includes a position detection unit 31.
- the keyboard control unit 4 includes a keyboard division determination unit 41 and a layout determination unit 42.
- the display unit 10 displays a software keyboard 11.
- the display unit 10 is a display device that displays an image, in other words, an output device.
- the display unit 10 includes, for example, a so-called touch panel.
- the display unit 10 includes, for example, a liquid crystal display unit and a touch panel that is a contact detection unit provided thereon.
- the software keyboard 11 is displayed on the liquid crystal display unit.
- the touch panel detects contact with the touch panel as, for example, a pressure signal or an electric signal, and sends the detection result to the input control unit 3. In other words, this detection result is input to the input control unit 3 as event information from the software keyboard 11 which is an input device.
- the software keyboard 11 when the software keyboard 11 is displayed on the screen as the display unit 10, the user can input to the key by touching the key of the software keyboard 11.
- the user actually touches the touch panel at a position corresponding to the key of the software keyboard 11.
- the display unit 10 is an input device that enables input by touching the display unit 10 using a finger or the like when the software keyboard 11 is displayed.
- the software keyboard 11 is a virtual input device that has no entity as a keyboard and is realized by the display unit 10 and the image of the software keyboard 11 displayed on the display unit 10.
- the software keyboard 11 functions as an input device when it is displayed on the display unit 10.
- the display unit 10 on which the software keyboard 11 is displayed functions as an input / output device.
- the CPU, ROM, RAM, input / output device, and hard disk are connected to each other via a bus.
- the CPU controls the information processing apparatus according to the control program stored in the ROM.
- the CPU executes an input display program on a RAM which is a main memory.
- the input display processing unit 1 specifically, the image generation unit 2, the input control unit 3, and the keyboard control unit 4 are realized.
- the keyboard data storage unit 5, the event timer 6, the initial display timer 7, the keyboard flag 8, and the editing state flag 9 are provided in, for example, a RAM by an input display program.
- the input display program is stored in a recording medium such as a CD-ROM or DVD, input from the recording medium to the hard disk, and loaded from the hard disk to the RAM.
- the input / output device includes the display unit 10 and the software keyboard 11 displayed on the screen of the display unit 10 as described above.
- the display unit 10 includes a liquid crystal display unit and a touch panel that is a contact detection unit.
- the software keyboard 11 is a virtual input device displayed on the display unit 10 by the keyboard generation unit 21 of the image generation unit 2.
- FIG. 2 is a diagram showing an example of the software keyboard, which is not divided, in other words, shows one software keyboard 11.
- the plurality of keys of the software keyboard 11 are regularly arranged in a predetermined arrangement and shape like the hardware keyboard. Data for generating an image of the software keyboard 11 is stored in the keyboard data storage 5 except for the key pitch, as will be described later.
- the position of the user's index finger is the home position HP of the software keyboard 11, for example.
- the position of the home position HP is variable and is determined according to the position of the finger touched by the user.
- the key pitch P is determined by the layout determining unit 42.
- the key pitch P is a unit for repeating the arrangement of keys, and is the sum of an interval D between keys and a key size K.
- the key pitch P is variable and is determined according to the position of the finger touched by the user. Since the ratio between the interval D between keys and the key size K is constant, if the key pitch P is determined, the key size K is also determined. Since the key pitch P is variable, the interval D and the key size K are also variable, and are determined according to the position of the finger touched by the user.
- the layout determining unit 42 may determine the key size K and the interval D.
- the angle A of the software keyboard 11 is determined by the layout determining unit 42.
- the row HL of the home position HP and the bottom row LL are parallel.
- the bottom row LL of the software keyboard 11 intersects the line segment BS ′ parallel to the side (lower side) BS of the display unit 10 at an angle A.
- the angle A is an angle between the row HL of the home position HP and the side BS of the display unit 10.
- the angle A is variable and is determined according to the position of the finger touched by the user.
- the side BS of the display unit 10 is the horizontal direction of the display unit 10 and is the X axis.
- the distance between the side BS of the display unit 10 and the line segment BS ' is variable and is determined according to the position of the finger touched by the user. In other words, the distance between the side BS of the display unit 10 and the line segment BS ′ is determined based on the position of the home position HP, the key pitch P, and the angle A.
- FIG. 3 is a diagram showing another example of the software keyboard, and shows two divided software keyboards 11A and 11B.
- the software keyboards 11A and 11B in FIG. 3 are combined to operate as an input device equivalent to the one software keyboard 11 shown in FIG.
- the position of the index finger of the user's right hand is the home position HP of the software keyboard 11B.
- the key pitch P and the angle A of the software keyboard 11 are determined by the layout determining unit 42 as described above.
- the key pitch P and the angle A are variable and are determined according to the position of the finger touched by the user. Since the key pitch P is variable, the interval D and the key size K are also variable, and are determined according to the position of the finger touched by the user.
- the home position HP of the software keyboard 11A, the key pitch P, and the angle A of the software keyboard 11A are determined. Accordingly, the distance from the side BS of the display unit 10 of the home position HP (the value of the Y coordinate), the key pitch P, and the angle A may be different between the software keyboard 11A and the software keyboard 11B. In this case, the average values of the distance from the side BS of the display unit 10 of the home position HP, the key pitch P, and the angle A for the software keyboard 11A and the software keyboard 11B are used.
- a key that exists at the boundary between the two and straddles both, for example, a space key, is divided into two.
- the software keyboard 11A and the software keyboard 11B different distances from the side BS of the display unit 10 at the home position HP, the key pitch P, and the angle A may be used. In this case, the software keyboard 11A and the software keyboard 11B have different shapes.
- the distance S between the two software keyboards 11A and 11B is also variable and is determined according to the position of the finger touched by the user.
- the horizontal direction of the display unit 10 is the X axis, and the vertical direction is the Y axis.
- the origin of the display unit 10 is assumed to be the lower left vertex. Accordingly, the origin of the image of the software keyboard 11 that is rectangular is also assumed to be the lower left vertex.
- the position of the user's finger relative to the software keyboard 11 represents an approximate position.
- the position of the user's finger with respect to the software keyboards 11A and 11B represents an approximate position.
- the software keyboard 11 suitable for individual user input can be initially displayed for all the distances.
- the software keyboard 11 suitable for the said user's input can be initially displayed each time without a prior adjustment and setting.
- the software keyboard 11 can be displayed at a position where the user touches the finger without requiring a marker when the software keyboard 11 is displayed.
- the image generation unit 2 generates various images to be displayed on the display unit 10.
- the image generation unit 2 generates a screen including a plurality of input fields such as “sex” shown in FIGS. 2 and 3, in other words, an input screen and displays it on the display unit 10.
- a state in which the input screen is displayed on the display unit 10 is referred to as an “editing state”.
- the edit state is a state in which an input to any one of a plurality of input fields on the input screen is accepted.
- the keyboard generation unit 21 generates an image of the software keyboard 11 among various images displayed on the display unit 10, and displays the generated image of the software keyboard 11 on the display unit 10.
- the image of the software keyboard 11 is generated based on the presence / absence of division of the software keyboard 11 and the key pitch P determined by the layout determination unit 42 of the keyboard control unit 4.
- a software keyboard 11 is used for input into the input field. Therefore, the image of the software keyboard 11 is generated when the display unit 10 is in the editing state.
- the image of the software keyboard 11, in other words, the data for generating the image of the software keyboard 11 is stored in the keyboard data storage unit 5.
- the key pitch P is determined by the layout determining unit 42, and the interval D between keys and the key size K also change accordingly.
- data for generating an image of the software keyboard 11 is determined by using a relative value representing a relative positional relationship, and is a length that is a physical quantity and a pixel value in the display unit 10. It is not determined by using the number or the coordinate value on the display unit 10.
- the position of the key of the software keyboard 11 is expressed using the relative position with respect to the origin of the image of the software keyboard 11.
- the position of the key of the software keyboard 11 is determined using the ratio of the distance from the origin of the image of the software keyboard 11.
- the keyboard data storage unit 5 stores both data for generating the image of the software keyboard 11 that is not divided in FIG. 2 and data for generating the images of the divided software keyboards 11A and 11B in FIG. To do.
- the origin of the image of the software keyboard 11 is, for example, the lower left vertex.
- the origin of the image of the software keyboard 11A is, for example, the lower right vertex
- the origin of the image of the software keyboard 11B is, for example, the lower left vertex.
- the image generation unit 2 combines the generated various images and displays them on the display unit 10. Specifically, as illustrated in FIGS. 2 and 3, the image generation unit 2 displays the software keyboard 11 so as to overlap the input screen. As a result, the user can continue the input while confirming the result of the input in the “sex” input field, for example, in the “sex” input field.
- An input screen including a plurality of input fields may be scrolled vertically or horizontally so that an uninputted input field does not overlap the software keyboard 11.
- the input control unit 3 detects an input to the display unit 10 due to the contact.
- the position detection unit 31 detects a contact position on the display unit 10 based on event information input from the display unit 10. Specifically, the position detection unit 31 detects which position is touched on the touch panel of the display unit 10. Thereby, whenever a user contacts the display part 10, the position is detected about each of the some contact to the display part 10.
- FIG. Each contact position is represented by, for example, an X coordinate and a Y coordinate in the display unit 10 shown in FIGS.
- the position detection unit 31 sends the detected plurality of contact positions to the keyboard control unit 4.
- the keyboard control unit 4 determines whether or not the software keyboard 11 is divided in the display unit 10 and the key pitch P based on the plurality of contact positions detected by the position detection unit 31.
- the keyboard control unit 4 sends the determined presence / absence of the division of the software keyboard 11 and the key pitch P to the image generation unit 2.
- the keyboard division determination unit 41 counts the number of contact positions within a predetermined time when the display unit 10 is in the editing state. In other words, the keyboard division determination unit 41 obtains the number of user fingers that have touched the display unit 10. For this purpose, the keyboard division determination unit 41 refers to the editing state flag 9 and refers to the initial display timer 7.
- the editing state flag 9 stores a flag indicating whether the display unit 10 is in an editing state, in other words, whether an input screen is displayed on the display unit 10.
- the edit state flag 9 is in an edit state, in other words, “1” is stored when the input screen is displayed on the display unit 10. If it is not in an editing state, in other words, if the input screen is not displayed on the display unit 10, “0” is stored. Thereby, when the display unit 10 is in the editing state, the software keyboard 11 necessary for the editing can be displayed.
- the initial display timer 7 is a timer for determining whether or not an input for initial display of the software keyboard 11 has occurred within a predetermined elapsed time.
- the elapsed time is determined in advance, for example, 500 ms (milliseconds). Thereby, the input for the initial display of the software keyboard 11 can be distinguished from the normal input to the software keyboard 11.
- the keyboard division determination unit 41 counts the number of contact positions when the value of the initial display timer 7 is within 500 ms when the editing state flag is “1”. When the editing state flag is “1”, the keyboard division determination unit 41 does not count the number of contact positions. When the value of the initial display timer 7 exceeds 500 ms, the keyboard division determination unit 41 resets the count value of the number of contact positions.
- the keyboard division determination unit 41 determines whether or not the software keyboard 11 is divided based on the number of the plurality of contact positions calculated by the above processing. Based on the determination of the presence / absence of division, the keyboard generation unit 21 generates the image of the software keyboards 11A and 11B divided in two in FIG. 3 or the image of one software keyboard 11 in FIG.
- the keyboard division determination unit 41 determines whether to divide the software keyboard 11 into left and right based on the number of contact positions. Based on this determination, the keyboard generation unit 21 generates an image of the software keyboard 11 divided into left and right.
- the keyboard division determination unit 41 determines that the software keyboard 11 is not divided. This is because the user is in contact with the display unit 10 with five fingers and is considered to have selected input with one hand. In the case of input with one hand, as shown in FIG. 2, it is easier to input without dividing the software keyboard 11.
- the keyboard division determination unit 41 may determine that the software keyboard 11 is not divided. This is because, as will be described later, the key pitch P is calculated using the contact positions of four fingers excluding the thumb.
- the keyboard division determination unit 41 determines to divide the software keyboard 11. This is because the user is in contact with the display unit 10 with ten fingers and is considered to have selected the input with both hands. In the case of input with both hands, as shown in FIG. 3, it is easier to input if the software keyboard 11 (11A and 11B) is divided.
- the keyboard division determination unit 41 may determine that the software keyboard 11 is to be divided. This is because, as will be described later, the key pitch P is calculated for each of the left and right hands using the contact positions of the four fingers excluding the thumb.
- the keyboard division determination unit 41 may determine that the software keyboard 11 is to be divided. In this case, since it is considered that the user has touched the display unit 10 with two index fingers of both hands, the key pitch P cannot be calculated. Therefore, in this case, the software keyboard 11 is displayed by using the data for displaying the image of the software keyboard 11 stored in the keyboard data storage unit 5 as it is.
- the layout determination unit 42 determines the key pitch P of the plurality of input keys in the software keyboard 11 having a plurality of input keys based on the plurality of contact positions. Further, the layout determination unit 42 determines the angle A of the software keyboard 11 with respect to the side of the display unit 10 based on the number of contact positions. Based on the key pitch P and the angle A, the keyboard generation unit 21 generates an image of the software keyboard 11.
- the layout determining unit 42 forms two groups including five contact positions based on the X coordinates of the contact positions.
- a group with a small X coordinate is the contact position of the five fingers of the left hand, and a group with a large X coordinate is the contact position of the five fingers of the right hand.
- the number of contact positions is “5”, the five contact positions are set as one group.
- the layout determination unit 42 extracts the contact positions of the four fingers excluding the thumb based on the Y coordinate of the contact position.
- the Y coordinate of the thumb is usually smaller than the Y coordinates of the other four fingers. Therefore, the layout determination unit 42 extracts the remaining four contact positions as the contact positions of the four fingers excluding the thumb except for the contact position having the minimum Y coordinate in each group.
- the coordinates I (10, 15) of the index finger contact position, the coordinates M (12, 17) of the middle finger contact position, the coordinates R (15, 16) of the ring finger contact position, The coordinate L (19, 15) of the contact position of the little finger is obtained.
- These coordinates represent the position where the user actually touched, in other words, the size of the user's hand.
- FIG. 4 shows the contact positions of the four fingers on the right hand and corresponds to FIG. Even when the user touches the display unit 10 with the left hand, the contact positions of the four fingers are similarly extracted. Further, at the contact position of the four fingers in FIG. 4, the value of the Y coordinate is an approximate value.
- the layout determining unit 42 calculates the average value of the intervals between the plurality of contact positions, and determines the key pitch P based on the average value. Specifically, as shown in FIG. 4, the layout determining unit 42 determines the distance in the X-axis direction between the contact positions of the four fingers excluding the thumb, in other words, the X coordinate of the contact position of the adjacent finger. The difference “2”, “3”, and “4” are calculated, and the average value “3” is calculated. As a result, the layout determining unit 42 determines the key pitch P to be “3”.
- the layout determining unit 42 determines the angle A of the software keyboard 11 with respect to the side BS of the display unit 10 based on a plurality of contact positions.
- the angle A is obtained for the following reason. As shown in FIGS. 2 and 3, it is often easier to input when the software keyboard 11 is displayed obliquely. Therefore, in order to display the software keyboard 11 inclined according to the inclination of the user's arm, the angle A of the home position row HL with respect to the side BS of the display unit 10 is obtained.
- the index finger, middle finger, ring finger and little finger of the right hand are “J”, “K”, “L”, “ Corresponds to the + key. This is because the finger is aligned because the user places his finger on the key. Therefore, the four fingers except the thumb draw a straight line.
- the layout determination unit 42 calculates a straight line connecting the contact position of the index finger and the contact position of the little finger among the contact positions of the four fingers excluding the thumb, and based on this straight line. Determine the angle A.
- the contact position of the index finger and the contact position of the little finger are in the vertical direction (Y-axis direction). This is because there is little deviation.
- the error in the vertical direction for the middle finger and the ring finger is larger than the error in the vertical direction for the index finger and little finger. Therefore, a straight line connecting the index finger and the little finger is obtained except for the contact position of the middle finger and the contact position of the ring finger with large errors.
- the layout determination unit 42 selects a contact position having the maximum X coordinate and a contact position having the minimum X coordinate from the contact positions of the four fingers excluding the thumb. Are extracted and a straight line connecting them is obtained.
- An angle c formed by the straight line with the horizontal direction is equal to an angle b formed by the software keyboard 11 with the straight line BS ′, and an angle a formed by the software keyboard 11 with a straight line LS ′ parallel to the side (left side) LS of the display unit 10. .
- the angle A of the home position row HL in other words, the angle A of the software keyboard 11 is the angle b.
- the angle A can be calculated accurately, and the angle A can be calculated even if the screen of the display unit 10 is small. it can.
- the layout determination unit 42 determines the position of the software keyboard 11 with priority given to the home position row HL as shown in the lower part of FIG. In other words, the layout determination unit 42 ignores the contact position of the thumb corresponding to the bottom row LL and prevents the software keyboard 11 from being divided in the vertical direction.
- FIG. 6 shows a case where the angle A is determined for one of the two software keyboards 11A and 11B.
- the layout determining unit 42 determines the angle A for the software keyboard 11B, for example, and applies the determined angle A to the software keyboard 11A. Accordingly, the layout determination unit 42 does not calculate the angle A of the software keyboard 11A, for example. Thereby, the process which the layout determination part 42 performs can be reduced.
- the angle A may be calculated individually for both of the software keyboards 11A and 11B divided into two.
- FIG. 6 shows the calculation of the angle A when the finger of the right hand contacts the display unit 10.
- the layout determination unit 42 obtains a straight line based on the contact position having the maximum X coordinate and the contact position having the minimum X coordinate among the contact positions of the four fingers excluding the thumb.
- the angle A is calculated without distinguishing the hands.
- the layout determining unit 42 determines the home position HP in the software keyboard 11 based on the contact position of the index finger among the plurality of contact positions.
- the determination of the home position HP depends on the result of the process for determining whether or not the software keyboard 11 is divided. If the software keyboard 11 is not divided, the number of groups formed by the plurality of contact positions is one, so that one home position HP is determined. When the software keyboard 11 is divided, there are two groups formed by a plurality of contact positions, and thus two home positions HP are determined.
- the layout determining unit 42 extracts the contact position having the minimum X coordinate from the contact positions of the four fingers excluding the thumb, and uses the contact position as the contact position of the index finger. To do. As a result, the home position HP of the software keyboard 11 is determined.
- the home position HP corresponds to the index finger of the right hand as shown in FIG.
- a key “J” is assigned to the home position HP of the right hand.
- the home position HP corresponds to the index finger of the left hand.
- a key “F” is assigned to the home position HP of the left hand.
- the layout determination unit 42 makes contact with the smallest X coordinate among the contact positions of four fingers excluding the thumb for each of two groups formed by a plurality of contact positions. The position is extracted, and the contact position is set as the index finger contact position. Thereby, two home positions HP of the software keyboard 11 are determined.
- the home position HP in the group in which the straight line obtained for calculating the angle A has a “positive” inclination corresponds to the index finger of the right hand.
- a key “J” is assigned to the home position HP of the right hand.
- the home position HP in the group in which the straight line obtained for calculating the angle A has a “negative” inclination corresponds to the left index finger.
- a key “F” is assigned to the home position HP of the left hand.
- the layout determination unit 42 sends the presence / absence of division of the software keyboard 11, the key pitch P, the angle A, and the home position HP obtained by the above processing to the keyboard generation unit 21.
- the keyboard generation unit 21 reads data for generating an image of the software keyboard 11 from the keyboard data storage unit 5. At this time, the keyboard generation unit 21 reads data for displaying an image of one software keyboard 11 when the software keyboard 11 is not divided, and two software when the software keyboard 11 is divided. Data for displaying images of the keyboards 11A and 11B is read.
- the keyboard generation unit 21 converts the read data into coordinate values of the display unit 10 using the key pitch P. Further, in order to display the software keyboard 11 tilted by the angle A shown in FIG. 2 or FIG. 3, the keyboard generation unit 21 rotates the converted data using the angle A. Further, the keyboard generation unit 21 uses the home position HP for the rotated data to determine the coordinates of a plurality of keys so that a predetermined key corresponds to the home position HP. Accordingly, the distances between the software keyboard 11 and the lower side BS and the left side LS of the display unit 10 are determined. Further, the distance S between the software keyboards 11A and 11B is determined.
- the image generation unit 2 sends image data including data for displaying the image of the software keyboard 11 to the display unit 10 to display the image including the software keyboard 11.
- the image data transmitted from the image generation unit 2 to the display unit 10 is a result of being output by the display unit 10 that is an output device.
- Data for displaying an image of the software keyboard 11 is also sent to an input processing unit that processes input of the software keyboard 11.
- the image generation unit 2 sets the keyboard flag 8 to “1” when data for displaying the image of the software keyboard 11 is sent to the display unit 10.
- the keyboard flag 8 stores a flag indicating whether or not the software keyboard 11 is displayed on the display unit 10.
- the keyboard flag 8 stores “1” when the software keyboard 11 is displayed. If the software keyboard 11 is not displayed, “0” is stored.
- the input control unit 3 waits for the user to touch the display unit 10 within the event waiting time.
- the input control unit 3 refers to the event timer 6.
- the event timer 6 is a timer for determining whether an event, in other words, an input to the software keyboard 11 displayed on the display unit 10 has occurred within the event waiting time.
- the event waiting time is predetermined, for example, 1 minute.
- the input control unit 3 detects the contact position in the position detection unit 31 and sends the detection result to the input processing unit.
- the input processing unit processes the input detection result by detecting the key of the software keyboard 11 touched by the user based on the arrangement of the software keyboard 11.
- FIG. 7 is a flowchart of input processing to the display unit.
- the user repeats selective contact with icons, pull-down menus, buttons, etc. displayed on the display unit 10 to connect to a site on the Internet, for example, To buy.
- a site on the Internet for example, To buy.
- the user touches the “Purchase product” button on the display unit 10 an input screen, which is a screen for inputting purchaser information, is displayed.
- the input screen is a screen including input fields such as “gender” and “occupation” shown in FIGS.
- the image generation unit 2 sets the editing state flag, in other words, “1”.
- the image generation unit 2 resets the editing state flag, in other words, “0”.
- the position detection unit 31 of the input control unit 3 detects the touched position, and the input control unit 3 refers to the keyboard flag 8 and the editing state flag 9.
- the input control unit 3 sends the position detection result to the keyboard control unit 4.
- the input control unit 3 sends the position detection result to the input processing unit.
- the keyboard division determination unit 41 determines whether the software keyboard 11 is divided and displayed (step S1). Step S1 will be described later with reference to FIG.
- the layout determination unit 42 of the keyboard control unit 4 determines the layout of the software keyboard 11 (step S2), and based on the result of the layout determination, the keyboard generation of the image generation unit 2
- the unit 21 generates image data including the software keyboard 11 in order to display the software keyboard 11 (step S3). Step S2 will be described later with reference to FIG.
- the keyboard generation unit 21 of the image generation unit 2 uses the generated image data to display an image including the software keyboard 11 superimposed on the input screen as shown in FIG. 2 or 3 (step S4).
- the event timer 6 is started (step S5).
- the keyboard generation unit 21 sets the keyboard flag 8, in other words “1”.
- the position detecting unit 31 of the input control unit 3 waits for an event, in other words, waits for input of event information from the software keyboard 11 of the display unit 10 (step S6). . In a state waiting for input of event information, the position detection unit 31 determines whether or not contact with the display unit 10 (hereinafter also referred to as a tap) has been detected (step S7).
- step S7 When a tap is detected (Yes in step S7), the position detection unit 31 resets the event timer 6 (step S8), processes the key input input by the tap (step S9), and then repeats step S5. . Therefore, the event timer 6 is started by the keyboard generation unit 21 only once for the first time, and is started by the position detection unit 31 for the second time and thereafter.
- the input in step S9 is a key input by a normal tap.
- the position detection unit 31 determines whether or not the event timer 6 has passed 1 minute (Step S10). When the event timer 6 has not elapsed for 1 minute (No at Step S10), the position detection unit 31 repeats Step S6. When the event timer 6 has elapsed for 1 minute (step S10, Yes), the keyboard generation unit 21 deletes the software keyboard 11 from the display unit 10 (step S11). In step S11, the keyboard generation unit 21 sets the keyboard flag 8 to “0”, in other words, it is reset.
- FIG. 8 is a flowchart of the software keyboard division determination process executed in step S1.
- step S21 the keyboard division determination unit 41 of the keyboard control unit 4 receives the position detection result.
- step S21 the keyboard division determination unit 41 also resets the count value of the number of touch positions, in other words, the number of taps.
- step S21 the keyboard division determination unit 41 immediately restarts the initial display timer 7 (step S22), and waits for an event, in other words, waits for input (step S23). Thereby, after the first finger touches the display unit 10, it is possible to monitor the elapse of the event standby time.
- the keyboard division determination unit 41 determines whether the value of the initial display timer 7 has not exceeded 500 ms, which is the elapsed time (step S24).
- step S24 If the value of the initial display timer 7 has not passed the elapsed time (step S24, Yes), whether there is a position where the keyboard division determination unit 41 is tapped on the display unit 10 at a predetermined time interval. This determination is repeated (step S25).
- the time interval is empirically determined in advance and is, for example, 10 mSec (milliseconds). If there is no tapped position (No at Step S25), the keyboard division determination unit 41 repeats Step S23. When there is a tapped position (Yes in step S25), the keyboard division determination unit 41 increments the number of taps at that time by “+1” to obtain a new number of taps (step S26), and then repeats step S23. .
- the keyboard division determination unit 41 determines whether or not the number of taps is greater than “1” (step S27). When the number of taps is not larger than 1 (No at Step S27), the keyboard division determination unit 41 repeats Step S21. Thereby, the user repeats the input for displaying the software keyboard 11 again. At this time, an error may be displayed.
- the keyboard division determination unit 41 further determines whether the number of taps is “10” (step S28). When the number of taps is “10” (Yes at Step S28), the keyboard division determination unit 41 determines that the software keyboard 11 is divided and displayed (Step S29).
- the keyboard division determination unit 41 further determines whether or not the number of taps is “5” (Step S210). When the number of taps is not “5” (No at Step S210), the keyboard division determination unit 41 repeats Step S21. Thereby, the user repeats the input for displaying the software keyboard 11 again. At this time, an error may be displayed.
- the keyboard division determination unit 41 determines that the software keyboard 11 is displayed without being divided (step S211).
- FIG. 9 is a flowchart of software keyboard layout processing.
- the layout determination unit 42 calculates the key pitch P of the software keyboard 11 by executing the key pitch calculation process (step S31).
- the layout determining unit 42 calculates the angle A of the home position row HL of the software keyboard 11 by executing an angle calculation process (step S32).
- the layout determination unit 42 determines whether or not the software keyboard 11 is divided by executing the division determination process for the software keyboard 11 shown in FIG. 8, and the determination result is used as the result of the process in steps S31 to S32. Reflect (step S33).
- the layout determination unit 42 uses the calculated key pitch P and angle A as they are. Further, in one group formed by a plurality of contact positions, the position of the index finger is set as the home position HP.
- the layout determining unit 42 uses the calculated angle A as a value for the two software keyboards 11A and 11B to be divided.
- the calculated key pitch P is used as it is.
- the position of the index finger is set as the home position HP.
- the above results are sent from the keyboard control unit 4 to the keyboard generation unit 21, and the keyboard generation unit 21 obtains data for displaying the image of the software keyboard 11 as shown in FIG.
- the software keyboard 11 is divided into left and right parts, but the keyboard control unit 4 determines whether to divide the software keyboard 11 into two parts vertically based on the number of contact positions. You may make it do. For example, as shown in the upper part of FIG. 6, the position of the lowest row LL of the software keyboard 11 may be determined based on the contact position of the thumb. Thereby, the software keyboard 11 in which the lowermost row LL and a plurality of other rows are divided in the software keyboard 11 shown in FIG. 2 may be displayed. At this time, a plurality of rows other than the lowest row LL are displayed based on the contact positions of the four fingers excluding the thumb as described above.
- the keyboard generation unit 21 generates an image of the software keyboard 11 or an image of one software keyboard 11 that is divided into two in the vertical direction based on the determination as to whether or not the vertical division is performed.
- the keyboard control unit 4 may determine whether to divide the software keyboard 11 into four parts vertically and horizontally based on the number of contact positions. For example, as shown in the upper part of FIG. 6, the position of the bottom row LL of the software keyboard 11 may be determined based on the contact positions of the left and right thumbs. Thereby, as shown in the upper part of FIG. 6, in the software keyboards 11A and 11B divided into the left and right, the lowermost row LL and the other plural rows are further divided. The software keyboard 11 divided into two may be displayed. At this time, in the software keyboards 11A and 11B divided into the left and right, a plurality of lines other than the lowest line LL are displayed based on the contact positions of the four fingers excluding the thumb as described above.
- the keyboard generation unit 21 generates an image of the software keyboard 11 or an image of one software keyboard 11 divided into four parts in the vertical and horizontal directions based on the determination of whether to divide into the vertical and horizontal directions.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
情報処理装置は、液晶表示部とその上に設けられた接触検出部であるタッチパネルとを含み画像を表示する表示部10と、表示部10への複数の接触位置を検出する位置検出部31と、複数の接触位置に基づいて、複数の入力キーを有するソフトウェアキーボード11における複数の入力キーのキーピッチを決定するキーボード制御部4と、キーピッチに基づいて、ソフトウェアキーボード11の画像を生成して表示部10に表示するキーボード生成部21とを含む。
Description
本発明は、情報処理装置及び入力装置の表示方法に関する。
コンピュータへのデータの入力には、例えばキーボードが用いられる。しかし、ハードウェアキーボードを実装しないコンピュータが、多数存在する。ハードウェアキーボードを実装しないコンピュータとしては、例えばタブレットコンピュータが知られている。また、ハードウェアキーボードを実装しないコンピュータが搭載された電子機器として、デジタルサイネージ装置、電子白板装置等が知られている。
ハードウェアキーボードを実装しないコンピュータは、例えば、ソフトウェアキーボードを実装している。例えば、ソフトウェアキーボードが画面上に表示されると、これを見たユーザが、表示されたキーのイメージに、指やスタイラス等によりタップ又は接触する(以下、接触という)。この接触が、接触された位置に存在するキーに対する入力として処理される。これにより、擬似的なキーボード入力が可能とされる。
例えば、情報表示入力装置において、圧力検出パネルの一部にソフトウェアキーボードのキーボード配列を割付け、画面には通常、ソフトウェアキーボードのホームポジション(基準位置)を示すマーカのみを表示し、ソフトウェアキーボードから文字入力欄等への文字入力処理を実行することにより、マウス、ハードウェアキーボード等の入力装置を使用することなく、画面に表示される情報画面への入力操作を実行することが、提案されている。
また、表示制御方法において、選択可能な複数のメニュー項目のうち、現在選択されているメニュー項目を表す情報を、常に決まった位置に表示し、この情報を例えばメニュー項目毎に用意されたアイコンとし、現在選択されているメニュー項目を表す情報の表示位置を例えば画面の上部左端とすることが、提案されている。
また、データ処理装置において、入力項目が選択されるときに、業務画面の持つ空きスペースを特定したり、業務画面の持つ入力項目の中から、その選択される入力項目に関連性のない入力項目を特定する手段と、その特定する空きスペースの位置や、その特定する関連性のない入力項目の位置に、選択される入力項目を拡大表示する手段と、拡大表示の入力項目に入力される項目値が確定するときに、拡大表示の入力項目を消去するとともに、その項目値を選択される入力項目への入力値として設定する手段とを備えることが、提案されている。
また、コンピュータシステムにおいて、データ入力画面に表示されるべきデータ入力フィールドそれぞれに関して、データ入力が必須であるか、または省略可能であるかを定義する情報を設定するための画面定義情報設定機能部と、その設定結果を記憶する画面定義データテーブルと、データ入力画面の表示開始時及び/又は表示中において、画面定義データテーブルの記憶内容に従って、データ入力画面においてデータ入力が省略可能なデータ入力フィールドへのデータ入力を禁止する状態、または許可する状態のいずれかを選択的に表示する画面表示状態変更機能部とを備え、「省略入力」ボタンにより選択することが、提案されている。
ソフトウェアキーボードにおいては、画面上に初期表示されるキーボードのサイズは、固定である。一方、ユーザの指のサイズは、個々に異なる。このため、ソフトウェアキーボードは、全てのユーザにとって、入力しやすいデバイスであるとは言えない。個々のユーザに合ったサイズのソフトウェアキーボードを表示するためには、初期表示されたソフトウェアキーボードのサイズを修正する操作が必要である。このような操作は、個々のユーザにとって煩わしい。
本発明は、個々のユーザに応じたキーピッチを有する入力装置を表示する情報処理装置を提供することを目的とする。
開示される情報処理装置は、画像を表示する表示部と、表示部への複数の接触位置を検出する位置検出部と、複数の接触位置に基づいて、複数の入力キーを有するソフトウェアキーボードにおける複数の入力キーのキーピッチを決定するキーボード制御部と、キーピッチに基づいて、ソフトウェアキーボードの画像を生成して表示部に表示するキーボード生成部とを含む。
開示される情報処理装置によれば、個々のユーザの指の配置に応じたキーピッチを有するソフトウェアキーボードを初期表示することができる。
本発明者は、ハードウェアキーボードを実装しないコンピュータにおいて、タッチパネル上に表示されるソフトウェアキーボードについて検討した。
ソフトウェアキーボードは、ユーザが画面に指で接触することにより、初期表示される。初期表示されるソフトウェアキーボードのサイズは、タッチパネルのピクセルを大きさの単位として用いて、ピクセルの数で定められる。ピクセルの数は固定である。1個のピクセルの物理的なサイズは、個々のコンピュータに依存し、種々の値をとる。
このために、1個のピクセルの大きさが異なると、表示されたソフトウェアキーボードにおいて、そのキーサイズ及びキーピッチが異なってしまう。例えば、図10(A)に示すように、ピクセルのサイズが小さいタッチパネル100Aにソフトウェアキーボード101が表示された場合には、当該ソフトウェアキーボード101は、ユーザにとって小さ過ぎる。この場合、ユーザが入力に支障をきたす。しかし、ピクセルのサイズが大きいタッチパネル100Bに同一のソフトウェアキーボード101が表示された場合には、図10(B)に示すように、ソフトウェアキーボード101は、ユーザに適したサイズとなる。この場合、ユーザは支障なく入力を実行することができる。このように、同一のソフトウェアキーボード101であっても、コンピュータによっては、ユーザに適したサイズのソフトウェアキーボード101が表示されるとは限らない。
また、ソフトウェアキーボード101の表示処理部は、画面の解像度をシステム情報から取得することはできる。しかし、ソフトウェアキーボード101の表示処理部は、1個のピクセルの大きさ、換言すれば、ピクセルのピッチを取得することはできない。これは、1個のピクセルの大きさが表示部10のハードウェアとしての性能を示す情報であるためである。
また、ソフトウェアキーボード101の表示処理部は1個のピクセルの大きさを取得することはできず、かつ、1個のピクセルの物理的なサイズは個々のコンピュータに依存する。このため、ソフトウェアキーボード101のサイズを指定するデータとして、固定のサイズを用いることもできない。換言すれば、ハードウェアキーボードの一般的なキーピッチが16~19mm(ミリメートル)であることを考慮して、ソフトウェアキーボード101を「19mmのキーピッチで表示する」ことを、ソフトウェアキーボード101の表示処理部において規定することはできない。
更に、図10(A)及び図10(B)のように初期表示されたソフトウェアキーボード101のサイズを修正する場合、ユーザによる修正のための手動の操作が必要となる。サイズの修正のための手動の操作は、ソフトウェアキーボード101の初期表示の後に、ユーザが改めて実行する必要がある。この操作は、ユーザにとって煩わしい。
開示の情報処理装置及び入力装置の表示方法は、個々のユーザの指の配置に応じたキーピッチを有するソフトウェアキーボードを初期表示することができる。
図1は、情報処理装置の構成の一例を示す図である。
情報処理装置は、ハードウェアキーボードを実装しないコンピュータであり、例えばタブレットコンピュータである。タブレットコンピュータは、例えばハードウェアキーボードを持たないノート型のパーソナルコンピュータである。情報処理装置は、ハードウェアキーボードを実装しないコンピュータを搭載した電子機器、例えばデジタルサイネージ装置、電子白板装置等であっても良い。
情報処理装置は、入力表示処理部1、表示部10を含む。例えば、情報処理装置の筐体の内部に入力表示処理部1が収納され、情報処理装置の筐体の1個の側面上に表示部10が設けられる。
入力表示処理部1は、画像生成部2、入力制御部3、キーボード制御部4、キーボードデータ格納部5、イベント用タイマ6、初期表示用タイマ7、キーボードフラグ8、編集状態フラグ9を含む。画像生成部2は、キーボード生成部21を含む。入力制御部3は、位置検出部31を含む。キーボード制御部4は、キーボード分割判定部41、レイアウト決定部42を含む。表示部10は、ソフトウェアキーボード11を表示する。
表示部10は、画像を表示する表示装置、換言すれば、出力装置である。表示部10は、例えばいわゆるタッチパネルを含む。具体的には、表示部10は、例えば液晶表示部と、その上に設けられた接触検出部であるタッチパネルとを含む。液晶表示部によりソフトウェアキーボード11が表示される。タッチパネルは、タッチパネルへの接触を例えば圧力信号又は電気信号として検出して、検出結果を入力制御部3へ送る。換言すれば、この検出結果が、入力装置であるソフトウェアキーボード11からのイベント情報として、入力制御部3に入力される。
例えば、表示部10である画面上にソフトウェアキーボード11が表示された場合、ユーザは、ソフトウェアキーボード11のキーに接触することにより、当該キーへの入力を行うことができる。ユーザが実際に接触するのは、タッチパネルにおける、ソフトウェアキーボード11のキーに対応する位置である。表示部10は、ソフトウェアキーボード11が表示された場合、指等を用いた当該表示部10への接触による入力を可能とする入力装置である。
ソフトウェアキーボード11は、キーボードとしての実体を持たず、表示部10とこれに表示されたソフトウェアキーボード11の画像とにより実現される、仮想入力装置である。ソフトウェアキーボード11は、それが表示部10に表示された場合に、入力装置として機能する。ソフトウェアキーボード11の表示された表示部10は、入出力装置として機能する。
なお、図1の情報処理装置は、CPU、ROM、RAM、入出力装置及びハードディスクを含む。CPU、ROM、RAM、入出力装置及びハードディスクは、バスを介して、相互に接続される。
CPUは、ROMに格納された制御プログラムに従って、情報処理装置を制御する。CPUは、例えば主メモリであるRAM上の入力表示プログラムを実行する。これにより、入力表示処理部1、具体的には、画像生成部2、入力制御部3、キーボード制御部4が実現される。キーボードデータ格納部5、イベント用タイマ6、初期表示用タイマ7、キーボードフラグ8、編集状態フラグ9は、入力表示プログラムにより例えばRAMに設けられる。入力表示プログラムは、例えば、CD-ROMやDVD等の記録媒体に格納され、記録媒体からハードディスクに入力され、ハードディスクからRAMにロードされる。
入出力装置は、前述したように、表示部10と、表示部10の画面上に表示されたソフトウェアキーボード11とを含む。表示部10は、液晶表示部と、接触検出部であるタッチパネルとを含む。ソフトウェアキーボード11は、画像生成部2のキーボード生成部21により表示部10に表示された仮想入力装置である。
図2は、ソフトウェアキーボードの一例を示す図であり、分割されない、換言すれば、1個のソフトウェアキーボード11を示す。
例えば、ユーザが、5本の指で図2に示すような角度Aで表示部10に接触したとする。これは、ユーザが、左腕及び左手で情報処理装置の筐体を支えた状態で、右手で図2に示すような角度Aで表示部10に接触したような場合である。この場合、図2に示すようなソフトウェアキーボード11が、表示部10に表示される。
ソフトウェアキーボード11の複数のキーは、ハードウェアキーボードと同様に、予め定められた配置及び形状で、規則的に並ぶ。ソフトウェアキーボード11の画像を生成するためのデータは、後述するように、キーピッチを除いて、キーボードデータ格納部5に格納される。
ユーザの人差指の位置が、例えばソフトウェアキーボード11のホームポジションHPとされる。ホームポジションHPの位置は、可変であり、ユーザが接触した指の位置に応じて定まる。
キーピッチPは、レイアウト決定部42により定められる。キーピッチPは、キーの配置の繰り返しの単位であり、キーの間の間隔DとキーサイズKとの和である。キーピッチPは、可変であり、ユーザが接触した指の位置に応じて定まる。キーの間の間隔DとキーサイズKとの比率は一定であるので、キーピッチPを定めれば、キーサイズKも定まる。キーピッチPが可変であるので、間隔D及びキーサイズKも可変であり、ユーザが接触した指の位置に応じて定まる。なお、レイアウト決定部42がキーサイズK及び間隔Dを定めるようにしても良い。
更に、ソフトウェアキーボード11の角度Aは、レイアウト決定部42により定められる。ソフトウェアキーボード11において、ホームポジションHPの行HLと、最下行LLとは平行である。ソフトウェアキーボード11の最下行LLは、表示部10の辺(下辺)BSに平行な線分BS’対して角度Aで交わる。換言すれば、角度Aは、ホームポジションHPの行HLと表示部10の辺BSとの間の角度である。角度Aは、可変であり、ユーザが接触した指の位置に応じて定まる。表示部10の辺BSは、表示部10の水平方向であり、X軸である。
また、表示部10の辺BSと線分BS’との間の距離は、可変であり、ユーザが接触した指の位置に応じて定まる。換言すれば、表示部10の辺BSと線分BS’との間の距離は、ホームポジションHPの位置と、キーピッチPと、角度Aとに基づいて定まる。
なお、ユーザが左手で表示部10に接触した場合には、これに基づいて角度Aが定まるので、図2とは異なり、右下がりのソフトウェアキーボード11が表示される。これにより、左利きのユーザの入力に適したソフトウェアキーボード11を初期表示することができる。
図3は、ソフトウェアキーボードの他の一例を示す図であり、分割された、換言すれば、2個のソフトウェアキーボード11A及び11Bを示す。図3のソフトウェアキーボード11A及び11Bは、両者が合わさって図2に示す1個のソフトウェアキーボード11と同等の入力装置として動作する。
例えば、ユーザが、10本の指で図3に示すような角度Aで表示部10に接触したとする。これは、ユーザが、机等の上に情報処理装置の筐体を置いた状態で、両手で図3に示すような角度Aで表示部10に接触したような場合である。この場合、図3に示すようなソフトウェアキーボード11A及び11Bが、表示部10に表示される。なお、ソフトウェアキーボード11A及び11Bの表示を、単にソフトウェアキーボード11の表示ということもある。
ユーザの右手の人差指の位置が、ソフトウェアキーボード11BのホームポジションHPとされる。キーピッチP及びソフトウェアキーボード11の角度Aは、前述したように、レイアウト決定部42により定められる。キーピッチP及び角度Aは、可変であり、ユーザが接触した指の位置に応じて定まる。キーピッチPが可変であるので、間隔D及びキーサイズKも可変であり、ユーザが接触した指の位置に応じて定まる。
ユーザの左手の人差指の位置に基づいて、同様に、ソフトウェアキーボード11AのホームポジションHP、キーピッチP及びソフトウェアキーボード11Aの角度Aが決定される。従って、ソフトウェアキーボード11Aとソフトウェアキーボード11Bとの間において、ホームポジションHPの表示部10の辺BSからの距離(Y座標の値)、キーピッチP及び角度Aが、相互に異なる場合がある。この場合、ソフトウェアキーボード11Aとソフトウェアキーボード11Bについての、ホームポジションHPの表示部10の辺BSからの距離、キーピッチP及び角度Aの平均値が用いられる。
なお、ソフトウェアキーボード11A及び11Bにおいて、両者の境界に存在しかつ両者に跨るキー、例えばスペースキーは、2個に分割される。
また、ソフトウェアキーボード11Aとソフトウェアキーボード11Bについて、相互に異なる、ホームポジションHPの表示部10の辺BSからの距離、キーピッチP及び角度Aを用いるようにしても良い。この場合、ソフトウェアキーボード11Aとソフトウェアキーボード11Bとは、異なる形状となる。
また、2個のソフトウェアキーボード11Aとソフトウェアキーボード11Bとの間の距離Sも、可変であり、ユーザが接触した指の位置に応じて定まる。
図2及び図3において、表示部10の左右方向がX軸であり、上下方向がY軸であるものとする。表示部10の原点は、左下の頂点であるものとする。これに応じて、長方形であるソフトウェアキーボード11の画像の原点も、左下の頂点であるものとする。
また、図2において、ソフトウェアキーボード11に対するユーザの指の位置は、およその位置を表す。図3において、ソフトウェアキーボード11A及び11Bに対するユーザの指の位置は、およその位置を表す。
図2及び図3に示すように、ソフトウェアキーボード11のホームポジションHP、キーの間の間隔DとキーサイズKを含むキーピッチP、角度A、表示部10の辺BSと線分BS’との間の距離の全てについて、個々のユーザの入力に適したソフトウェアキーボード11を初期表示することができる。また、初期表示されたソフトウェアキーボード11は個々のユーザの入力に適しているので、その後、ユーザが手動でソフトウェアキーボード11の表示を修正する必要がない。また、その時に表示部10に接触したユーザに応じて、事前の調整や設定なしで、その都度、当該ユーザの入力に適したソフトウェアキーボード11を初期表示することができる。また、ソフトウェアキーボード11の表示の際にマーカを必要とすることなく、ユーザが指を接触した位置に、ソフトウェアキーボード11を表示することができる。
図1に戻って、画像生成部2は、表示部10へ表示される種々の画像を生成する。例えば、画像生成部2は、図2及び図3に示す、「性別」等の複数の入力フィールドを含む画面、換言すれば、入力画面を生成して表示部10に表示する。入力画面が表示部10に表示された状態を、「編集状態」という。編集状態は、入力画面における複数の入力フィールドのいずれかへの入力を受け付ける状態である。
キーボード生成部21は、表示部10へ表示される種々の画像の中のソフトウェアキーボード11の画像を生成して、生成したソフトウェアキーボード11の画像を表示部10に表示する。ソフトウェアキーボード11の画像は、キーボード制御部4のレイアウト決定部42により決定された、ソフトウェアキーボード11の分割の有無及びキーピッチPに基づいて、生成される。入力フィールドへの入力のために、ソフトウェアキーボード11が用いられる。従って、ソフトウェアキーボード11の画像は、表示部10が編集状態である場合に、生成される。
ソフトウェアキーボード11の画像、換言すれば、ソフトウェアキーボード11の画像を生成するためのデータは、キーボードデータ格納部5に格納される。しかし、前述したように、キーピッチPはレイアウト決定部42により決定され、これに応じてキーの間の間隔DとキーサイズKも変化する。このため、キーボードデータ格納部5において、ソフトウェアキーボード11の画像を生成するためのデータは、相対的な位置関係を表す相対値を用いて定められ、物理量である長さ、表示部10におけるピクセルの数、又は、表示部10における座標値を用いては定められない。
例えば、ソフトウェアキーボード11のキーの位置は、ソフトウェアキーボード11の画像の原点に対する相対位置を用いて表される。換言すれば、ソフトウェアキーボード11のキーの位置は、ソフトウェアキーボード11の画像の原点からの距離の比を用いて定められる。キーピッチPが決定されれば、これに応じてキーの間の間隔DとキーサイズKも定まり、ソフトウェアキーボード11の全体が定まる。
なお、キーボードデータ格納部5は、図2の分割されないソフトウェアキーボード11の画像を生成するためのデータと、図3の分割されたソフトウェアキーボード11A及び11Bの画像を生成するためのデータの双方を格納する。図2において、ソフトウェアキーボード11の画像の原点は、例えば左下の頂点とされる。図3において、ソフトウェアキーボード11Aの画像の原点は、例えば右下の頂点とされ、ソフトウェアキーボード11Bの画像の原点は、例えば左下の頂点とされる。
画像生成部2は、生成した種々の画像を合成して、表示部10に表示する。具体的には、画像生成部2は、図2及び図3に示すように、ソフトウェアキーボード11を、入力画面の上に、重ねて表示する。これにより、ユーザは、例えば「性別」の入力フィールドへの入力の結果が当該「性別」の入力フィールドに表示された結果を確認しながら、入力を続行することができる。複数の入力フィールドを含む入力画面を上下方向又は左右方向にスクロールして、未入力の入力フィールドがソフトウェアキーボード11と重ならないようにしても良い。
入力制御部3は、ユーザが表示部10に接触した場合に、当該接触による表示部10への入力を検出する。特に、位置検出部31は、表示部10から入力されたイベント情報に基づいて、表示部10への接触位置を検出する。具体的には、位置検出部31は、表示部10のタッチパネルにおいてどの位置が接触されたかを検出する。これにより、ユーザが表示部10に接触する都度に、表示部10への複数の接触の各々について、その位置が検出される。各々の接触位置は、例えば、図2及び図3に示す表示部10におけるX座標及びY座標により表される。位置検出部31は、検出した複数の接触位置をキーボード制御部4に送る。
キーボード制御部4は、位置検出部31により検出された複数の接触位置に基づいて、表示部10におけるソフトウェアキーボード11の分割の有無及びキーピッチPを決定する。キーボード制御部4は、決定したソフトウェアキーボード11の分割の有無及びキーピッチPを、画像生成部2へ送る。
具体的には、キーボード分割判定部41は、表示部10が編集状態である場合において、所定の時間内における、接触位置の数をカウントする。換言すれば、キーボード分割判定部41は、表示部10に接触したユーザの指の数を求める。このために、キーボード分割判定部41は、編集状態フラグ9を参照し、初期表示用タイマ7を参照する。
編集状態フラグ9は、表示部10が編集状態であるか、換言すれば、表示部10に入力画面が表示されているか否かを示すフラグを格納する。編集状態フラグ9は、編集状態である、換言すれば、表示部10に入力画面が表示されている場合には、「1」を格納する。編集状態でない、換言すれば、表示部10に入力画面が表示されていない場合には、「0」を格納する。これにより、表示部10が編集状態である場合に、当該編集のために必要なソフトウェアキーボード11を表示することができる。
初期表示用タイマ7は、ソフトウェアキーボード11の初期表示のための入力が所定の経過時間内に発生したか否かを判断するためのタイマである。経過時間は、予め定められ、例えば500ms(ミリ秒)とされる。これにより、ソフトウェアキーボード11の初期表示のための入力を、ソフトウェアキーボード11への通常の入力と、区別することができる。
キーボード分割判定部41は、編集状態フラグが「1」である場合において、初期表示用タイマ7の値が500ms以内である場合における、接触位置の数をカウントする。編集状態フラグが「1」である場合、キーボード分割判定部41は、接触位置の数をカウントしない。初期表示用タイマ7の値が500msを超えた場合、キーボード分割判定部41は、接触位置の数のカウント値をリセットする。
キーボード分割判定部41は、以上の処理により算出した複数の接触位置の数に基づいて、ソフトウェアキーボード11についての分割の有無を決定する。分割の有無の決定に基づいて、キーボード生成部21が、図3の2分割したソフトウェアキーボード11A及び11Bの画像、又は、図2の1個のソフトウェアキーボード11の画像を生成する。
ここで、ソフトウェアキーボード11を分割する場合には、キーボード分割判定部41は、複数の接触位置の数に基づいて、ソフトウェアキーボード11を左右に分割するか否か決定することになる。この決定に基づいて、キーボード生成部21は、左右に2分割したソフトウェアキーボード11の画像を生成する。
接触位置の数が「5」である場合に、キーボード分割判定部41は、ソフトウェアキーボード11を分割しないと判定する。これは、ユーザが5本の指で表示部10に接触しているので、片手での入力を選択したと考えられるからである。片手での入力の場合、図2に示すように、ソフトウェアキーボード11を分割しない方が入力し易い。
なお、接触位置の数が「4」である場合に、キーボード分割判定部41が、ソフトウェアキーボード11を分割しないと判定するようにしても良い。これは、後述するように、親指を除く4本の指の接触位置を用いて、キーピッチPを算出するからである。
接触位置の数が「10」である場合に、キーボード分割判定部41は、ソフトウェアキーボード11を分割すると判定する。これは、ユーザが10本の指で表示部10に接触しているので、両手での入力を選択したと考えられるからである。両手での入力の場合、図3に示すように、ソフトウェアキーボード11(11A及び11B)を分割した方が入力し易い。
なお、接触位置の数が「8」である場合に、キーボード分割判定部41が、ソフトウェアキーボード11を分割すると判定するようにしても良い。これは、後述するように、左右の手について、各々、親指を除く4本の指の接触位置を用いて、キーピッチPを算出するからである。
また、接触位置の数が「2」である場合に、キーボード分割判定部41が、ソフトウェアキーボード11を分割すると判定するようにしても良い。この場合、ユーザが両手の2本の人差指で表示部10に接触したと考えられるので、キーピッチPを算出することはできない。従って、この場合、キーボードデータ格納部5に格納された、ソフトウェアキーボード11の画像を表示するためのデータを、そのまま用いることにより、ソフトウェアキーボード11が表示される。
レイアウト決定部42は、複数の接触位置に基づいて、複数の入力キーを有するソフトウェアキーボード11における複数の入力キーのキーピッチPを決定する。また、レイアウト決定部42は、複数の接触位置の数に基づいて、表示部10の辺に対するソフトウェアキーボード11の角度Aを決定する。キーピッチPと角度Aとに基づいて、キーボード生成部21が、ソフトウェアキーボード11の画像を生成する。
最初に、レイアウト決定部42は、接触位置の数が「10」である場合に、接触位置のX座標に基づいて、5個の接触位置を含む2個のグループを形成する。X座標の小さいグループが左手の5本の指の接触位置であり、X座標の大きいグループが右手の5本の指の接触位置である。接触位置の数が「5」である場合には、当該5個の接触位置が1個のグループとされる。
次に、レイアウト決定部42は、例えば図4に示すように、接触位置のY座標に基づいて、親指を除く4本の指の接触位置を抽出する。図2及び図3から判るように、通常、親指のY座標は、他の4本の指のY座標よりも小さい。そこで、レイアウト決定部42は、各々のグループにおいて、最少のY座標を有する接触位置を除いて、残りの4個の接触位置を、親指を除く4本の指の接触位置として抽出する。
これにより、例えば図4に示すように、人差指の接触位置の座標I(10,15)、中指の接触位置の座標M(12,17)、薬指の接触位置の座標R(15,16)、小指の接触位置の座標L(19,15)が得られる。これらの座標は、ユーザが実際に接触した位置、換言すれば、ユーザの手の大きさを表す。
なお、図4は、右手の4本の指についての接触位置を示し、図2に対応する。ユーザが左手で表示部10に接触した場合でも、同様に、4本の指の接触位置が抽出される。また、図4の4本の指の接触位置において、Y座標の値は、およその値を示す。
次に、レイアウト決定部42は、複数の接触位置の各々の間隔の平均値を算出し、平均値に基づいて、キーピッチPを決定する。具体的には、レイアウト決定部42は、図4に示すように、親指を除く4本の指の接触位置の間のX軸方向の距離、換言すれば、隣接する指の接触位置のX座標の差分「2」「3」「4」を算出し、その平均値「3」を算出する。これにより、レイアウト決定部42は、キーピッチPを「3」と決定する。
次に、レイアウト決定部42は、複数の接触位置に基づいて、表示部10の辺BSに対するソフトウェアキーボード11の角度Aを決定する。角度Aは、以下の理由で求められる。図2及び図3に示すように、ソフトウェアキーボード11を斜めに表示した方が入力し易い場合が多い。そこで、ユーザの腕の傾きに応じて傾いたソフトウェアキーボード11を表示するために、表示部10の辺BSに対するホームポジション行HLの角度Aを求める。
ここで、ハードウェアキーボードの場合には、ユーザが指をキーの上においた場合、一般的には、右手の人差指、中指、薬指及び小指は、各々、「J」「K」「L」「+」のキーに対応する。これは、ユーザがキーに合わせて指をおくので、指が揃うためである。従って、親指を除く4本の指は、直線を描く。
しかし、ソフトウェアキーボード11の場合には、単に平坦な画面に指を接触させるのみであるので、ユーザがキーに合わせて指をおく意識を持たず、指が揃わないことが多い。このため、図5に示すように、ソフトウェアキーボード11の場合には、親指を除く4本の指の接触位置は、曲線Cを描き、直線とはならない。換言すれば、右手の人差指、中指、薬指及び小指の座標が、各々、「J」「K」「L」「+」のキーに割り当てられたとすると、図5の抜き出した部分TCに示すような、いびつなキーの配置のソフトウェアキーボード11となる。従って、親指を除く4本の指を用いて、角度Aを求めることは難しい。
そこで、レイアウト決定部42は、図6に示すように、親指を除く4本の指の接触位置の中の人差指の接触位置と小指の接触位置とを結ぶ直線を算出し、この直線に基づいて、角度Aを決定する。これは、本発明者の検討によれば、ソフトウェアキーボード11を意識して表示部10に指を繰り返しおいた場合でも、人差指の接触位置及び小指の接触位置は、上下方向(Y軸方向)におけるずれが少ないためである。換言すれば、表示部10に指を繰り返しおいた場合には、中指と薬指についての上下方向における誤差は、人差指及び小指についての上下方向における誤差よりも大きい。そこで、誤差が大きい中指の接触位置、薬指の接触位置を除いて、人差指と小指を結ぶ直線を求める。
具体的には、レイアウト決定部42は、図6に示すように、親指を除く4本の指の接触位置の中から、最大のX座標を持つ接触位置と最小のX座標を持つ接触位置とを抽出して、これらの間を結ぶ直線を求める。この直線が水平方向となす角度cは、ソフトウェアキーボード11が直線BS’となす角度bと等しく、ソフトウェアキーボード11が表示部10の辺(左辺)LSに平行な直線LS’となす角度aと等しい。この例では、角度a=角度b=角度c=30度である。ホームポジション行HLの角度A、換言すれば、ソフトウェアキーボード11の角度Aは、角度bである。以上により、ユーザの指の接触位置に基づいて角度Aを求めることができるので、正確に角度Aを算出することができ、また、表示部10の画面が小さくても角度Aを算出することができる。
なお、ハードウェアキーボードの場合には、ユーザが親指をキーの上においた場合、一般的には、最下行におかれる。しかし、ソフトウェアキーボード11の最下行LLの位置を親指の接触位置に基づいて決定すると、図6の上段に示すように、最下行LLと他の複数の行とが分割してしまう場合がある。そこで、レイアウト決定部42は、図6の下段に示すように、ホームポジション行HLを優先してソフトウェアキーボード11の位置を決定する。換言すれば、レイアウト決定部42は、最下行LLに対応する親指の接触位置を無視して、ソフトウェアキーボード11が上下方向に分割しないようにする。
また、図6は、2個に分割されたソフトウェアキーボード11A及び11Bの一方について角度Aを決定する場合について示す。換言すれば、レイアウト決定部42は、例えばソフトウェアキーボード11Bについて角度Aを決定し、決定した角度Aをソフトウェアキーボード11Aに適用する。従って、レイアウト決定部42は、例えばソフトウェアキーボード11Aの角度Aの算出は行わない。これにより、レイアウト決定部42が実行する処理を削減することができる。なお、2個に分割されたソフトウェアキーボード11A及び11Bの双方について、個々に角度Aを算出するようにしても良い。
また、図6は、右手の指が表示部10に接触した場合における角度Aの算出について示す。しかし、レイアウト決定部42は、親指を除く4本の指の接触位置の中の、最大のX座標を持つ接触位置と最小のX座標を持つ接触位置とに基づいて直線を求めるので、左右の手を区別することなく、角度Aを算出する。
次に、レイアウト決定部42は、複数の接触位置の中の人差指の接触位置に基づいて、ソフトウェアキーボード11におけるホームポジションHPを決定する。ホームポジションHPの決定は、ソフトウェアキーボード11の分割の有無の決定処理の結果に依存する。ソフトウェアキーボード11を分割しない場合、複数の接触位置が形成するグループは1個であるので、1個のホームポジションHPが決定される。ソフトウェアキーボード11を分割する場合、複数の接触位置が形成するグループは2個であるので、2個のホームポジションHPが決定される。
ソフトウェアキーボード11を分割しない場合、レイアウト決定部42は、親指を除く4本の指の接触位置の中の、最小のX座標を持つ接触位置を抽出して、当該接触位置を人差指の接触位置とする。これにより、ソフトウェアキーボード11のホームポジションHPが定まる。角度Aを算出するために求めた直線が「正」の傾きである場合、図6に示すように、当該ホームポジションHPは右手の人差指に対応する。右手のホームポジションHPには、「J」のキーが割り当てられる。角度Aを算出するために求めた直線が「負」の傾きである場合、当該ホームポジションHPは左手の人差指に対応する。左手のホームポジションHPには、「F」のキーが割り当てられる。
ソフトウェアキーボード11を分割する場合、レイアウト決定部42は、複数の接触位置が形成する2個のグループの各々について、親指を除く4本の指の接触位置の中の、最小のX座標を持つ接触位置を抽出して、当該接触位置を人差指の接触位置とする。これにより、ソフトウェアキーボード11の2個のホームポジションHPが定まる。角度Aを算出するために求めた直線が「正」の傾きであるグループにおける当該ホームポジションHPは右手の人差指に対応する。右手のホームポジションHPには、「J」のキーが割り当てられる。角度Aを算出するために求めた直線が「負」の傾きであるグループにおける当該ホームポジションHPは左手の人差指に対応する。左手のホームポジションHPには、「F」のキーが割り当てられる。
次に、レイアウト決定部42は、以上の処理により求めた、ソフトウェアキーボード11の分割の有無、キーピッチP、角度A、ホームポジションHPを、キーボード生成部21に送る。キーボード生成部21は、キーボードデータ格納部5から、ソフトウェアキーボード11の画像を生成するためのデータを読み出す。この時、キーボード生成部21は、ソフトウェアキーボード11を分割しない場合には、1個のソフトウェアキーボード11の画像を表示するためのデータを読出し、ソフトウェアキーボード11を分割する場合には、2個のソフトウェアキーボード11A及び11Bの画像を表示するためのデータを読出す。
更に、キーボード生成部21は、読み出したデータを、キーピッチPを用いて表示部10の座標値に変換する。更に、図2又は図3に示す角度Aだけ傾いたソフトウェアキーボード11を表示するために、キーボード生成部21は、変換したデータを、角度Aを用いて回転させる。更に、キーボード生成部21は、回転させたデータについて、ホームポジションHPを用いて、当該ホームポジションHPに所定のキーが対応するように、複数のキーの座標を定める。これに伴って、ソフトウェアキーボード11と表示部10の下辺BS及び左辺LSとの間の距離が定まる。また、ソフトウェアキーボード11A及び11Bの間の距離Sが定まる。
この後、画像生成部2は、ソフトウェアキーボード11の画像を表示するためのデータを含む画像データを表示部10に送り、ソフトウェアキーボード11を含む画像を表示させる。換言すれば、画像生成部2から表示部10に送信された画像データが、出力装置である表示部10により出力される結果である。ソフトウェアキーボード11の画像を表示するためのデータは、ソフトウェアキーボード11の入力を処理する入力処理部にも送られる。
画像生成部2は、ソフトウェアキーボード11の画像を表示するためのデータを表示部10に送ると、キーボードフラグ8を「1」とする。キーボードフラグ8は、表示部10にソフトウェアキーボード11が表示されているか否かを示すフラグを格納する。キーボードフラグ8は、ソフトウェアキーボード11が表示されている場合には、「1」を格納する。ソフトウェアキーボード11が表示されていない場合には、「0」を格納する。
ソフトウェアキーボード11が表示されると、入力制御部3は、イベント待ち時間内にユーザが表示部10に接触するのを待つ。このために、入力制御部3は、イベント用タイマ6を参照する。イベント用タイマ6は、イベント、換言すれば、表示部10に表示されたソフトウェアキーボード11への入力がイベント待ち時間内に発生したか否かを判断するためのタイマである。イベント待ち時間は、予め定められ、例えば1分とされる。
入力制御部3は、ソフトウェアキーボード11が表示された状態でイベント待ち時間内にユーザが表示部10に接触すると、位置検出部31において接触位置を検出し、検出結果を、入力処理部に送る。入力処理部は、ソフトウェアキーボード11の配置に基づいて、ユーザが接触したソフトウェアキーボード11のキーを検出することにより、入力の検出結果を処理する。
図7は、表示部への入力処理のフローチャートである。
情報処理装置の電源が投入されると、ユーザは、表示部10に表示されたアイコン、プルダウンメニュー、ボタン等への選択的な接触を繰り返すことにより、例えば、インターネット上のサイトに接続し、商品を購入する。この時、例えば、ユーザが表示部10の「商品を購入する」のボタンに接触すると、購入者の情報を入力するための画面である入力画面が表示される。入力画面は、前述したように、図2及び図3に示す「性別」「職業」等の入力フィールドを含む画面である。入力画面の表示に応じて、例えば画像生成部2により、編集状態フラグがセットされる、換言すれば、「1」とされる。入力画面の消去に応じて、例えば画像生成部2により、編集状態フラグがリセットされる、換言すれば、「0」とされる。
表示部10に指が接触した場合、入力制御部3の位置検出部31が、接触された位置を検出して、入力制御部3が、キーボードフラグ8及び編集状態フラグ9を参照する。キーボードフラグ8が「0」で編集状態フラグ9が「1」である場合、入力制御部3は、位置の検出結果を、キーボード制御部4に送る。キーボードフラグ8が「0」で編集状態フラグ9が「1」である場合以外の場合、入力制御部3は、位置の検出結果を、入力処理部に送る。
位置の検出結果を受信したキーボード制御部4において、キーボード分割判定部41が、ソフトウェアキーボード11を分割して表示するか否かを判定する(ステップS1)。ステップS1については、図8を参照して後述する。
ステップS1における分割判定の結果に基づいて、キーボード制御部4のレイアウト決定部42が、ソフトウェアキーボード11のレイアウトを決定し(ステップS2)、レイアウト決定の結果に基づいて、画像生成部2のキーボード生成部21が、ソフトウェアキーボード11を表示するために、ソフトウェアキーボード11を含む画像データを生成する(ステップS3)。ステップS2については、図9を参照して後述する。
生成した画像データを用いて、画像生成部2のキーボード生成部21が、図2又は図3に示すような、入力画面上に重ねられたソフトウェアキーボード11を含む画像を表示し(ステップS4)、イベント用タイマ6をスタートさせる(ステップS5)。ステップS4において、キーボード生成部21により、キーボードフラグ8がセットされる、換言すれば、「1」とされる。
イベント用タイマ6のスタートに応じて、入力制御部3の位置検出部31が、イベント待ち、換言すれば、表示部10のソフトウェアキーボード11からのイベント情報の入力待ちの状態となる(ステップS6)。イベント情報の入力待ちの状態において、位置検出部31が、表示部10への接触(以下、タップとも言う)を検知したか否かを判断する(ステップS7)。
タップを検知した場合(ステップS7 Yes)、位置検出部31が、イベント用タイマ6をリセットして(ステップS8)、タップにより入力されたキー入力を処理した後(ステップS9)、ステップS5を繰り返す。従って、イベント用タイマ6は、最初の1回だけキーボード生成部21によりスタートされ、2回目以降は位置検出部31によりスタートされる。ステップS9における入力は、通常のタップによるキー入力である。
タップを検知しない場合(ステップS7 No)、位置検出部31が、イベント用タイマ6が1分経過したか否かを判断する(ステップS10)。イベント用タイマ6が1分経過しない場合(ステップS10 No)、位置検出部31が、ステップS6を繰り返す。イベント用タイマ6が1分経過した場合(ステップS10 Yes)、キーボード生成部21が、ソフトウェアキーボード11を表示部10上から消去する(ステップS11)。ステップS11において、キーボード生成部21により、キーボードフラグ8が「0」とされる、換言すれば、リセットされる。
図8は、ステップS1において実行される、ソフトウェアキーボードの分割判定処理のフローチャートである。
キーボード制御部4のキーボード分割判定部41が、位置の検出結果を受信すると、初期表示用タイマ7をリセットする(ステップS21)。ステップS21において、キーボード分割判定部41により、接触位置の数のカウント値、換言すれば、タップ数もリセットされる。
ステップS21の後、キーボード分割判定部41が、直ちに初期表示用タイマ7を再度スタートさせて(ステップS22)、イベント待機、換言すれば、入力待ちの状態となる(ステップS23)。これにより、最初の指が表示部10に接触してから、イベント待機の時間の経過を監視することができる。
入力待ちの状態において、キーボード分割判定部41が、初期表示用タイマ7の値が経過時間である500msを経過していないか否かを判断する(ステップS24)。
初期表示用タイマ7の値が経過時間を経過していない場合(ステップS24 Yes)、キーボード分割判定部41が、予め定められた時間間隔で、表示部10上においてタップされた位置があるか否かの判断を繰り返す(ステップS25)。時間間隔は、経験的に予め定められ、例えば10mSec(ミリ秒)とされる。タップされた位置がない場合(ステップS25 No)、キーボード分割判定部41が、ステップS23を繰り返す。タップされた位置がある場合(ステップS25 Yes)、キーボード分割判定部41が、その時点におけるタップ数を「+1」だけインクリメントして、新たなタップ数とした後に(ステップS26)、ステップS23を繰り返す。
初期表示用タイマ7の値が経過時間を経過した場合(ステップS24 No)、キーボード分割判定部41が、タップ数が「1」より大きいか否かを判断する(ステップS27)。タップ数が1より大きくない場合(ステップS27 No)、キーボード分割判定部41が、ステップS21を繰り返す。これにより、ユーザはソフトウェアキーボード11を表示するための入力を、再度繰り返す。なお、この時、エラーを表示するようにしても良い。
タップ数が「1」より大きい場合(ステップS27 Yes)、キーボード分割判定部41が、更に、タップ数が「10」であるか否かを判断する(ステップS28)。タップ数が「10」である場合(ステップS28 Yes)、キーボード分割判定部41が、ソフトウェアキーボード11を分割して表示すると判断する(ステップS29)。
タップ数が「10」でない場合(ステップS28 No)、キーボード分割判定部41が、更に、タップ数が「5」であるか否かを判断する(ステップS210)。タップ数が「5」でない場合(ステップS210 No)、キーボード分割判定部41が、ステップS21を繰り返す。これにより、ユーザはソフトウェアキーボード11を表示するための入力を、再度繰り返す。この時、エラーを表示するようにしても良い。
タップ数が「5」である場合(ステップS210 Yes)、キーボード分割判定部41が、ソフトウェアキーボード11を分割しないで表示すると判断する(ステップS211)。
図9は、ソフトウェアキーボードのレイアウト処理のフローチャートである。
レイアウト決定部42が、キーピッチ算出処理を実行することにより、ソフトウェアキーボード11のキーピッチPを算出する(ステップS31)。
この後、レイアウト決定部42が、角度算出処理を実行することにより、ソフトウェアキーボード11のホームポジション行HLの角度Aを計算する(ステップS32)。
この後、レイアウト決定部42が、図8に示すソフトウェアキーボード11の分割判定処理を実行することにより、ソフトウェアキーボード11の分割の有無を決定して、決定結果をステップS31~S32における処理の結果に反映させる(ステップS33)。
具体的には、ソフトウェアキーボード11を分割しない場合、レイアウト決定部42は、算出したキーピッチP及び角度Aを、そのまま用いる。また、複数の接触位置が形成する1個のグループにおいて、人差指の位置がホームポジションHPとされる。
ソフトウェアキーボード11を分割する場合、レイアウト決定部42は、算出した角度Aを、分割する2個のソフトウェアキーボード11A及び11Bについての値として用いる。なお、算出したキーピッチPは、そのまま用いられる。また、複数の接触位置が形成する2個のグループにおいて、各々、人差指の位置がホームポジションHPとされる。
以上の結果が、キーボード制御部4からキーボード生成部21に送られて、キーボード生成部21において、図2又は図3に示すようなソフトウェアキーボード11の画像を表示するためのデータが得られる。
なお、図3においては、ソフトウェアキーボード11を左右に2分割しているが、キーボード制御部4が、複数の接触位置の数に基づいて、ソフトウェアキーボード11を上下に2分割するか否かを決定するようにしても良い。例えば、図6の上段に示すように、ソフトウェアキーボード11の最下行LLの位置を、親指の接触位置に基づいて決定するようにしても良い。これにより、図2に示すソフトウェアキーボード11において最下行LLと他の複数の行とが分割されたソフトウェアキーボード11を、表示するようにしても良い。この時、最下行LL以外の複数の行は、前述したように、親指を除く4本の指の接触位置に基づいて、表示される。キーボード生成部21は、上下に分割するか否かの決定に基づいて、上下に2分割したソフトウェアキーボード11の画像又は1個のソフトウェアキーボード11の画像を生成する。
更に、キーボード制御部4が、複数の接触位置の数に基づいて、ソフトウェアキーボード11を上下左右に4分割するか否かを決定するようにしても良い。例えば、図6の上段に示すように、ソフトウェアキーボード11の最下行LLの位置を、左右の親指の接触位置に基づいて決定するようにしても良い。これにより、図6の上段に示すように、左右に分割されたソフトウェアキーボード11A及び11Bにおいて、更に、最下行LLと他の複数の行とが分割された、換言すれば、上下左右に4個に分割されたソフトウェアキーボード11を、表示するようにしても良い。この時、左右に分割されたソフトウェアキーボード11A及び11Bにおいて、最下行LL以外の複数の行は、前述したように、親指を除く4本の指の接触位置に基づいて、表示される。キーボード生成部21は、上下左右に分割するか否かの決定に基づいて、上下左右に4分割したソフトウェアキーボード11の画像又は1個のソフトウェアキーボード11の画像を生成する。
1 入力表示処理部
2 画像生成部
3 入力制御部
4 キーボード制御部
5 キーボードデータ格納部
6 イベント用タイマ
7 初期表示用タイマ
8 キーボードフラグ
9 編集状態フラグ
10 表示部
11 ソフトウェアキーボード
21 キーボード生成部
31 位置検出部
41 キーボード分割判定部
42 レイアウト決定部
2 画像生成部
3 入力制御部
4 キーボード制御部
5 キーボードデータ格納部
6 イベント用タイマ
7 初期表示用タイマ
8 キーボードフラグ
9 編集状態フラグ
10 表示部
11 ソフトウェアキーボード
21 キーボード生成部
31 位置検出部
41 キーボード分割判定部
42 レイアウト決定部
Claims (8)
- 画像を表示する表示部と、
前記表示部への複数の接触位置を検出する位置検出部と、
前記複数の接触位置に基づいて、複数の入力キーを有するソフトウェアキーボードにおける前記複数の入力キーのキーピッチを決定するキーボード制御部と、
前記キーピッチに基づいて、前記ソフトウェアキーボードの画像を生成して前記表示部に表示するキーボード生成部とを含む
ことを特徴とする情報処理装置。 - 前記キーボード制御部が、前記複数の接触位置の各々の間隔の平均値を算出し、前記平均値に基づいて、前記キーピッチを決定する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記キーボード制御部が、前記複数の接触位置の中の人差指の接触位置に基づいて、前記ソフトウェアキーボードにおけるホームポジションを決定する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記キーボード制御部が、前記複数の接触位置に基づいて、更に、前記表示部の辺に対する前記ソフトウェアキーボードの角度を決定し、
前記キーボード生成部が、前記角度に基づいて、前記ソフトウェアキーボードの前記画像を生成する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記キーボード制御部が、前記複数の接触位置の中の人差指の接触位置と小指の接触位置とを結ぶ直線を算出し、前記直線に基づいて、前記角度を決定する
ことを特徴とする請求項4に記載の情報処理装置。 - 前記キーボード制御部が、前記複数の接触位置の数に基づいて、前記ソフトウェアキーボードについての分割の有無を決定し、
前記キーボード生成部が、前記分割の有無の決定に基づいて、2分割したソフトウェアキーボードの画像又は1個のソフトウェアキーボードの画像を生成する
ことを特徴とする請求項1又は4に記載の情報処理装置。 - 前記キーボード制御部が、前記複数の接触位置の数に基づいて、前記ソフトウェアキーボードを左右に分割するか否かを決定し、
前記キーボード生成部が、前記左右に分割するか否かの決定に基づいて、左右に2分割したソフトウェアキーボードの画像又は1個のソフトウェアキーボードの画像を生成する
ことを特徴とする請求項6に記載の情報処理装置。 - 画像を表示する表示部への複数の接触位置を検出するステップと、
前記複数の接触位置に基づいて、複数の入力キーを有するソフトウェアキーボードにおける前記複数の入力キーのキーピッチを決定するステップと、
前記キーピッチに基づいて、前記ソフトウェアキーボードの画像を生成するステップと、
前記ソフトウェアキーボードの前記画像を前記表示部に表示するステップとを含む
ことを特徴とする入力装置の表示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/067419 WO2012046295A1 (ja) | 2010-10-05 | 2010-10-05 | 情報処理装置及び入力装置の表示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/067419 WO2012046295A1 (ja) | 2010-10-05 | 2010-10-05 | 情報処理装置及び入力装置の表示方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012046295A1 true WO2012046295A1 (ja) | 2012-04-12 |
Family
ID=45927315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/067419 WO2012046295A1 (ja) | 2010-10-05 | 2010-10-05 | 情報処理装置及び入力装置の表示方法 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2012046295A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744588A (zh) * | 2013-12-26 | 2014-04-23 | 苏州佳世达电通有限公司 | 触控显示装置及其功能选单控制方法 |
JP2015203889A (ja) * | 2014-04-10 | 2015-11-16 | キヤノン株式会社 | 情報処理端末、情報処理方法及びコンピュータプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07325655A (ja) * | 1994-05-31 | 1995-12-12 | Wacom Co Ltd | 情報入力方法およびその装置 |
JPH09330175A (ja) * | 1996-06-11 | 1997-12-22 | Hitachi Ltd | 情報処理装置及びその操作方法 |
-
2010
- 2010-10-05 WO PCT/JP2010/067419 patent/WO2012046295A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07325655A (ja) * | 1994-05-31 | 1995-12-12 | Wacom Co Ltd | 情報入力方法およびその装置 |
JPH09330175A (ja) * | 1996-06-11 | 1997-12-22 | Hitachi Ltd | 情報処理装置及びその操作方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744588A (zh) * | 2013-12-26 | 2014-04-23 | 苏州佳世达电通有限公司 | 触控显示装置及其功能选单控制方法 |
CN103744588B (zh) * | 2013-12-26 | 2016-09-28 | 苏州佳世达电通有限公司 | 触控显示装置及其功能选单控制方法 |
JP2015203889A (ja) * | 2014-04-10 | 2015-11-16 | キヤノン株式会社 | 情報処理端末、情報処理方法及びコンピュータプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8749497B2 (en) | Multi-touch shape drawing | |
TWI428812B (zh) | 操控應用程式的方法、其電子裝置、儲存媒體,及使用此方法之電腦程式產品 | |
US9740321B2 (en) | Method for operating application program and mobile electronic device using the same | |
US9524097B2 (en) | Touchscreen gestures for selecting a graphical object | |
US8363026B2 (en) | Information processor, information processing method, and computer program product | |
US8614682B2 (en) | Touchscreen panel unit, scrolling control method, and recording medium | |
US20140380209A1 (en) | Method for operating portable devices having a touch screen | |
US9870144B2 (en) | Graph display apparatus, graph display method and storage medium | |
US20120218308A1 (en) | Electronic apparatus with touch screen and display control method thereof | |
US20100328232A1 (en) | Touch Screen Cursor Presentation Preview Window | |
JP5991320B2 (ja) | 入力装置、画像表示方法およびプログラム | |
TWI442305B (zh) | 多點控制的操作方法及其控制系統 | |
JP5275429B2 (ja) | 情報処理装置、プログラムおよびポインティング方法 | |
JP2013168144A (ja) | イメージ表示方法及びその装置 | |
US9324130B2 (en) | First image and a second image on a display | |
WO2012046295A1 (ja) | 情報処理装置及び入力装置の表示方法 | |
US9501210B2 (en) | Information processing apparatus | |
JP2014153951A (ja) | タッチ式入力システムおよび入力制御方法 | |
JP6197559B2 (ja) | オブジェクト操作システム及びオブジェクト操作制御プログラム並びにオブジェクト操作制御方法 | |
US10101905B1 (en) | Proximity-based input device | |
US20150309601A1 (en) | Touch input system and input control method | |
JP5575027B2 (ja) | 表示一体型座標入力装置及び仮想キーボード機能の起動方法 | |
JP4602199B2 (ja) | 入力装置、入力方法、コンピュータプログラム、半導体デバイス | |
CN110012089B (zh) | 一种控制方法及电子设备 | |
JP5950509B2 (ja) | 表示装置および表示方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10858103 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10858103 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |