The present invention relates to an electronic apparatus such as a mobile communication terminal, a personal digital assistance (PDA), a touch panel, or a game machine.
In a large number of electronic apparatuses such as mobile communication terminals such as mobile phones and touch panels, a plurality of operations are assigned to one key of operating means thereof. For example, Patent Document 1 discloses a mobile phone in which, when a character is inputted, the character type relating to character input operations assigned to each key can be changed by pressing a shift key. In addition, for example, it is widely known that, for example, during composing a mail by using a mobile phone, an operation is performed to change the mode from Japanese input mode to the English alphabet input mode, the character type relating to character input operations assigned to the respective keys can be changed from Japanese to the English alphabet. Thus, processing for changing key operation assignment based on the user's key operations upon assigning a plurality of operations to one key has been used in electronic apparatuses.
However, in a conventional electronic apparatus, a user must perform some key operations to change the key operation assignment. In the case of the mobile phone of Patent Document 1, in order to change the character type relating to character input operations assigned to the respective keys to another character type, a user must perform a key operation of pressing a shift key. In the above-described example in which the character type relating to character input operations assigned to the respective keys are changed from Japanese to the English alphabet, the user must perform key operations for changing the Japanese input mode to the English alphabet input mode.
An object of the present invention is to provide an electronic apparatus which does not require users to perform key operations to change the key operation assignment.
An electronic apparatus according to the present invention includes: operating means having a plurality of keys capable of being operated independently from each other; control means for executing predetermined operations different from each other assigned to the respective keys when the keys are operated; attitude detecting means for detecting the attitude of the operating means; and assignment changing means for performing assignment changing processing for changing assignment of predetermined operations to be executed by the control means for at least a part of the keys based on the detection results of the attitude detecting means.
In this electronic apparatus, when the operating means is tilted or rotated and changed in attitude, this attitude change is detected by the attitude detecting means. The assignment changing means performs assignment changing processing for changing operation assignment of at least a part of the keys of the operating means. Therefore, a user can change the predetermined operations assigned to at least a part of the keys only by changing the attitude of the operating means without performing special key operations.
The term “change” here means not only changing of predetermined operations assigned to at least a part of the keys to other operations, but also changing of the predetermined operations assigned to at least a part of the keys from a valid state to an invalid state or from an invalid state to a valid state.
In the above-described electronic apparatus, it is preferable that the attitude detecting means detects a change amount in attitude with respect to a reference attitude of the operating means, and when the change amount in attitude detected by the attitude detecting means exceeds a preset threshold value, the assignment changing means executes the assignment changing processing.
In this electronic apparatus, when the attitude of the operating means changes according to an operation of the operating means by a user, a change amount in attitude with respect to a reference attitude of the operating means is detected by the attitude detecting means. When the change amount in attitude detected by the attitude detecting means exceeds a preset threshold value, the assignment changing processing is executed. Therefore, only by an easy operation of changing the attitude of the operating means by a predetermined amount by a user, predetermined operations assigned to at least a part of the keys can be changed. In addition, when the attitude of the operating means does not exceed the threshold value, the assignment changing processing is not executed, so that execution of the assignment changing processing by mistake due to a small change in attitude of the operating means can be avoided.
Preferably, the electronic apparatus includes reference data memory means for storing reference data, wherein the operating means is formed by arranging a plurality of keys on a plane, the attitude detecting means detects the orientation of a predetermined direction predetermined on this plane, the control means stores data on the orientation of the predetermined direction obtained from the attitude detection results made at a predetermined timing by the attitude detecting means as the reference data in the reference data memory means, and calculates an angle between an orientation of a projection direction of the orientation of the predetermined direction obtained from the attitude detection results performed by the attitude detecting means after the reference data storing with respect to a virtual plane on which the plane was positioned at the predetermined timing and the orientation of the predetermined direction identified from the reference data, and the assignment changing means performs the assignment changing processing when the angle calculated by the control means deviates from a predetermined angle range.
In this electronic apparatus, from the detection results performed by the attitude detecting means, the orientation of the predetermined direction predetermined on the plane on which the keys are arranged (hereinafter, referred to as “operation surface”) can be identified. Then, data on the orientation of the predetermined direction obtained from the attitude detection results performed by the attitude detecting means at the predetermined timing is stored as reference data in the reference data memory means. This reference data indicates an attitude (basic attitude) of the operation surface when a user operates a key on the operation surface in a state that the normal line direction of the operation surface is substantially fixed. The predetermined timing is properly set so that the reference data becomes the data showing the basic attitude. A detailed example of this predetermined timing will be described later.
In this electronic apparatus, after storing the reference data, attitude detection is performed by the attitude detecting means at an arbitrary timing, and an orientation of the projection direction with respect to the virtual plane in the orientation of the predetermined direction obtained from the detection results is calculated. Thereafter, an angle between the orientation of the projection direction and the orientation of the predetermined direction identified from the reference data is calculated. The virtual plane corresponds to a plane on which the operation surface is positioned in the basic attitude. Therefore, the angle to be calculated herein indicates the degree of rotation of the attitude of the operation surface when it is detected after the reference data is stored with respect to the basic attitude within the virtual plane. Accordingly, a user rotates the operation surface around the normal line of the operation surface in the basic attitude in which the normal line detection of the operation surface is substantially fixed, and when the rotation angle deviates from a predetermined angle range, the user can change the predetermined operations assigned to at least a part of the keys.
In the electronic apparatus, it is preferable that the assignment changing processing is for assigning predetermined operations that were assigned to the respective keys as operation assignment changing targets before changing to other keys.
In this electronic apparatus, when the assignment changing processing is performed, operations that were assigned to the keys as operation assignment changing targets are assigned to other keys. Therefore, even after the key operation assignment is changed, the operations which the user can execute by key operations are the same before and after the change. Accordingly, even if the key operation assignment is changed, the user can execute the operations before being changed.
The above-described “electronic apparatus” includes not only a mobile communication terminal but also a Personal Digital Assistance (PDA), a game machine, etc. The “mobile communication terminal” includes a GSM (Global System for Mobile Communications) type or a TIA (Telecommunications Industry Association) type mobile phone, a mobile phone standardized by IMT (International Mobile Telecommunications)-2000, a TD-SCDMA (MC: Multi Carrier) type mobile phone that is one of the TD-SCDMA (Time Division Synchronous Code Division Multiple Access) type, a PHS (Personal Handyphone System), a car phone, etc. The “mobile communication terminal” also includes a mobile communication terminal added with a mobile phone module. The “electronic apparatus” also includes an electronic apparatus which does not have communication functions.
Control in the electronic apparatus can also be realized by executing a predetermined program in a computer provided therein. The program to be used in this computer may be provided by using a recording medium such as an FD or CD-ROM storing the program as digital information, or may be provided by using a communication network such as a computer network.
According to the present invention, a user can change predetermined operations assigned to at least a part of a plurality of keys of an operating means only by changing an attitude of the control means without performing special key operations. Therefore, when the key operation assignment is changed, key operations by a user are not required.
10 MOBILE PHONE COMMUNICATION NETWORK
11 DOWNLOAD SERVER
20 MOBILE PHONE
21 NUMERIC KEYPAD
27 LIQUID CRYSTAL DISPLAY
207 ACCELERATION SENSOR
208 GEOMAGNETIC SENSOR
213 OPERATION UNIT
214 APPLICATION PROGRAM EXECUTION MANAGEMENT UNIT
215 MAIN CONTROL UNIT
217 SENSOR DETECTION UNIT
220 OPERATING MEANS
221 CONTROL MEANS
222 ATTITUDE DETECTING MEANS
223 ASSIGNMENT CHANGING MEANS
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
In this mobile communication system, the mobile phone 20 that a user 1 uses has a configuration capable of executing an application program registered by the user 1. In the present embodiment, this application is developed according to object-oriented programming which does not depend on a platform. As such an application program, there are available application programs written in JAVA (registered trademark, the same applies to the description below), and application programs which work in an application execution environment of BREW (registered trademark, the same applies to the description below). This mobile phone 20 is connectable to a mobile phone network 10 as a communication network. To this mobile phone network 10, an application program download server (hereinafter, referred to as “download server”) 11 as a program providing server is connected. When this download server 11 accepts a download request from the mobile phone 20, the download server 11 transmits an application program relating to this request to the mobile phone 20.
The application program provided from the download server 11 is provided from a developer 2 of the application program. More specifically, for example, from a personal computer, etc., on the application program developer 2 side, the application program is uploaded to the download server 11 via an exclusive line or public line and provided. It is also possible that a recording medium such as an optical disk or magnetic disk on which the developed application program has been recorded is delivered from the application program developer 2 to a communication carrier who manages and operates the download server 11 and the application program in the recording medium is read by the download server 11 and provided. The thus provided application program is registered on the download server 11 in a state that it can be downloaded into the mobile phone 20 via the mobile phone network 10.
This download server 11 includes a system bus 100, a CPU 101, an internal memory device, an external memory device 104, an input device 105, and an output device 106. The internal memory device is comprised of a RAM 102 and a ROM 103, etc. The external memory device is comprised of a hard disk drive (HDD) or an optical disk drive, etc. The input device 105 is comprised of the external memory device 104, a mouse, and a keyboard, etc. The output device 106 includes a display and a printer, etc. Furthermore, this download server 11 includes a mobile phone communication device 107 for communicating with the mobile phones 20 of each user 1 via the mobile phone network 10.
Components such as the CPU 101 and the RAM 102 exchange data and program commands, etc., with each other via the system bus 100. A program for operating this download server 11 according to predetermined procedures is stored in the ROM 103 or the external memory device 104, and it is called out to a work area on the CPU 101 and the RAM 102 and executed as appropriate. In this download server 11, the application program to be provided to the mobile phone 20 is stored in the external memory device 104. The download server 11 has a function for transmitting the application program stored in the external memory device 104 to the mobile phone 20 via the mobile phone communication network 10 by cooperation of the CPU 101, RAM 102, and communication device 107, etc., for a mobile phone communication network in response to a download request from the mobile phone 20. This download server 11 may be constructed as an exclusive control unit, or may be constructed by using a general-purpose computer system. It may be constructed by one computer, or may be constructed by connecting a plurality of computers having a plurality of functions, respectively, to each other by a network.
This mobile phone 20 is a clam shell (folding) type mobile phone, and includes an internal control device including a system bus 200, a CPU 201, a RAM 202, and a ROM 203, etc., an input device 204, an output device 205, a mobile phone communication device 206, an acceleration sensor 207, and a geomagnetic sensor 208, etc. Components such as the CPU 201 and the RAM 202 exchange various data and program commands described later, etc., with each other via the system bus 200. The input device 204 is comprised of data input keys (numeric keypad, * key, # key) 21, a call start key 22, a call termination key 23, a scroll key 24, a multifunction key 25, and a microphone 26, etc. The output device 205 is comprised of a liquid crystal display (LCD) 27 as display means, and a speaker 28, etc. The mobile phone communication device 206 is for communications with other mobile phones or the download server 11 via the mobile phone network 10. In addition, the RAM 202 has a platform memory area as a first memory means to be managed by a phone platform described later and an application memory area as a second memory means to be managed in an application execution environment described later.
The acceleration sensor 207 is a triaxial acceleration sensor for detecting accelerations αx and αy in the two directions (the X-axis direction and Y-axis direction in
Furthermore, the geomagnetic sensor 208 is a triaxial sensor for detecting magnetic field intensity components (magnetic flux density components) of geomagnetism on a three-dimensional coordinate system consisting of the X-axis, the Y-axis, and the Z-axis. In the present embodiment, by using the detection results performed by this geomagnetic sensor 208, the angles θX, θY, and θZ around the X-axis, the Y-axis, and the Z-axis are detected. More specifically, a change amount of the geomagnetic direction with respect to a reference geomagnetic direction (reference direction) is detected by using the angles θX, θY, and θZ around the X-axis, Y-axis, and Z-axis. Thereby, when the mobile phone changes in attitude from an attitude in which the geomagnetic direction is in the reference direction, the changed attitude can be identified from the respective angles θX, θY, and θZ. In the description given below, the angle θX around the X-axis is referred to as a pitch angle, the angle θY around the Y-axis is referred to as a roll angle, and the angle θZ around the Z-axis is referred to as a yaw angle. The yaw angle θZ referred to herein indicates an angle between a horizontal projection Y-axis on a horizontal plane of the Y-axis and the north direction. Therefore, from this yaw angle θZ, the direction of the horizontal projection Y-axis of the mobile phone 20 can be recognized. This geomagnetic sensor 208 is also mounted on the circuit board that is not shown, provided inside the mobile phone 20.
The acceleration sensor 207 and the geomagnetic sensor 208 may be constructed as devices separate from the main body of the mobile phone 20. In this case, concerning the acceleration sensor 207 and the geomagnetic sensor 208, an external unit including these sensors 207 and 208 is integrally connected to the main body of the mobile phone 20, more specifically, to the liquid crystal display 27 of the mobile phone 20.
This mobile phone 20 includes a phone communication unit 211 and a data communication unit 212 as radio communication means, an operation unit 213 as the operating means 220, an application program execution management unit 214 as the application program executing means, a main control unit 215, an output unit 216, a sensor detection unit 217 as the attitude detecting means 222, etc.
The phone communication unit 211 is for radio communications with base stations of the mobile phone network 10 to make phone communications with other mobile phones or fixed line phones, and corresponds to a mobile phone communication device 206, etc., on the hardware configuration described above.
The data communication unit 212 corresponds to the mobile phone communication device 206, etc., on the above-described hardware configuration similarly to the phone communication unit 211. This data communication unit 212 is for exchanging mail with other mobile phones via the mobile phone network 10 or for exchanging electronic mail or browsing web pages on the Internet by being connected to an external communication network such as the Internet via a gateway server from the mobile phone network 10. This data communication unit 212 is also used for downloading an application program provided by the download server 11 via the mobile phone network 10.
The operation unit 213 is comprised of the above-described numeric keypad 21, call start key 22, and call termination key 23, etc., to be operated by the user 1. By operating various keys of the operation unit 213, a user can input data such as a URL into the mobile phone 20, start or terminate calling when an incoming call is received, and select, start, and stop an application program. In addition, by operating various keys of the operation unit 213, a user can download application programs from the download server 11.
The application program execution management unit 214 is comprised of the above-described system bus 200, the CPU 201, and a part of the RAM 202, etc. This application program execution management unit 214 corresponds to an “application execution environment” at the center of the software structure of
Herein, the application program can be used by calling a class library of functions, etc., in the application execution environment via a class library API (application interface). The calling history of the class library of functions, etc., is stored in an application memory area in the RAM 202 until the virtual execution environment (virtual machine: VM) of the application program is ended. Also, in the application execution environment, various data to be used for the application execution program is also stored in the application memory area. When the various data are used, they are read out from and written on this application memory area. The execution environment management library in the application execution environment can be used by calling a phone platform library in a phone platform described later via a phone platform API.
In the present embodiment, detection data (accelerations αX, αY, and αZ, pitch angle θX, roll angle θY, and yaw angle θZ) detected by the sensor detection unit 217 described later composing the acceleration sensor 207 and the geomagnetic sensor 208, etc., are used in the application program. In a conventional application execution environment, the means for using the detection data in the application program was not provided, so that in the present embodiment, a new class (orientation class) is added to the class library. In this orientation class, methods as command sets including getXGravity( ), getYGravity( ), and getZGravity( ) for acquiring data of the accelerations αX, αY, and αX and getPitch( ), getRoll( ), and getCompassBearing( ) for acquiring data of the pitch angle θX, roll angle θY, and yaw angle θZ, etc., are prepared. Therefore, according to the present embodiment, the application program can acquire the detection data by using these methods and use the data.
The main control unit 215 controls the phone communication unit 211, the data communication unit 212, the output unit 216, and the sensor detection unit 217, and is comprised of the above-described system bus 200, the CPU 201, and the RAM 202, etc. This main control unit 215 exchanges control commands and various data with the application program execution management unit 214, and performs controlling in cooperation with it. The main control unit 215 corresponds to the “phone platform” on the lowest side of the software structure of
The output unit 216 is comprised of the output device 205, etc., including the above-described liquid crystal display 27 and the speaker 28, etc. This output unit 216 displays a web page screen received by the data communication unit 212 on the liquid crystal display 27. The liquid crystal display 27 of this output unit 216 is used for informing a user that the phone communication unit 211 and the data communication unit 212 have received information. More specifically, when the information is received, by the main control unit 215, a receipt informing image is displayed on the liquid crystal display 27 of the output unit 216 or a ring tone is outputted from the speaker 28. Furthermore, during the application execution program which is executed in the application execution environment, this output unit 216 is also used for displaying a menu screen, etc., or outputting music relating to the execution of the program.
The sensor detection unit 217 is comprised of the acceleration sensor 207 and the geomagnetic sensor 208, etc. This sensor detection unit 217 works under the control of the main control unit 215, and the main control unit 215 acquires the detection data detected by the sensor detection unit. The data of the accelerations αX, αY, and αZ and the data of the pitch angle θX, roll angle θY, and yaw angle θZ as the detection data are stored in the platform memory area of the RAM 202 as described above. For example, gravity acceleration components in the X-axis direction, the Y-axis direction, and the Z-axis direction which change according to the direction of gravitational force acting on the mobile phone 20, that is, the direction of gravitational force acting on the display surface of the liquid crystal display 27 are detected by the acceleration sensor 207 constituting the sensor detection unit 217. When the detection data are inputted into the main control unit 215, the main control unit 215 can recognize the accelerations in the X-axis direction, the Y-axis direction, and the Z-axis direction from the detection data. The data of the accelerations αX, αY, and αZ are temporarily stored in the platform memory area in the RAM 202 by the main control unit 215.
When the attitude of the mobile phone 20, that is, the operation unit 213 changes, magnetic field intensity components (magnetic flux density components) after this attitude change are detected by the geomagnetic sensor 208 constituting the sensor detection unit 217. The sensor detection unit 217 calculates the respective angles θX, θY, and θZ after change in attitude from detection signals detected by the geomagnetic sensor 208. The data of the respective calculated angles θX, θY, and θZ are outputted to the main control unit 215 and temporarily stored in the platform memory area in the RAM 202 by the main control unit 215 in the same manner as in the case of the accelerations αX, αY, and αZ.
When the orientation of the mobile phone 20 changes, magnetic field intensity components (magnetic flux density components) after this orientation change are detected by the geomagnetic sensor 208 constituting the sensor detection unit 217. The sensor detection unit 217 calculates the yaw angle θZ after the orientation change from detection signals detected by the geomagnetic sensor 208. The data of the calculated yaw angle θZ is also outputted to the main control unit 215 and temporarily stored in the platform memory area in the RAM 202 by the main control unit 215.
As a method for acquiring the data of the accelerations αX, αY, and αZ and the angles θX, θY, and θZ to be stored in the platform memory area from the sensor detection unit 217 by the main control unit 215, the following methods are available. For example, there is an acquiring method in which the main control unit 215 sends a request to the sensor detection unit 217, and in response thereto, the sensor detection unit 217 outputs the data and the main control unit 215 receives the data. Also, for example, an acquiring method may be employed in which data continuously outputted from the sensor detection unit 217 regardless of receiving of a request is received by the main control unit 215 as appropriate. It is also possible to employ an acquiring method in which the main control unit 215 sends a request to the sensor detection unit 217 in response to a request outputted by the application program via the application program execution management unit 214, and in response thereto, the sensor detection unit 217 outputs data and the main control unit 215 receives the data.
A control program for creating a phone platform to operate the mobile phone 20 according to predetermined procedures is stored in the RAM 202 and ROM 203. The basic OS (operating system) programs, programs for creating the application execution environment, and application programs are also stored in the RAM 202 and the ROM 203. These programs are called out to a work area in the CPU 201 and RAM 202 and executed as appropriate.
Next, assignment changing processing of key-assigned operations as a feature of the present invention will be described. In the present embodiment, the case where the present invention is applied to processing operations for executing an application program using the pitch angle θX, the roll angle θY, and the yaw angle θZ indicating the attitude of the mobile phone 20 (operation unit 213) will be described by way of example. In the present embodiment, this application program is a flight simulator as a game.
First, the user 1 acquires the application program for the flight simulator by downloading from the download server 11, and registers the application program (S1). More specifically, the user 1 accesses the download server 11 by operating the keys of the operation unit 213. Thereby, a download selection screen for selecting a downloadable application program is displayed on the liquid crystal display 27. In this download selection screen, the application program to be executed is selected by using the scroll key 24, and by depressing the multifunction key 25, the main control unit 215 controls the data communication unit 212 and downloads the application program from the download server 11. The thus downloaded application program is stored in the RAM 102 by the main control unit 215.
In order to execute the downloaded application program, the user 1 makes the liquid crystal display 27 display an application selection screen for selecting the application program to be executed by operating the keys of the operation unit 213. Then, in this application selection screen, the user selects the application program for the flight simulator to be executed by using the scroll key 24 and depresses the multifunction key 25. Then, in the phone platform shown in
When this program starts and the user 1 performs a predetermined operation on the keys of the operation unit 213 to start the game (S4), the game is started, and the liquid crystal display 27 of the output unit 216 displays a game screen imitating the field of view from a pilot's seat of an airplane. Then, the application program start angle data acquisition processing for acquiring data of the pitch angle θX, roll angle θY, and yaw angle θZ to be detected by the sensor detection unit 217 substantially in real time. The program updates the contents of the game screen displayed on the liquid crystal display 27 according to the acquired data. For example, when the user 1 tilts the antenna side of the mobile phone 20 downward in the vertical direction, in response to this, the pitch angle θX changes. Then, when a change amount in pitch angle θX exceeds a preset threshold value, the game screen is updated so that the nose of the airplane in the game is turned downward in the vertical direction. For example, when the user 1 tilts the display surface of the liquid crystal display 27 of the mobile phone 20 to the left, in response to this, the roll angle θY changes. When a change amount in roll angle θY exceeds a preset threshold value, the game screen is updated so that the airplane in the game tilts to the left. In the present embodiment, when the airplane in the game is controlled, data of the yaw angle θZ is not used.
More specifically, as shown in
In the present embodiment, as shown in
First, in the present embodiment, when the user 1 performs a predetermined operation to start the game (S4), at this timing, the application program execution management unit 214 functions as the control means 221 of the present invention, and stores the data of the yaw angle θZ acquired by the application program at the beginning in a reference data memory area (reference data memory means) in the application memory area in the RAM 202 (S5, S6). The data of the yaw angle θZ indicates an angle around the Z-axis coincident with the normal line direction of the operation surface as shown in
When the reference data θZ0 is stored and the game is started as described above, the game progresses while the user 1 changes the attitude of the mobile phone 20 for controlling the airplane in the game and operates the various keys 21, 22, 23, 24, and 25. In the present embodiment, the user 1 plays the game while looking at the vertically long game screen immediately after the game starts. When the user 1 plays the game while looking at the vertically long game screen, the “3” key of the numeric keypad 21 is assigned to an operation for accelerating the airplane in the game (hereinafter, referred to as “accelerating operation”), and the “#” key is assigned to an operation for decelerating the airplane in the game (hereinafter, referred to as “decelerating operation”). To some of the other keys, various operations may be assigned, however, description thereof is omitted herein. When the user 1 changes the attitude of the mobile phone 20 to control the airplane in the game or to make the direction of the game screen long in the horizontal direction, this attitude change is detected by the geomagnetic sensor 208 of the sensor detection unit 217, and data of the angles θX, θY, and θZ are delivered to the application program (S7). Thereby, the application program execution management unit 214 updates the game screen information on the game screen imitating the field of view from the pilot's seat of the airplane according to the controlling results of the airplane in the game based on the data of the pitch angle θX and the roll angle θY (S8). The application program execution management unit 214 executes the game screen direction switching process and key-assigned operation changing process based on the data of the yaw angle θZ according to the contents of the application program (S9). Then, the application program execution management unit 214 executes processing for drawing the updated game screen on the display surface of the liquid crystal display 27 (S10).
The application program execution management unit 214 calculates the difference between the yaw angle data θZ acquired at Step S7 described above and the reference data θZ0 stored in the reference data memory area (S11). In the game, even if the user 1 changes the attitude of the mobile phone 20 so as to change the pitch angle θX and the roll angle θY for controlling the airplane, the Y-axis predetermined direction) hardly rotates around the Z-axis. Therefore, the yaw angle data θZ acquired at S7 corresponds to the projection direction of the Y-axis onto the virtual plane on which the operation surface has been positioned at the time of game start. For example, when the user 1 moves the mobile phone 20 from the attitude at the game start shown in
Herein, in the table memory area (key-assigned operation data memory means) of the application program memory area of the RAM 202, three key-assigned operation tables as key-assigned operation determining data for determining operations assigned to various keys according to the difference (change amount in yaw angle data θZ) are stored. Each key-assigned operation table associates a threshold value of the difference from the reference data θZ0 (change amount in yaw angle dataθZ) and operations to be assigned to the various keys when the difference exceeds the threshold value with each other. When the application program execution management unit 214 accepts a key operation signal from the operation unit 213 via the main control unit 215, the application program execution management unit 214 executes an operation assigned to a key relating to the accepted key operation signal by referring to one key-assigned operation table in which a flag described later is set.
The application program execution management unit 214 calculates the difference and then determines whether the angle range to which the difference belongs has been changed (S12). The angle range to which this difference can belong is from −180 degrees to +180 degrees. In the present embodiment, this angle range is divided into a first range not less than −45 degrees and not more than +45 degrees, a second range less than −45 degrees, and a third range more than +45 degrees, and it is determined which range the calculated difference belongs to. In this example, the angle of −45 degrees and the angle of +45 degrees are threshold values.
Immediately after the game starts, the mobile phone 20 is in the attitude shown in
On the other hand, when the user 1 changes the attitude of the mobile phone 20 from the attitude shown in
When the user 1 changes the attitude of the mobile phone 20 from the attitude shown in
Therefore, in the present embodiment, when the angle range that the calculated difference belongs to changes to the second range out of the first range (predetermined range) as described above, the application program execution management unit 214 functions as the assignment changing means 223 and performs processing for changing the key-assigned operations (S14). More specifically, the application program execution management unit 214 selects a key-assigned operation table corresponding to the calculated difference, that is, a key-assigned operation table corresponding to the second range from the application program memory area, and sets a flag therein. After this flag setting, the application program execution management unit 214 executes an operation assigned to a key relating to an accepted key operation signal by referring to the key-assigned operation table in which the flag has been set. In the present embodiment, by this key-assigned operation change, the assignment of the accelerating operation that has been assigned to the “3” key of the numeric keypad 21 is changed to the “#” key. The assignment of the decelerating operation which has been assigned to the “#” key of the numeric keypad 21 is changed to the “*” key.
By this key-assigned operation change, even when the user 1 changes the attitude of the mobile phone 20 from the attitude shown in
In the present embodiment, the main control unit 215 receives an angle data acquiring request from the application program execution management unit 214 after the game start, and accordingly, after this, each time when the data of the angles θX, θY, and θZ in the platform memory area are updated, the main control unit 215 sends the updated data to the application program execution management unit 214. Therefore, the user 1 can play the game of controlling the airplane in the game by tilting the main body of the mobile phone 20 while looking at the liquid crystal display 27 of the mobile phone 20. Thereby, the realistic sensation of the controlling can be increased. In addition, even when the attitude of the mobile phone 20 is changed to the attitude shown in
A preferred embodiment of the present invention is described above, however, variations can be added to the disclosed embodiment within the technical scope described in the claims without deviating from the scope and the spirit of the present invention.
For example, in the present embodiment, keys arranged on the operation surface are described, however, the same also applies to the keys arranged out of the operation surface. Therefore, for example, key-assigned operations of back-side keys and side keys exposed to the outside in the state that the clam shell is closed may be changed.
In the present embodiment, when the user 1 changes the attitude of the mobile phone 20 from the attitude shown in
Furthermore, in the present embodiment, even before the attitude change shown in
Normally, the mobile phone 20 is handled in the attitude shown in
In addition, in the present embodiment, the attitude of the display surface of the liquid crystal display 27 is recognized by using the pitch angle θX, the roll angle θY, and the yaw angle θZ detected by the geomagnetic sensor 208 of the sensor detection unit 217, however, it is also possible that the attitude of the display surface of the liquid crystal display 27 is recognized by using three accelerations αX, αY, and αX detected by the acceleration sensor 207. That is, by detecting the gravity acceleration by the acceleration sensor 207, the accelerations αX, αY, and αZ become the gravity acceleration components of the X-axis, the Y-axis, and the Z-axis, respectively. From these gravity acceleration components, the attitude of the mobile phone 20, that is, the attitude of the operation surface with respect to the gravity direction can be recognized.
In the present embodiment, the case where angle data sent from the sensor detection unit 217 are used in an application program which does not depend on a platform that works in an application execution environment built on the phone platform is described, however, the same applies to the case where an application program depending on the platform, that is, an application program which directly works on the phone platform.
The present invention is also effectively applicable to a game in which a virtual ball of the game is dropped in a hole on the game screen displayed on the liquid crystal display 27 as well as games like the above-described flight simulator. In this case, the application program has contents that by tilting the mobile phone 20, the virtual ball moves toward the tilting direction.
Without limiting to such games, the present invention is also effectively applicable to an application program for composing a mail. That is, when a user composes mail and changes the screen to be long horizontally or vertically according to his/her preference, in the same manner as described in the embodiment above, the screen direction is switched and the key layout observed from the user is maintained. Thereby, in both cases where the screen is long horizontally and vertically, the user can input characters with the same operability.
Furthermore, in the present embodiment, the timing for performing the attitude detection relating to the reference data is the timing of a predetermined operation for starting the game, however, the timing is not limited to this as long as the attitude of the operation surface when keys on the operation surface are operated by the user in a state that the normal line direction of the operation surface is substantially fixed can be identified at the timing. This timing differs depending on the type of the electronic apparatus to which the present invention is applied and operation modes thereof, etc. For example, when the present invention is applied in the above-described mail composing operation mode, the timing is set to the timing of transition to this operation mode, more specifically, the timing of a predetermined operation for displaying a mail composing screen. For example, it is determined whether the attitude of the electronic apparatus is the same during a plurality of times of key operations, and when it is determined that it is in the same attitude, these attitude detection results may be stored as reference data.
The present invention is widely applicable to all electronic apparatuses as well as the above-described mobile phone 20, and in this case, the same effect is obtained.
Number | Date | Country | Kind |
---|---|---|---|
2004-197618 | Jul 2004 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP05/12248 | 7/1/2005 | WO | 00 | 1/14/2008 |