INPUT/OUTPUT CONTROLLER AND INPUT/OUTPUT CONTROL PROGRAM
Provided is an input/output controller including: a touch panel display; and a control section configured to cause the touch panel display to display a first icon at a first position on the touch panel display and, when one or more other positions are touched while the first position is touched, perform a process associated with the first icon and the one or more other positions.
The entire disclosure of Japanese Patent Application No. 2014-242877, filed Dec. 1, 2014 is incorporated by reference herein.
BACKGROUND 1. Technical FieldThe present invention relates to an input/output controller and an input/output control program.
2. Related ArtThere is known a technique that enables manipulation of icons via touching of a touch panel display. For example, JP-A-2004-38260 discloses a configuration in which: a plurality of options are displayed; and when an option is pressed and held for a predetermined time period, the option is moved to the top of the list.
With the above-mentioned known technique, it is not possible to perform operations associated with the user's intended positions. For example, it is not possible to move the icon to an intended position other than the top of the list.
SUMMARYAn advantage of some aspects of the invention is that a technique that enables operations associated with positions intended by a user is provided.
An input/output controller according to an aspect of the invention includes a touch panel display; and a control section configured to cause the touch panel display to display a first icon at a first position on the touch panel display and, when one or more other positions are touched while the first position is touched, perform a process associated with the first icon and the one or more other positions. Specifically, when two or more positions on the touch panel display are touched by a user, the control section performs a process associated with these positions.
With this configuration, the user can cause the control section to perform an operation associated with the user's intended positions.
The touch panel display may include: a display configured to display images; and a sensor configured to detect a touch operation at a plurality of positions on the display. The size of the display is not limited. The display may be of a size that can be operated with one hand or may be of a size that needs to be operated with both hands. Furthermore, the touch panel display may be a part of any device. Examples of the device include: mobile terminals such as smartphones and tablets; onboard displays; displays of personal computers; and the like.
The control section is not particularly limited, provided that the control section is configured to cause the touch panel display to display a first icon at a first position and, when one or more other positions are touched while the first position is touched, perform a process associated with the first icon and the one or more positions. Specifically, the control section is capable of controlling images displayed on the touch panel display and detecting the positions of touch operations on the touch panel display. With this configuration, the control section performs a process associated with two or more touched positions.
The first icon is an icon displayed at the first position, and the image of the icon is not limited as to shape, size, color, dimensions and the like. Therefore, any of the icons displayed on the touch panel display can be the first icon. Specifically, among a plurality of displayed icons, the icon on which the first touch operation is performed is the first icon. The first position is a position where the first icon is displayed and where a user is likely to perform a touch operation on the touch panel display with an intention to touch the first icon. Examples of such a first position include: a region enclosed by the border of the first icon; and a region consisting of the first icon and a certain margin of space around it.
The number of the one or more other positions touched while the first position is touched can be any number.
Specifically, the number can be set so that a process associated with the first position and one or more positions other than the first position can be performed. The process associated with the first position and the other positions can be various processes. Examples of processes include: processes regarding displaying icons such as moving or rearranging icons; and processes associated with the icons such as startup of programs indicated by icons or combining of files indicated by icons.
Although the first position is a position where the first icon is displayed, the “other position” may be either a position where an icon is displayed or a position where no icons are displayed. An example of the former is a configuration in which a second position where a second icon distinct from the first icon is displayed serves as an “other position”. An example of the latter is a configuration in which a position where an image other than icons is displayed (or nothing is displayed), such as a space between icons, serves as an “other position”.
The input/output controller may be configured such that the control section performs, when a second position is touched while the first position is touched, a process of moving the first icon to the second position. That is, the control section performs a process to move the first icon to the user's intended position on the basis of two touched positions. This configuration makes it possible to move the user's intended icon to the user's intended position and thus makes operations on the touch panel display more intuitive.
There can be many situations where the process to move the first icon is to be performed. An example is a situation where a plurality of icons are arranged on the touch panel display. In such a situation, it is possible to rearrange the plurality of icons by placing the first icon between any two icons. Various adjustments can be made when the first icon is moved. For example, the positions of icons can be adjusted so that the icons are equally spaced.
The input/output controller may be configured such that the control section causes the touch panel display to display a second icon at a second position that is distinct from the first position and, when the second position is touched while the first position is touched, performs a process of swapping the positions of the first icon and the second icon. That is, when two displayed icons are both touched at the same time, the control section performs a process to swap the positions of the icons. This configuration makes it possible to swap the positions of the user's intended icons and makes operations on the touch panel display more intuitive.
There can be many situations where the process to swap the positions of two icons is to be performed. An example is a situation where a plurality of icons are arranged on the touch panel display. In such a situation, it is possible to swap the positions of two of the arranged icons by selecting the two icons.
The input/output controller may be configured such that the control section causes the touch panel display to display respective different icons in one or more positions other than the first position, determines, on the basis of the order in which the first position and the one or more positions other than the first position are touched, positions into which the icons are to be rearranged, and performs a process to rearrange the icons into the determined positions. That is, when the user touches two or more of the icons which are displayed in a certain order on the touch panel display, the control section rearranges the icons into the positions determined in accordance with the order in which the icons are touched.
With this configuration, the user can rearrange multiple icons into new positions in a small number of operations. Rearranging icons into new positions can be achieved by a variety of configurations. An example is a configuration in which the control section obtains, as a cyclic sequence (a sequence in which the last icon is connected to the first icon), the order in which the icons are touched, and changes the positions of the touched icons so that each of the icons moves by one or more positions in the cyclic sequence. A more specific example is a configuration in which, in the case where the user touches first, second, and third icons displayed at first, second, and third positions in this order, the control section displays the first icon at the second position, the second icon at the third position, and the third icon at the first position.
The input/output controller may be configured such that the control section determines, on the basis of the order in which the touch operations on the touch panel display have ended, whether to perform or cancel the process. In the case where an instruction to perform the process and an instruction to cancel the process can be made by a touch operation, the input/output controller becomes more intuitive. This is preferable. With such a configuration in which whether to perform or cancel the process is determined on the basis of the order in which the touch operations have ended, the user can provide as a single gesture an instruction to perform the process or an instruction to cancel the process after the operation of specifying the positions of icons.
As has been described, according to an aspect of the invention, there is provided a configuration of, when one or more positions other than the first position are touched while the first position is touched, performing a process associated with the first icon and the one or more positions. Such a configuration is also applicable to programs and methods. The above-described devices, programs, and methods may be realized by a single device or may be realized by parts of a multifunction device which are shared with other functions. The devices, programs, and methods may have various arrangements.
The invention will be described with reference to the accompanying drawings, wherein like numbers reference like elements.
The following description discusses embodiments of the invention in the following order:
(1) configurations of an input/output controller
(2) an input/output control process
(3) other embodiments
(1) CONFIGURATIONS OF INPUT/OUTPUT CONTROLLERIn the present embodiment, the control section 20 can execute an input/output control program 21. The control section 20 controls the touch panel display 40 with the processes of the input/output control program 21. Specifically, the control section 20 can cause the touch panel display 40 to display certain images by sending control signals to the touch panel display 40. Furthermore, the control section 20 can determine which position on the display is touched by obtaining a signal from the sensor of the touch panel display 40. That is, on the basis of the touched positions indicated by the signals sequentially received from the touch panel display 40, the control section 20 can determine which positions on the touch panel display 40 are touched by a user and the order in which the positions are touched by the user.
With the input/output control program 21, the control section 20 provides a user interface having a plurality of icons. Specifically, in the present embodiment, icons indicative of application programs executable by the control section 20 are arranged on the touch panel display 40 and, when the control section 20 receives a user's operation of tapping an icon, the control section 20 executes the application program indicated by the tapped icon. In this way, the control section 20 receives instructions to execute application programs while the arranged icons are displayed. Accordingly, in the present embodiment, the icons indicating the respective application programs are predefined, and the icons are stored in the ROM 30 as icon information 30a. Furthermore, the icons are associated with numbers corresponding to their positions in an array of icons, and the positions on the touch panel display 40 where the numbered icons are to be displayed are also predefined.
It should be noted that, in
When the smartphone 10 is switched on, the icons are arranged in a predefined initial order. The control section 20 obtains images of the icons from the icon information 30a in the initial order and draws images to be displayed on the touch panel display 40 so that the obtained images will be displayed in the respective display positions 1 to 9. Then, the control section 20 sends, to the touch panel display 40, information indicative of the drawn images, whereby a user interface screen, as illustrated in
In the case of the configuration above in which a plurality of icons are displayed on the touch panel display 40, there may be a need to rearrange icons according to how often the application programs are used by the user or according to various other factors. In view of this, in the present embodiment, the control section 20 is capable of rearranging icons with the processes of the input/output control program 21.
Specifically, with the processes of the input/output control program 21, the control section 20 causes the touch panel display 40 to display a first icon at a first position on the touch panel display 40 and, when one or more other positions are touched while the first position is touched, performs a process associated with the first icon and the one or more positions. In the present embodiment, this process is a process of moving an icon or a process of rearranging icons into new positions.
In the case where a second position on the touch panel display 40 is touched while the first position is touched and where the second position is not on an icon, the control section 20 performs a process of moving the first icon to the second position. That is, the control section 20 is capable of performing a process to move the first icon to a user's intended position on the basis of two touched positions. The control section 20 moves an icon at the position (first position) at which the first touch operation is performed to the position (second position) at which the second touch operation is performed.
Specifically, the control section 20 performs the following. On the basis of a signal from the sensor of the touch panel display 40, the control section 20 obtains, as a first position, a position on the touch panel display 40 at which the first touch operation is performed by a user. Furthermore, on the basis of a signal from the sensor of the touch panel display 40, the control section 20 obtains, as a second position, a position on the touch panel display 40 at which the second touch operation is performed by the user. The second position is not on an icon. It should be noted here that, since the second position is not on an icon, the first icon can be simply moved to the second position on the display. However, in the present embodiment, the icons are associated with numbers corresponding to their positions in the array of icons, as described earlier. Therefore, the control section 20 renumbers icons so that the first icon is in the position in the array of icons specified by the second position and displays the icons in the changed order. In the embodiment, the position at which the second touch operation is performed on the display and the position in the array of icons specified by the second touch operation are both referred to as the second position.
For example,
Next, the control section 20 renumbers the icon A so that the icon A is in the 5th position in the array of icons (the position in the array of icons specified by the second position) and renumbers the icons originally in the 5th and 6th positions in the array of icons so that these icons are in the 6th and 7th positions in the array of icons. Specifically, the control section 20 renumbers the icon B and the icon C so that the icon B is in the 6th position in the array of icons and the icon C is in the 7th position in the array of icons. Then, the control section 20 displays the icons in the respective positions in the changed order. More specifically, the control section 20 generates image information indicative of icon images arranged in display positions 1 to 9 in the changed order and sends the information to the touch panel display 40. As a result, as illustrated in
With this configuration, the user can move an intended icon to an intended position, and operations on the touch panel display 40 become more intuitive. It should be noted that, in the present embodiment, the user can provide an instruction to perform or cancel the process of moving icons or the process of rearranging icons into new positions. When the user provides an instruction to perform the process in the state of
On the other hand, in the case where the second position is touched while the first position is touched and where the second position is on an icon on the display, the control section 20 performs a process of swapping the positions of the first icon and the second icon.
That is, the control section 20 is capable of performing the process of moving the first icon to the user's intended position on the basis of two touched positions. The control section 20 swaps the icon at the position at which the first touch operation is performed (this position is the first position) and the icon at the position at which the second touch operation is performed (this position is the second position).
Specifically, the control section 20 performs the following. On the basis of a signal from the sensor of the touch panel display 40, the control section 20 obtains, as a first position, the position on the touch panel display 40 at which the first touch operation is performed by a user. Furthermore, on the basis of a signal from the sensor of the touch panel display 40, the control section 20 obtains, as a second position, the position on the touch panel display 40 at which the second touch operation is performed by the user. Here, since the second position is on an icon on the display, the control section 20 determines that the icon which overlaps the second position is a second icon. The control section 20 further determines that the position of the second icon in the array of icons is the position in the array of icons specified by the second position. Then, the control section 20 swaps the positions of the first and second icons and displays the icons in the changed order.
For example,
Next, the control section 20 renumbers the icon A so that the icon A is in the 5th position in the array of icons (the position in the array of icons specified by the second position) and renumbers the icon B so that the icon B is in the 7th position in the array of icons. Then, the control section 20 displays icons in respective positions in the changed order. Specifically, the control section 20 generates image information indicative of the icon images arranged in display positions 1 to 9 in the changed order and sends the information to the touch panel display 40. As a result, as illustrated in
The following description discusses an input/output control process performed by the control section 20 in detail with reference to the flowchart illustrated in
When the input/output control process starts, the control section 20 displays a plurality of icons (step S100). Specifically, the control section 20 refers to the icon information 30a and generates image information indicative of icons arranged in the order of their numbers in respective display positions 1 to 9 and sends the information to the touch panel display 40. As a result, as illustrated in
Next, the control section 20 remains in a wait state until it is determined that a first position is touched (step S105). Specifically, the control section 20 remains in a wait state until the control section 20 receives information from the sensor of the touch panel display 40 indicating that one position is touched. In the case where it is determined that a first position is touched in step S105, the control section 20 remains in a wait state until it is determined that a second position is touched (step S110). Specifically, the control section 20 remains in a wait state until the control section 20 receives information from the sensor of the touch panel display 40 indicating that a touch operation is performed at another position before the touch operation at the first position has ended. It should be noted that, in steps S105 to S110, in the case where the touch operation at the first position has ended before a touch operation is performed at another position, the control section 20 returns to step S105.
In the case where it is determined that a second position is touched in step S110, the control section 20 determines whether or not the second position corresponds to an icon (step S115). Specifically, in the case where the second position does not overlap any of the positions at which icons are displayed as illustrated in the example of
In the case where it is determined that the second position does not correspond to an icon in step S115, the control section 20 renumbers the icon at the first position (this icon is referred to as a first icon) so that the first icon is in the position in the array of icons specified by the second position and obtains temporary display positions (step S120). Specifically, in order to move the first icon to the position in the array of icons specified by the second position, the control section 20 first obtains: the first icon at the first position; and the icons just before and after the second position. For example, in the case where the second position is specified by touching with the index finger as illustrated in
On the other hand, in the case where it is determined that the second position corresponds to an icon in step S115, the control section 20 swaps the first icon and the second icon and obtains temporary display positions (step S125). Specifically, in order to swap the first icon and the second icon, the control section 20 first obtains: the first icon at the first position; and the second icon at the second position. Furthermore, the control section 20 obtains the current order of the array of icons and swaps the positions of the first icon and the second icon to thereby obtain a temporary order of the array of icons. For example, when the second position, or the second icon assigned character B, is specified by touching with the index finger as illustrated in
Next, the control section 20 displays an animation of icons moving to the temporary display positions (step S130). Specifically, the control section 20 determines which of the icons displayed in step S100 are to be moved. Furthermore, the control section 20 obtains the original positions and temporary display positions (new positions) of the icons to be moved and moves the icons gradually from the original positions to the temporary display positions. That is, the control section 20 generates images representing the icons gradually moving frame by frame from the original positions to the temporary display positions and sends, sequentially to the touch panel display 40, image information representing the images of the respective frames, thereby causing the touch panel display 40 to display the animation of the icons moving to the temporary display positions.
For example, in the case of the example illustrated in
Next, the control section 20 determines whether the touch operation at the second position has ended or not (step S135). Specifically, when the sensor of the touch panel display 40 stops sending information indicating that the second position is being touched, the control section 20 determines that the touch operation at the second position has ended. In the case where it is determined that the touch operation at the second position has not ended in step S135, the control section 20 determines whether the touch operation at the first position has ended or not (step S140). Specifically, when the sensor of the touch panel display 40 stops sending information indicating that the first position is being touched, the control section 20 determines that the touch operation at the first position has ended. In the case where it is determined that the touch operation at the first position has not ended in step S140, the control section 20 repeats the processes of step S135 and later steps.
On the other hand, in the case where it is determined that the touch operation at the second position has ended in step S135, the control section 20 determines that an instruction is made to cancel the display positions. The control section 20 displays the icons in the original positions (step S150).
Specifically, the control section 20 generates image information representing icons arranged in display positions 1 to 9 in the original order and sends the information to the touch panel display 40. For example, in the case where an animation of swapping the icons A and B as illustrated in
On the other hand, in the case where it is determined that the touch operation at the first position has ended in step S140, the control section 20 determines that an instruction is made to save the display positions, and does not perform step S150. Specifically, the control section 20 keeps the changed display positions resulted from the animation of step S130 and repeats the processes of step S105 and later steps. In this case, as a result of the animation illustrated in
As has been described, in the present embodiment, with the determination in steps S135 and S140 and the process in step S150, the control section 20 determines whether to perform or cancel the process on the basis of the order in which the touch operations performed on the touch panel display 40 have ended. That is, in the case where the touch operation at the first position has ended before the touch operation at the second position has ended, the changed display positions are saved (
The above-described embodiments are examples of the implementation of the invention. Various other embodiments can also be employed, provided that, when the first position is touched and one or more other positions are touched while the first position is touched, a process is performed in association with the first icon and the one or more other positions. The input/output controller can be included in various devices in addition to the smartphone 10. Examples of such devices include various computers such as mobile terminals, tablet terminals, and printers. Furthermore, the above-described functions can be realized by programs of operating systems (OS) of the devices or can be realized by programs such as application programs which run on operating systems. Furthermore, the control section of the input/output controller can be included in the touch panel display 40 or any other devices. The touch panel display 40 can be one that can detect a finger or the like even when the finger or the like is not actually in contact with the screen. In this case, even when the finger or the like is not actually in contact with the screen, a gesture of specifying an icon displayed on the screen is also considered a “touch operation” of the invention. Furthermore, although the above-described embodiments discussed examples in which the icons are moved according to the user's operation, this does not imply any limitations. Various other processes can be performed according to the user's operations described earlier. Examples include: a configuration in which data indicated by the first icon is opened in an application indicated by the second icon according to the user's operation; and a configuration in which image data indicated by the first icon is printed by the printer indicated by the second icon according to the user's operation.
The following configuration can also be employed: a process readily recognizable to a user, such as changing the position of an icon, is not performed upon touching the icon, but the process readily recognizable to the user is started when the touch has ended which serves as an instruction to save the changed position of the icon. It should be noted that, in the case where the touch has ended which serves as an instruction to cancel the changing of the position of the icon, the process readily recognizable to the user is not performed. In the above case, the following configuration can be employed: upon touching the icon, a preliminary process not readily recognizable to the user is performed and, when the touch has ended which serves as an instruction to perform the process readily recognizable to the user, the process readily recognizable to the user is started. The process readily recognizable to the user can also be referred to as an external process whose results are visible from the outside. Examples of such a process include a process of moving icons and a process of printing image data with a printer. The process not readily recognizable to the user can also be referred to as an internal process whose results are not visible from the outside. Examples of such a process include: a process of creating a table indicating the positions to which the icons are to be moved; and a process of converting image data into a printable form. In this case, when the touch has ended which serves as an instruction to cancel the process not readily recognizable to the user, the process not readily recognizable to the user is stopped and the created table or print data or the like is deleted.
The above-described embodiments discussed animations of moving icons from the original positions to new positions. Needless to say, the animations are not limited to such. For example, the animation can be an animation of shaking of touched icons or shaking of icons which can be moved, or can be an animation of changing colors, or the like. Alternatively, the following configuration can also be employed: in the case where the second position is on the second icon, the first icon is moved to the second position and, in parallel with the movement, each of the second and later icons is moved by one position.
The number of icons to be touched can be three or more. Specifically, the following configuration can be employed: the control section 20 determines positions into which the icons are to be rearranged on the basis of the order in which the first position and one or more other positions are touched and performs a process of rearranging the icons into the determined positions. This configuration can be achieved by the control section 20 performing the process on the basis of three or more touched positions with the use of the hardware structure illustrated in
In this case, the control section 20 assumes that the first to third icons displayed at the first to third positions are in a cyclic sequence (a sequence in which the last icon is connected to the first icon) and, in the case where an instruction to perform the process of changing the positions is made, rearranges the icons by moving each icon by one position in the cyclic sequence. Specifically, in the example illustrated in
Then, the control section 20 displays an animation of the icons moving from the original positions to new positions, as illustrated in
Claims
1. An input/output controller for manipulating icons indicative of application programs within a user interface, the input/output controller comprising:
- a touch panel display; and
- a control section including a processor and an input/output control program, the control section configured to: cause the touch panel display to display the user interface, the user interface including a plurality of icons, amongst which a first icon is displayed at a first position, the first position including a region comprising the first icon and a first margin of space around the first icon, and a second icon is displayed at a second position, the second position including a region comprising the second icon and a second margin of space around the second icon, wherein the first position is different than the second position; determine a first touch input within the first position; while the first touch input remains within the first position, determine a second touch input on the touch panel display that is within or adjacent to the second position, wherein the second touch input is not within the first position, and wherein the second touch input is not on any of the plurality of icons, and wherein the first and second touch inputs are separate touch inputs; while the second touch input remains within or adjacent to the second position, cause the first icon to move and be displayed at a temporary display position within or proximate to the second position, the move being based on the second touch input having been determined while the first touch input remained within the first position; based on the first icon's movement to the temporary display position, cause another icon that was not displayed at the first position to move to a new position; and cause the first icon to be conclusively positioned within the second position based on the first touch input being removed before the second touch input is removed.
2. The input/output controller according to claim 1, wherein the another icon that moves to the new position is the second icon.
3. The input/output controller according to claim 1, wherein the first icon is moved and displayed at the temporary display position within or proximate to the second position in response to the second touch input having been determined while the first touch input remained within the first position.
4. The input/output controller according to claim 1, wherein the control section is further configured to:
- cause the touch panel display to display a plurality of different icons on the user interface at a respective plurality of different positions, wherein the plurality of different icons do not include the first and second icons, each of the plurality of different positions including a region comprising the respective one of the plurality of different icons and a margin of space around the respective one of the plurality of different icons; and
- rearrange the first icon and one or more of the plurality of different icons based on an order in which the first position and one or more of the plurality of different positions corresponding to the one or more of the plurality of different icons are touched.
5. The input/output controller according to claim 1, wherein the control section is further configured to:
- cause the first icon to return to the first position based on the second touch input being removed before the first touch input is removed.
6. The input/output controller of claim 1, wherein a plurality of icons that were not displayed at the first position or the second position are rearranged in response to the first icon's movement based on the second touch input having been determined while the first touch input remained within the first position.
7. The input/output controller of claim 1, wherein a right icon positioned at a right side of the second position shifts to a next position in response to the first icon's movement based on the second touch input having been determined while the first touch input remained within the first position.
8. The input/output controller of claim 1, wherein a plurality of right icons, each of which is positioned at a right side of the second position, shift to a respective new position based on the second touch input having been determined while the first touch input remained within the first position.
9. The input/output controller of claim 1, wherein a right icon positioned at a right side of the second position shifts, in response to the first icon's movement, to the first position based on the second touch input having been determined while the first touch input remained within the first position.
10. The input/output controller according to claim 1, wherein, as the first icon is moving toward the second position, trails of the first icon are illustrated.
11. A mobile terminal, comprising:
- a memory;
- a plurality of application programs stored in memory;
- a plurality of icons corresponding to at least a portion of the plurality of applications programs;
- a plurality of display position data associated with at least a portion of the plurality of icons;
- a control section configured to: execute the plurality of application programs when selected on an input/output control program; and execute the input/output control program,
- the input/output control program configured to: arrange the plurality of icons in an order based on the plurality of display position data; rearrange a plurality of the plurality of the icons based on a determined order of first and second touch operations on a touch panel display; and update at least a portion of the plurality of display position data corresponding to the rearrangement of the plurality of the plurality of the icons.
12. The mobile terminal according to claim 11, wherein the plurality of display position data corresponds to an array.
13. The mobile terminal according to claim 12, wherein the array is a predefined size.
14. The mobile terminal according to claim 11, wherein the mobile terminal is a smartphone.
15. The mobile terminal according to claim 11, wherein the mobile terminal is a tablet.
16. The mobile terminal according to claim 11, wherein the rearrangement of the plurality of the plurality of the icons does not change a location of the plurality of application programs in memory.
Type: Application
Filed: Aug 9, 2022
Publication Date: Dec 1, 2022
Inventor: Tomohiro OGAWA (Shiojiri-shi)
Application Number: 17/884,469