Operating device, information processing method, and computer program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- SONY INTERACTIVE ENTERTAINMENT LLC
- Filing Date
- 2023-10-12
- Publication Date
- 2026-05-26
Smart Images

Figure 0007866075000005 
Figure 0007866075000006 
Figure 0007866075000007
Abstract
Description
[Technical Field]
[0001] This invention relates to data processing technology, and more particularly to operating devices, information processing methods, and computer programs. [Background technology]
[0002] Control devices equipped with analog input devices such as analog sticks and trigger buttons are becoming widespread. Some control devices with analog input devices also allow for adjustment of the sensitivity of the analog input devices. [Overview of the Initiative] [Problems that the invention aims to solve]
[0003] There is a need to reduce the computational load required to reflect the sensitivity set for an analog input device in the output value of a control device based on user operation of the analog input device.
[0004] The present invention aims to provide a technology that reduces the computational load required to reflect the sensitivity set in an analog input device in the output value of an operating device based on user operation of the analog input device. [Means for solving the problem]
[0005] To solve the above problems, an operating device in one aspect of the present invention comprises an analog input device, a storage unit for storing setting information relating to the sensitivity of the analog input device, a generation unit for generating operation information based on user operation on the analog input device, and a transmission unit for transmitting the operation information generated by the generation unit to an external information processing device. The generation unit (A) acquires a value in a Cartesian coordinate system based on the operation amount of the analog input device, (B) converts the value in the Cartesian coordinate system to a value in another coordinate system, (C) converts the value in the other coordinate system based on the sensitivity of the analog input device indicated by the setting information, and (D) converts the converted value in the other coordinate system based on the sensitivity of the analog input device to a value in a Cartesian coordinate system to be set in the operation information.
[0006] Another aspect of the present invention is an operating device. This device includes an analog input device, a storage unit that stores setting information regarding the sensitivity of the analog input device, and a processor. The processor executes a process of generating operation information based on a user operation on the analog input device and a process of transmitting the generated operation information to an external information processing device. The generating process includes: (A) obtaining values in a Cartesian coordinate system based on the operation amount of the analog input device; (B) converting the values in the Cartesian coordinate system to values in another coordinate system; (C) converting the values in the other coordinate system based on the sensitivity of the analog input device indicated by the setting information; and (D) converting the values in the other coordinate system after conversion to the values in the Cartesian coordinate system to be set in the operation information based on the sensitivity of the analog input device.
[0007] Yet another aspect of the present invention is an information processing method. This method includes steps in which an operating device including an analog input device and a storage unit that stores setting information regarding the sensitivity of the analog input device generates operation information based on a user operation on the analog input device and transmits the generated operation information to an external information processing device. The generating step includes: (A) obtaining values in a Cartesian coordinate system based on the operation amount of the analog input device; (B) converting the values in the Cartesian coordinate system to values in another coordinate system; (C) converting the values in the other coordinate system based on the sensitivity of the analog input device indicated by the setting information; and (D) converting the values in the other coordinate system after conversion to the values in the Cartesian coordinate system to be set in the operation information based on the sensitivity of the analog input device.
[0008] In addition, any combination of the above components, as well as those obtained by converting the expression of the present invention among a system, a computer program, a recording medium storing the computer program, etc., are also effective as aspects of the present invention.
Advantages of the Invention
[0009] According to the present invention, it is possible to reduce the computational load for reflecting the sensitivity set for the analog input device with respect to the output value of the operating device based on the user operation on the analog input device.
Brief Description of the Drawings
[0010] [Figure 1] It is a diagram showing an information processing system according to an embodiment. [Figure 2] It is a diagram showing the upper surface of the controller. [Figure 3] It is a diagram showing the rear side surface of the controller. [Figure 4] It is a diagram showing the hardware configuration of the controller. [Figure 5] It is a diagram showing the hardware configuration of the information processing apparatus. [Figure 6] It is a block diagram showing the functional blocks of the controller. [Figure 7] It is a block diagram showing the functional blocks of the information processing apparatus. [Figure 8] It is a diagram showing an example of an analog stick setting screen. [Figure 9] It is a diagram showing an example of a sensitivity curve. [Figure 10] It is a diagram showing the relationship between the operation of the analog stick and the output value. [Figure 11] It is a flowchart showing the operation of the controller. [Figure 12] It is a diagram showing an example of the values in the polar coordinate system before sensitivity application. [Figure 13] It is a diagram showing an example of the values in the polar coordinate system after sensitivity application. [Figure 14] FIG. 14(a), FIG. 14(b), and FIG. 14(c) show the relationship between the trigger stopper setting and the normalization range. [Figure 15] It is a diagram showing the relationship between the trigger stopper setting and the dead zone. [Figure 16] It is a diagram showing an example of a trigger setting screen. [Figure 17] It is a diagram showing the relationship between the correction point and the output value of the controller. [Figure 18] It is a diagram showing the relationship between the correction point and the output value of the controller. [Figure 19]This figure shows an example of assigning a new output value to a correction point. [Figure 20] This figure shows an example of assigning a new output value to a correction point. [Modes for carrying out the invention]
[0011] Figure 1 shows an information processing system 1 according to an embodiment. The information processing system 1 comprises an information processing device 10, a display device 4, and a controller 6. In this embodiment, the information processing device 10 is a stationary game console. As a modification, the information processing device 10 may be a computer, tablet terminal, or smartphone capable of running applications such as games.
[0012] Controller 6 is an operating device that receives user input regarding information processing (e.g., video games) performed by the information processing device 10. Controller 6 sequentially transmits operation information indicating the user input to the information processing device 10. Controller 6 can also be called a game controller. The information processing device 10 and Controller 6 are connected by wire or wireless. In this embodiment, the information processing device 10 is a device installed in the user's home, etc., but as a modification, the functions of the information processing device 10 in this embodiment may be implemented on a server installed on the cloud that provides cloud services (cloud games, etc.) via the internet, etc. Controller 6 may communicate with the server via a terminal or communication device installed in the user's home, etc.
[0013] In the information processing system 1, the information processing device 10 may send output reports, which are control data, to the controller 6 at predetermined intervals. Based on the receipt of the output reports, the controller 6 may send input reports, which are notification data, to the information processing device 10.
[0014] The display device 4 may be a television having a display that outputs images and a speaker that outputs sound, or it may be a computer display. The display device 4 may be connected to the information processing device 10 by a wired cable or by a wireless connection. When the information processing device 10 receives operation information provided by the controller 6, it reflects that operation information in the processing of the system software or application software and displays an image related to the processing result on the display device 4.
[0015] An overview of the information processing system 1 in the embodiment will be described. The controller 6 in this embodiment stores user-customized configuration information regarding the operation of the controller 6 (hereinafter also referred to as "profile information" or simply "profile") in non-volatile memory. The profile information includes configuration information regarding the behavior of the controller 6. The controller 6 can store multiple profile information sets and can switch between the applicable profile information depending on the user's operation.
[0016] The profile information may include predetermined settings for operation of the controller 6. The profile information may also include settings related to generating operation information input to the information processing device 10 based on input operations to the controller 6. Furthermore, the profile information may include information referenced when converting analog values detected in response to operation inputs to the controller 6 into digital values. Finally, the profile information may include settings related to the intensity of feedback (e.g., vibration, light emission, sound, etc.) in the controller 6.
[0017] Furthermore, the profile information may include setting information related to changing the image generation mode by the information processing device 10 and the image display mode by the display device 4 based on the operation input to the controller 6. The profile information may also include setting information related to changing the audio output mode from the information processing device 10 or headphones (not shown) based on the operation input to the controller 6. Furthermore, the profile information may also include setting information related to changing the chat mode based on the operation input to the controller 6.
[0018] Furthermore, the profile information may include settings information related to the microphone. These settings may include, for example, information on whether the microphone's noise cancellation function is on or off, information on whether the microphone mute function is on or off, and information on the microphone's volume settings.
[0019] The profile information in this embodiment includes the profile ID and name, button assignment information, sensitivity-related information for the analog input device, and corresponding button information. The button assignment information indicates the various actions, commands, and functions that the user has assigned to each button of the controller 6. In other words, the button assignment information indicates the assignment status of various actions, commands, and functions to each button. The corresponding button information is the identification information of the button of the controller 6 to which the profile information is associated, and is, for example, information indicating the ○ button 72 and × button 73 described later.
[0020] The sensitivity-related information for analog input devices includes information indicating the setting value for the sensitivity of the analog input device. The sensitivity of the analog input device defines the magnitude of the operation recognized by the information processing device 10 in relation to the magnitude of the operation actually input by the user to the analog input device (e.g., tilt amount or rotation amount). The magnitude of the operation recognized by the information processing device 10 can also be said to be the magnitude of the operation input to the data processing in the information processing device 10 (in other words, the application being executed). The sensitivity setting value may also be the ratio of the amount of operation actually input to the analog input device to the amount of operation recognized by the information processing device 10.
[0021] Furthermore, the sensitivity-related information of the analog input device includes dead zone information for the analog input device, including, for example, the setting value for the dead zone. The dead zone can also be called a dead zone, and it is a range in which the operation input to the analog input device is not accepted. In other words, the dead zone is a range in which the operation input to the analog input device is ignored. The setting value for the dead zone may be a range of values for the tilt amount or rotation amount that corresponds to the dead zone. Thus, the profile information of the embodiment includes the setting information for the analog input device of the controller 6. As will be described later, the controller 6 of the embodiment is equipped with an analog stick and a trigger button as analog input devices.
[0022] The inventors recognized that, as a first problem, there is a need to reduce the computational load required to reflect the sensitivity set in the analog input device in the output value of the controller 6 based on user operation of the analog input device.
[0023] As a first feature of the information processing system 1 to solve the first problem described above, the controller 6 acquires a value in a Cartesian coordinate system based on the manipulated amount of the analog input device, and converts that value to a value in another coordinate system that is advantageous in terms of computational load. In this embodiment, the other coordinate system is a polar coordinate system, but it is not limited to a polar coordinate system as long as it is more advantageous than the Cartesian coordinate system in terms of computational load. The controller 6 adjusts the converted value in the other coordinate system based on the sensitivity of the analog input device, and converts the adjusted value in the other coordinate system back to a value in a Cartesian coordinate system, which is the format of the output value.
[0024] Furthermore, the inventors have recognized that, as a second problem, if the user can set an arbitrary range of dead zones for the analog input device, it may not be possible to maintain the linearity of the output value in response to user operation on the analog input device by using the correction points set during the manufacture of the controller 6.
[0025] As a second feature of the information processing system 1 to solve the second problem described above, when a dead zone is set for an analog input device, the controller 6 assigns new output values to each correction point outside the dead zone range so that the minimum to maximum output values correspond to the movable range of the analog input device excluding the dead zone. The controller 6 uses the new output values assigned to each correction point to generate output values corresponding to user operations on the analog input device.
[0026] The button configuration of controller 6 will now be described. Figure 2 shows the top view of controller 6. The user operates controller 6 by grasping the left grip portion 78b with their left hand and the right grip portion 78a with their right hand. The top surface of the controller 6 housing is provided with input sections: directional buttons 71, a right analog stick 77a, a left analog stick 77b, and operation buttons 76. The directional buttons 71 are configured to allow input in eight directions: up, down, left, right, and diagonally. In this embodiment, they include an up button 71a, a left button 71b, a down button 71c, and a right button 71d. The four types of operation buttons 76 are marked with different colors and different shapes to distinguish them. The operation buttons 76 include a circle button 72, a cross button 73, a square button 74, and a triangle button 75.
[0027] The right analog stick 77a and the left analog stick 77b, also called control sticks, thumbsticks, or joysticks, are used to input direction and tilt. The tilt amount can also be described as the angle to which the right analog stick 77a or left analog stick 77b is tilted. The right analog stick 77a and the left analog stick 77b also function as push-buttons that sink downward when pressed by the user and return to their original position when released. Hereafter, the right analog stick 77a and the left analog stick 77b will be collectively referred to as "analog stick 77". The operation buttons 76, directional buttons 71, and analog sticks 77 are used to operate applications (e.g., games) running on the information processing device 10.
[0028] On the top surface of the casing, a touchpad 79 is provided in the flat area between the directional buttons 71 and the operation buttons 76. In addition to detecting touch from the user's finger, the touchpad 79 also functions as a push-button that depresses downward when pressed by the user and returns to its original position when the user releases their hand. Furthermore, a speaker 89 and a microphone 91 are provided on the top surface of the casing.
[0029] A home button 80 is located between the right analog stick 77a and the left analog stick 77b. The home button 80 is used to turn on the power of the controller 6 and the information processing unit 10, and at the same time activate the communication function for wireless connection with the information processing unit 10. After the controller 6 is connected to the information processing unit 10, the home button 80 is also used to display a menu screen or home screen on the information processing unit 10. The menu screen or home screen is a screen that allows the user to select the function or application to be executed by the information processing unit 10.
[0030] The CREATE button 81 is located to the left of the touchpad 79. The OPTIONS button 82 is located to the right of the touchpad 79. The CREATE button 81 and the OPTIONS button 82 are used to input user instructions to the OS (Operating System) or system software in the information processing device 10. In other words, the CREATE button 81 and the OPTIONS button 82 are buttons used to call up (operate) the functions of the OS (Operating System) or system software in the information processing device 10. Both the CREATE button 81 and the OPTIONS button 82 may be formed as push-buttons.
[0031] The light-emitting unit 86 is provided on the lower edge of the touchpad 79. The light-emitting unit 86 may include LEDs. The light-emitting unit 86 includes multiple lamps (five lamps in the example in Figure 2) and displays information about the controller number that identifies the controller, and information about the status of the controller 6, based on the lighting patterns of the multiple lamps (i.e., combinations of lit and unlit states). The light-emitting unit 86 is controlled to the lighting pattern specified by the application running on the information processing device 10. In addition, when the profile information applied to the operation of the controller 6 is switched, the light-emitting unit 86 is controlled for a short time to a predetermined lighting pattern that indicates that the profile information of the controller 6 has been switched.
[0032] Vertically elongated light-emitting sections 85 are provided to the left and right of the touchpad 79. The light-emitting sections 85 have red (R), green (G), and blue (B) LEDs and light up according to the light emission color information transmitted from the information processing device 10.
[0033] The right function button 88a and the left function button 88b (hereinafter collectively referred to as function button 88) are buttons that change or extend the functions of other buttons. In this embodiment, when an operation is input to the operation button 76 while an operation is input to the function button 88, the profile information applied to the operation to the controller 6 is switched to the profile information associated with the type of operation button 76 that was operated together with the function button 88. The right function button 88a and the left function button 88b may be functionally identical. In that case, the same function is provided regardless of whether the left or right button is operated.
[0034] Figure 3 shows the rear side of the controller 6. A touchpad 79 extends from the top surface of the controller 6's housing, bending outwards, from the upper part of the rear side of the housing. On the rear side of the housing, the R1 button 83a, R2 button 84a, L1 button 83b, L2 button 84b, right trigger stopper 87a, and left trigger stopper 87b are provided in symmetrical positions along the longitudinal direction. The R1 button 83a and R2 button 84a are operated by the user's right index finger and middle finger, respectively, while the L1 button 83b and L2 button 84b are operated by the user's left index finger and middle finger, respectively.
[0035] The upper R1 button 83a and L1 button 83b are configured as push-buttons, while the lower R2 button 84a and L2 button 84b are configured as rotatable trigger-type buttons. The R2 button 84a and L2 button 84b, like the right analog stick 77a and left analog stick 77b, are capable of analog output and output a value corresponding to the amount of rotation. The R2 button 84a and L2 button 84b are collectively referred to as trigger buttons 84.
[0036] The right trigger stopper 87a is a component that adjusts or limits the rotational range of the R2 button 84a. The left trigger stopper 87b is a component that adjusts or limits the rotational range of the L2 button 84b. The right trigger stopper 87a and the left trigger stopper 87b are collectively referred to as the trigger stopper 87. The trigger stopper 87 can also be described as a limiting component that restricts the range of movement (which can also be called the range of tilting or rotation) of the analog input device. The right trigger stopper 87a and the left trigger stopper 87b can each be set to one of three stages: stage 1, stage 2, or stage 3. In stage 1, the maximum rotational angle is 26 degrees; in stage 2, the maximum rotational angle is 14 degrees; and in stage 3, the maximum rotational angle is 10 degrees.
[0037] As shown in Figures 2 and 3, the controller 6 is configured with various input units (various buttons, sticks, etc.). The user inputs operations into the input units of the controller 6 while viewing the menu screen or game screen displayed on the display device 4.
[0038] Figure 4 shows the hardware configuration of the controller 6 in this embodiment. In addition to the hardware described in relation to Figures 2 and 3, the controller 6 includes an oscillator 90, a memory unit 92, a communication control unit 94, and a processor 96. The processor 96 performs various data processing and controls the operation of various hardware components. The processor 96 may include a CPU (Central Processing Unit), memory, and a SoC (System on a chip).
[0039] The vibrator 90 provides tactile stimulation to the user by vibrating based on a control signal from the processor 96. The vibrator 90 may include a voice coil motor (VCM). The vibrator 90 and the light-emitting unit 86 operate as a notification device that notifies the user of various information. The vibrator 90 provides notification through tactile information, and the light-emitting unit 86 provides notification through visual information.
[0040] The storage unit 92 stores data that is referenced or updated by the processor 96. The communication control unit 94 controls communication with external devices. In this embodiment, the communication control unit 94 communicates wirelessly with the information processing device 10, but in a modified example, the communication control unit 94 may communicate with the information processing device 10 via wired connection.
[0041] Figure 5 shows the hardware configuration of the information processing device 10 in this embodiment. The information processing device 10 includes a main power button 20, a power-on LED 21, a standby LED 22, a system controller 24, a clock 26, a device controller 30, a media drive 32, a USB module 34, a flash memory 36, a wireless communication module 38, a wired communication module 40, a subsystem 50, and a main system 60.
[0042] The main system 60 includes a main CPU, main memory and memory controller, and a GPU (Graphics Processing Unit). The GPU is primarily used for processing game programs. These functions may be configured as a System on a Chip (SoC) and formed on a single chip. The main CPU has the function of starting the OS and executing applications installed in the storage unit (e.g., flash memory 36 or auxiliary storage device not shown) in the environment provided by the OS. The main system 60 also has the function of controlling the display content on the display device 4.
[0043] Subsystem 50 includes a sub-CPU, main memory (memory), and a memory controller, but does not include a GPU. The number of circuit gates in the sub-CPU is less than that of the main CPU, and the operating power consumption of the sub-CPU is less than that of the main CPU. The sub-CPU operates while the main CPU is in standby mode, and its processing functions are limited in order to keep power consumption low. The sub-CPU and memory may be formed on separate chips.
[0044] The main power button 20 is an input unit that receives user input and is located on the front of the housing of the information processing device 10. It is operated to turn the power supply of the information processing device 10 to the main system 60 on or off. Hereinafter, "main power on" means that the main system 60 is in an active state, and "main power off" means that the main system 60 is in a standby state. The power on LED 21 lights up when the main power button 20 is turned on, and the standby LED 22 lights up when the main power button 20 is turned off.
[0045] The system controller 24 detects when the user presses the main power button 20. When the main power is off and the main power button 20 is pressed, the system controller 24 recognizes the press as an "on command". On the other hand, when the main power is on and the main power button 20 is pressed, the system controller 24 recognizes the press as an "off command". The system controller 24 may also obtain power on / off commands similar to those described above from the operation input from the controller 6.
[0046] The main CPU has the function of executing game programs installed on a designated memory unit or ROM medium 44, while the sub-CPU does not have such a function. However, the sub-CPU has the function of accessing the memory unit and sending and receiving data to and from external devices. The sub-CPU is configured with only these limited processing functions and can therefore operate with less power consumption compared to the main CPU. These functions of the sub-CPU are executed when the main CPU is in standby mode.
[0047] Clock 26 is a real-time clock that generates current date and time information and supplies it to the system controller 24, subsystem 50, and main system 60.
[0048] The device controller 30 is configured as a Large-Scale Integrated Circuit (LSI) that performs information transfer between devices, similar to a southbridge. As shown in the figure, devices such as the system controller 24, media drive 32, USB module 34, flash memory 36, wireless communication module 38, wired communication module 40, subsystem 50, and main system 60 are connected to the device controller 30. The device controller 30 absorbs the differences in electrical characteristics and data transfer speeds of each device and controls the timing of data transfer.
[0049] The media drive 32 is a drive device that drives a ROM medium 44 containing application software such as games and license information, and reads programs and data from the ROM medium 44. The ROM medium 44 is a read-only recording medium such as an optical disc, magneto-optical disc, or Blu-ray disc.
[0050] The USB module 34 is a module that connects to external devices via a USB cable. The flash memory 36 is an auxiliary storage device that constitutes the internal storage. The wireless communication module 38 communicates wirelessly with the controller 6, for example, using a communication protocol such as Bluetooth (trademark or registered trademark) or IEEE 802.11. The wired communication module 40 communicates with external devices via a wired connection and connects to the internet or a server, for example, via an access point (not shown).
[0051] Figure 6 is a block diagram showing the functional blocks of the controller 6. Each block shown in the block diagrams of this specification can be realized in hardware terms by elements such as a computer processor, CPU, and memory, as well as electronic circuits and mechanical devices, and in software terms by computer programs loaded into memory, etc., but here, the functional blocks that are realized through the cooperation of these components are depicted. Therefore, it will be understood by those skilled in the art that these functional blocks can be realized in various ways by combinations of hardware and software.
[0052] The controller 6 comprises a storage unit 100 and a processing unit 110. The storage unit 100 corresponds to the storage unit 92 in Figure 4 and stores data that is referenced or updated by the processing unit 110. The storage unit 100 includes a profile storage unit 102 and a correction point information storage unit 104.
[0053] The profile storage unit 102 includes a non-volatile memory for storing multiple profile information. The profile storage unit 102 stores each of the multiple profile information in association with different slots and operation buttons 76. In this embodiment, the profile storage unit 102 stores up to four profile information in association with four slots (slots 1 to 4) and four operation buttons 76 (circle button 72, cross button 73, square button 74, triangle button 75).
[0054] The correction point information storage unit 104 stores correction point information, which is information about multiple positions (hereinafter also referred to as "correction points") between the release state and the full stroke state of the trigger button 84. The release state is when the finger is released from the trigger button 84 and no operation is input to the trigger button 84. The full stroke state is when the trigger button 84 has been rotated to the upper limit of its physical range of motion.
[0055] Multiple correction points can also be described as multiple positions within the rotatable range of the trigger button 84. Furthermore, the amount of rotation of the trigger button 84 (which can also be described as the amount of user operation on the trigger button 84) differs for each of the multiple correction points. The correction point information is information measured during the manufacturing of the controller 6 and includes a pair of characteristic values (e.g., voltage values) and output values (values indicating the magnitude of the operation) for each of the multiple correction points.
[0056] The processing unit 110 includes an operation detection unit 112, an operation information generation unit 114, an operation information transmission unit 116, a profile update unit 118, and an assignment unit 120. A computer program (e.g., firmware) implementing at least some of these functions may be stored in the storage unit 92 of the controller 6. The processor 96 of the controller 6 may perform at least some of these functions by reading this computer program into main memory and executing it.
[0057] The operation detection unit 112 detects user operations input to the controller 6. User operations include operations that move analog input devices, specifically operations that tilt the analog stick 77 or rotate the trigger button 84. The operation detection unit 112 converts the output from the analog input device related to the user's operation of the analog input device to digital at a predetermined sampling rate and obtains the output value. The operation detection unit 112 detects the analog value (e.g., voltage value) associated with the operation to the analog input device, converts it to digital, and passes the converted digital value (hereinafter also called "AD value") to the operation information generation unit 114.
[0058] The operation information generation unit 114 generates operation information related to the user's operation of the controller 6, based on the operation detection unit 112's detected operation (for example, the AD value output from the operation detection unit 112). In this embodiment, it generates operation information related to the user's operation of the analog stick 77 and the trigger button 84 in particular.
[0059] The operation information transmission unit 116 transmits the operation information generated by the operation information generation unit 114 to the information processing device 10. The operation information transmission unit 116 may also transmit the operation information to the information processing device 10 by including the operation information in the input report transmitted from the controller 6 to the information processing device 10.
[0060] The profile update unit 118 updates the profile information of the controller 6 stored in the profile storage unit 102 according to the profile update instructions transmitted from the information processing device 10. The profile update instructions include, for example, instructions to update the setting values for the sensitivity characteristics and dead zone of the analog stick 77. They also include instructions to update the setting values for the dead zone of the trigger button 84.
[0061] The assignment unit 120 dynamically assigns an output value indicating the magnitude of the operation to each of the multiple correction points stored in the correction point information storage unit 104, based on the updated profile information.
[0062] Figure 7 is a block diagram showing the functional blocks of the information processing device 10. The information processing device 10 comprises a storage unit 200 and a processing unit 210. The processing unit 210 performs various information processing. The processing unit 210 is implemented by the processor of the information processing device 10, and may be implemented, for example, by the main system 60 shown in Figure 5. The storage unit 200 stores data that is referenced or updated by the processing unit 210. The storage unit 200 may include the flash memory 36 and ROM medium 44 shown in Figure 5.
[0063] The memory unit 200 includes an application memory unit 202 and a profile memory unit 204. The application memory unit 202 stores data for applications (e.g., game programs) that can be executed on the information processing device 10.
[0064] The profile storage unit 204 stores the profile information of the controller 6 as notified by the controller 6. Similar to the profile storage unit 102 of the controller 6, the profile storage unit 204 stores up to four profile information associated with the four slots and the four operation buttons 76 (○ button 72, × button 73, □ button 74, △ button 75). The profile storage unit 204 also stores information about the currently applied profile in the controller 6 as notified by the controller 6. Specifically, it stores which of slots 1 to 4 corresponds to the applied profile.
[0065] The processing unit 210 includes a profile information acquisition unit 212, an operation information reception unit 214, an application execution unit 216, a settings screen generation unit 218, a display control unit 220, and a profile update instruction unit 222. A computer program implementing at least some of these multiple functions may be stored in the storage unit 200 of the information processing device 10. The processor of the information processing device 10 (for example, the main system 60) may perform at least some of these multiple functions by reading this computer program into main memory and executing it.
[0066] The profile information acquisition unit 212 acquires information about multiple user-selectable profiles stored in the controller 6, which is connected to the information processing device 10. The profile information acquisition unit 212 stores the information about the multiple user-selectable profiles in the profile storage unit 204.
[0067] The operation information receiving unit 214 receives user operation information for the controller 6 transmitted from the controller 6 connected to the information processing device 10.
[0068] The application execution unit 216 executes applications (such as game programs or system software) stored in the application storage unit 202. For example, the application execution unit 216 advances the game according to the user's input to the controller 6 and sequentially generates images (hereinafter also referred to as "game screens") that show the progress of the game.
[0069] The settings screen generation unit 218 generates data for the controller 6's profile settings screen based on user operation information for the controller 6 while the application is running (for example, while the game screen is being displayed). The profile settings screen in this embodiment includes settings screens for analog input devices, specifically, settings screens for the analog stick 77 and settings screens for the trigger buttons 84.
[0070] The display control unit 220 controls the display of information and images on the display device 4. For example, the display control unit 220 displays the game screen on the display device 4 by outputting game screen data generated by the application execution unit 216 to the display device 4. The display control unit 224 displays the settings screen on the display device 4 by outputting settings screen data generated by the settings screen generation unit 218 to the display device 4.
[0071] The profile update instruction unit 222 sends a profile update instruction to the controller 6 based on the information entered by the user on the profile settings screen. The profile update instruction unit 222 may also send the profile update instruction to the information processing device 10 by including the profile update instruction in the output report that is sent from the information processing device 10 to the controller 6 at predetermined intervals.
[0072] The operation of the information processing system 1 with the above configuration will now be explained. First, regarding the operation of the first feature of the information processing system 1, we will mainly describe the adjustment and operation of the analog sticks 77 (right analog stick 77a and left analog stick 77b).
[0073] The setting screen generation unit 218 of the information processing device 10 generates an analog stick setting screen in response to user input to the controller 6. The display control unit 220 of the information processing device 10 displays the analog stick setting screen on the display device 4.
[0074] Figure 8 shows an example of the analog stick settings screen 130. The analog stick settings screen 130 in Figure 8 shows the content for setting the sensitivity and dead zone of the analog stick 77 of the controller 6. The analog stick settings screen 130 includes a setting target selection field 132, a sensitivity pattern selection field 134, a sensitivity curve adjustment gauge 136, a dead zone adjustment gauge 138, a sensitivity curve image 140, and a setting status image 148.
[0075] The setting target selection field 132 is a screen element in the analog stick setting screen 130 that allows the user to select the type of analog stick 77 to be configured (in this example, either the right analog stick 77a or the left analog stick 77b). In Figure 11, the left analog stick 77b is selected.
[0076] The sensitivity pattern selection field 134 is a screen element that allows the user to select a specific pattern from a set of predetermined sensitivity curve patterns. The sensitivity curve is a curve (including straight lines) that shows the relationship between the tilt angle of the analog stick 77 and the output value. Specifically, the sensitivity curve is a curve that correlates the magnitude of the operation input by the user to the analog stick 77 (hereinafter also referred to as "user input operation amount") with the magnitude of the operation recognized in the data processing of the information processing device 10 (hereinafter also referred to as "system recognized operation amount"). The user input operation amount can also be said to be the actual tilt amount or tilt angle of the analog stick 77. The system recognized operation amount can also be said to be the tilt amount or tilt angle of the analog stick 77 that is input to the data processing of the information processing device 10 (in this embodiment, the application execution unit 216).
[0077] Multiple sensitivity curve patterns may include linear, delayed, and quick. Linear is a pattern where the system-recognized operation amount increases in proportion to the increase in the user input amount, and is the default pattern where the slope of the sensitivity curve is constant. Delayed is a pattern where the increase in the system-recognized operation amount is gradual when the user input amount is small, and increases sharply as the user input amount increases. Quick is a pattern where the increase in the system-recognized operation amount is large even when the user input amount is small, and the system-recognized operation amount reaches its upper limit early.
[0078] The sensitivity curve adjustment gauge 136 is a screen element that adjusts the correspondence between the amount of user input operation on the analog stick 77 and the amount of operation recognized by the system, and specifically, it is a screen element that adjusts the slope or curvature of the sensitivity curve. The sensitivity curve adjustment gauge 136 includes a slider that indicates the sensitivity value of the analog stick 77. The dead zone adjustment gauge 138 is a screen element that adjusts the range of the dead zone of the analog stick 77 (in other words, the size of the dead zone). The dead zone adjustment gauge 138 includes a slider that indicates the dead zone value of the analog stick 77.
[0079] The analog stick settings screen 130 includes two images that show both the sensitivity and dead zone of the analog stick 77 on a common scale (in other words, a common standard). One image is a sensitivity curve image 140 that shows the sensitivity and dead zone along an axis relating to the magnitude of the operation input by the user to the analog stick 77. The other image is a setting state image 148 that shows the sensitivity and dead zone based on the distance from the center, which is based on the magnitude of the operation input by the user to the analog stick 77. The setting screen generation unit 218 places the sensitivity curve image 140 and the setting state image 148 on the analog stick settings screen 130.
[0080] The sensitivity curve image 140 includes objects (initial sensitivity curve 146 and adjusted sensitivity curve 144) that show sensitivity curves, arranged in a graph area where the magnitude of the operation input by the user to the analog stick 77 is the horizontal axis and the magnitude of the operation recognized by the information processing device 10 is the vertical axis. The sensitivity curve can also be described as a graph that shows the relationship between the input value before adjustment that reflects the sensitivity (value on the horizontal axis) and the output value after adjustment that reflects the sensitivity (value on the vertical axis).
[0081] The initial sensitivity curve 146 shows the initial value of the sensitivity curve defined by the pattern selected in the sensitivity pattern selection field 134. The adjusted sensitivity curve 144 shows the sensitivity curve after adjustment using the sensitivity curve adjustment gauge 136. The sensitivity curve image 140 also includes an object (dead zone 142) that indicates the range of the dead zone, arranged along the horizontal axis of the graph area. In Figure 6, the dead zone 142 indicates that 18% of the tilt amount that the user can input from the stationary position (in other words, the initial position) of the analog stick 77 is the dead zone.
[0082] The setting state image 148 includes an image showing the input unit to be configured (left analog stick 77b in Figure 8), and information regarding sensitivity and dead zone is superimposed on this image. Specifically, the setting state image 148 includes multiple concentric circles (level lines 150) centered on the stationary position (in other words, initial position) of the analog stick 77, showing the magnitude of operation in multiple stages from that stationary position. The multiple level lines 150 may include three level lines 150 showing 100%, 75%, and 50% of the maximum value of the operation magnitude. The level lines 150 can also be described as contour lines relating to the magnitude of operation.
[0083] The configuration image 148 includes a dead zone 152, which is a first object indicating a dead zone. The dead zone 152 indicates the range of the dead zone by its distance from the stationary position of the analog stick 77, i.e., from the center of the circle indicated by the level line 150. The configuration image 148 also includes an adjusted control amount indicator 154 and an unadjusted control amount indicator 156. Both the adjusted control amount indicator 154 and the unadjusted control amount indicator 156 indicate the magnitude of the operation on the analog stick 77 by their distance from the center. Furthermore, both the adjusted control amount indicator 154 and the unadjusted control amount indicator 156 indicate the tilting direction of the analog stick 77 by the direction in which the line extends from the center.
[0084] The adjusted operation amount indicator 154 displays the value of the user's operation input to the analog stick 77, adjusted using the profile information being adjusted in adjustment mode (e.g., left analog stick adjustment mode). In other words, it displays the amount of operation of the analog stick 77 recognized by the information processing device 10 when the profile information being adjusted is applied to the controller 6. The profile information being adjusted includes, for example, the sensitivity setting value defined by the sensitivity curve adjusted by the sensitivity curve adjustment gauge 136 and the dead zone adjustment gauge 138.
[0085] The unadjusted control amount indicator 156 displays a value related to the user's operation input to the analog stick 77, without applying the profile information being adjusted in adjustment mode. Specifically, the unadjusted control amount indicator 156 displays a value derived using the user's operation input to the analog stick 77 and a linear sensitivity curve, regardless of the profile information being adjusted in adjustment mode. The value displayed by the unadjusted control amount indicator 156 is the default value of the analog stick 77's operation amount recognized by the information processing device 10 based on the user's operation input to the analog stick 77. Although the term "unadjusted" is used, the analog stick 77 has already been adjusted during the manufacturing and shipping of the controller 6 at the factory.
[0086] The settings status image 148 is an image that shows the sensitivity of the analog stick 77 based on the sensitivity curve set by the user on the analog stick settings screen 130. Specifically, the settings status image 148 is an image that shows the relationship between the adjusted value using the profile information being adjusted, as shown by the adjusted control amount indicator 154, and the value to which the profile information being adjusted has not been applied, as shown by the unadjusted control amount indicator 156.
[0087] On the analog stick settings screen 130, the user selects a desired pattern from several predetermined sensitivity curve patterns in the sensitivity pattern selection field 134. Here, we assume the user has selected the delay pattern. The settings screen generation unit 218 places the initial sensitivity curve 146, defined by the delay pattern, on the sensitivity curve image 140. The settings screen generation unit 218 also places an adjusted sensitivity curve 144, reflecting the settings of the sensitivity curve adjustment gauge 136 and the dead zone adjustment gauge 138, on the sensitivity curve image 140. The user then adjusts and updates the sensitivity curve (including the dead zone) of the analog stick 77 while checking the settings status image 148 on the analog stick settings screen 130.
[0088] The profile update instruction unit 222 of the information processing apparatus 10 transmits a profile update instruction including information on the vertices of a line graph (e.g., the adjustment sensitivity curve 144 in FIG. 8) representing the sensitivity characteristics of the analog stick 77 specified on the analog stick setting screen 130 to the controller 6. The profile update unit 118 of the controller 6 stores the information on the vertices of the line graph representing the sensitivity characteristics of the analog stick 77 in the profile storage unit 102.
[0089] FIG. 9 shows an example of a sensitivity curve. In the example of FIG. 9, the sensitivity information of the analog stick 77 including the information on the vertices 1, 2, 3, and 4 of the adjustment sensitivity curve 144 is stored in the profile storage unit 102. An example of the information on each vertex of the adjustment sensitivity curve 144 is shown. Information on vertex 1: (r Dz , 0), information on vertex 2: (r1, r'1) Information on vertex 3: (r2, r'2), information on vertex 4: (r Max , r' Max ) r Dz is a value indicating the range of the dead zone, that is, the range of 0 ≤ input value ≤ r Dz is the dead zone. The information on vertex 4 may be a fixed value.
[0090] FIG. 10 shows the relationship between the operation of the analog stick 77 and the output value. The physical movable range 170 indicated by the solid-line circle shows the range in which the analog stick 77 can actually move. The return position 174 can also be said to be the center return position, and is the position of the analog stick 77 when the finger is away from the analog stick 77 (that is, when the analog stick 77 is not being operated). At the time of manufacturing the controller 6, the minimum values (X min and Y min ) and the maximum values (X max and Y max ) of the AD values in the physical movable range 170, and further the AD values (X center and Y center ) at the return position 174 are measured.
[0091] Furthermore, from the return position 174 to the AD maximum value (Xmax and Y max A predetermined percentage of the distance to (4% in the embodiment) is set as the offset value, and the position (X') is set inward by the offset value from the maximum value of AD. max and Y' max ) is taken as the maximum value of the output from controller 6. Similarly, the minimum AD value (X) based on the physical range of motion 170 from the return position 174 is taken. min and Y min The offset value is a predetermined percentage of the distance to (4% in this example), and the position (X') is inward by the offset value from the minimum AD value. min and Y' min ) is set as the minimum value of the output from controller 6.
[0092] (X' max and Y' max ) and (X' min and Y' min The range defined by ) is defined as the logical operating range 172. The output value from controller 6 is normalized within the range of 0 to 255. The normalized output value changes within the logical operating range 172.
[0093] As shown in the lower graph of Figure 10, the output value in the X-axis direction is determined as follows, depending on the AD value of the X-axis in the physical movable range of 170. (1)X' min The output value will be 0 in the following cases. (2)X' min ~X center In this case, the output value is obtained by linear interpolation so that the output value is between 0 and 128. (3)X center ~X' max In this case, the output value is obtained by linear interpolation so that the output value is between 128 and 255. (4)X' max In the above case, the output value will be 255.
[0094] Similarly, as shown in the graph on the right of Figure 10, the output value in the Y-axis direction is determined as follows, depending on the AD value of the Y-axis in the physical movable range of 170. (1) Y' minThe output value will be 0 in the following cases. (2) Y' min ~Y center In this case, the output value is obtained by linear interpolation so that the output value is between 0 and 128. (3)Y center ~Y' max In this case, the output value is obtained by linear interpolation so that the output value is between 128 and 255. (4) Y' max In the above case, the output value will be 255.
[0095] As shown in Figures 8 and 9, the analog stick setting screen 130 allows the user to set a sensitivity curve (adjustable sensitivity curve 144) of any shape, which may include a dead zone. The operation information generation unit 114 of the controller 6 needs to reflect the setting value of the arbitrary-shaped sensitivity curve in the output value of the analog stick 77.
[0096] Figure 11 is a flowchart showing the operation of the controller 6. When an operation to tilt the analog stick 77 is input, the operation detection unit 112 acquires an AD value corresponding to the amount of operation (in other words, the amount of tilt of the analog stick 77) (S10). Based on the AD value acquired in S10, the operation information generation unit 114 acquires values (x,y) for a provisional Cartesian coordinate system with center 0 (S11). In order to prevent a decrease in calculation accuracy in the later stages, relatively high-precision values are acquired in S11, specifically the range of the numerical values is set to -32767 to 32767.
[0097] The operation information generation unit 114 converts the Cartesian coordinate system values (x,y) obtained in S11 to polar coordinate system values (r,θ) (S12). The operation information generation unit 114 derives the radial value r based on Equation 1.
number
[0098] Furthermore, as shown in Equations 2 and 3, the operation information generation unit 114 does not derive the angle θ, and tan 2 θ and 1 / tan 2 Derive θ.
number
[0099] tan 2 θ and 1 / tan 2 θ can be calculated using only multiplication and division. Also, the argument θ remains constant in this process. Therefore, tan 2 θ and 1 / tan 2 Using θ, the subsequent transformation from polar coordinates to Cartesian coordinates can be performed. Through this procedure, trigonometric function calculations (tan) can be performed. -1 This eliminates the need to derive θ and its values, thus reducing the computational load. Note that if x=0 or y=0, the calculations in equations 2 and 3 are not performed.
[0100] The operation information generation unit 114 converts the radial value r obtained in S12 into a value r' that reflects the sensitivity set for the analog stick 77, based on the sensitivity curve information of the analog stick 77 indicated by the profile information stored in the profile storage unit 102 (S13).
[0101] For example, the sensitivity curve information for the analog stick 77 is set to include the information of vertices 1 to 4 of the adjustment sensitivity curve 144 in Figure 9. Figure 12 shows an example of the polar coordinate system values (r, θ) before sensitivity is applied, and Figure 13 shows an example of the polar coordinate system values (r', θ) after sensitivity is applied. The physical range of motion 170 indicates the physical range of motion of the analog stick 77. The logical range of motion 176 corresponds to the logical range of motion 172 in Figure 10 and indicates the logical range of values with respect to the radial value r. The logical range of motion 176 is a circle that is smaller than the physical range of motion 170 by a predetermined offset, and in this embodiment, it is a circle with a radius 4% smaller than the physical range of motion 170.
[0102] If the radial value r is less than or equal to rDz (i.e., within the dead zone range 178), the adjusted value becomes 0. r'1 in Figure 13 corresponds to the value of r1 in Figure 12 in the adjustment sensitivity curve 144. r'2 in Figure 13 corresponds to the value of r2 in Figure 12 in the adjustment sensitivity curve 144. MaxIn the adjustment sensitivity curve 144, the r in Figure 12 is Max This is the corresponding value. The operation information generation unit 114 takes the radial value r obtained in S12 as input and derives the corresponding output value r' by linearly interpolating between the vertices of the adjustment sensitivity curve 144.
[0103] The operation information generation unit 114 converts the polar coordinate system values (r',θ) after the radial value conversion to Cartesian coordinate system values (x',y') (S14). Based on equations 4 and 5, the operation information generation unit 114 derives the values of x' (denoted as x in equation 4) and y' (denoted as y in equation 5).
number
number
[0104] The operation information generation unit 114 generates an output value (x', y') in a predetermined format of 0 to 128 to 255 as operation information from the values (x', y') of a provisional Cartesian coordinate system with the center value set to 0. out ,y out Convert to (S15). Output value (x out ,y out As shown in Figure 10, (x',y') is a value in a Cartesian coordinate system with a lower limit of 0, a central value of 128, and an upper limit of 255. The value range of (x',y') is highly accurate (-32767 to 32767), similar to (x,y), while the output value (x out ,y out The value range of ) is defined as low precision (0 to 255).
[0105] The operation information generation unit 114 outputs the above output value (x) as operation information based on user operation on the analog stick 77. out ,y out The operation information transmission unit 116 generates operation information including ). The operation information transmission unit 116 transmits the operation information generated by the operation information generation unit 114 to the information processing device 10 (S16).
[0106] The application execution unit 216 of the information processing device 10 outputs an output value (x) based on the user's operation. out ,y out ) is used to run the application, for example, output value (x out ,y out ) is reflected in the movement of the game character. In addition, the setting screen generation unit 218 of the information processing device 10 outputs the adjusted operation amount indicator 154 of the setting state image 148 of the analog stick setting screen 130 to an output value (x out ,y out Place it in the position based on ).
[0107] According to the first feature of the information processing system 1 of the embodiment, the Cartesian coordinate system value based on the user's operation to the analog input device is first converted to the polar coordinate system value, and then the sensitivity characteristics of the analog input device are reflected in the converted value. This reduces the computational load required to reflect the sensitivity set for the analog input device in the output value of the controller 6 based on the user's operation to the analog input device.
[0108] Furthermore, as explained in relation to Figure 10, the controller 6 generates values (values from 0 to 255) that can be set in the operation information, based on operations within a range (logical range of motion 176) that is narrower by a predetermined offset than the physical range of motion 170 of the analog stick 77. This allows the predetermined range of output values (minimum to maximum) to be maintained even if the physical range of motion of the analog stick 77 moves by the offset over time. The first feature of the information processing system 1 is that it is not limited to the analog stick 77, but can also be applied to other types of analog input devices such as trigger buttons 84.
[0109] Next, regarding the operation of the second feature of the information processing system 1, we will mainly describe the adjustment and operation of the trigger buttons 84 (R2 button 84a and L2 button 84b).
[0110] Figures 14(a), 14(b), and 14(c) show the relationship between the setting of the trigger stopper 87 and the normalization range 180. Figure 14(a) shows the relationship when the trigger stopper 87 is set to the first stage (the rotatable angle of the trigger button 84 is 26 degrees). Figure 14(b) shows the relationship when the trigger stopper 87 is set to the second stage (the rotatable angle of the trigger button 84 is 14 degrees). Figure 14(c) shows the relationship when the trigger stopper 87 is set to the third stage (the rotatable angle of the trigger button 84 is 10 degrees).
[0111] During the manufacturing of the controller 6, multiple positions between the release state and the full stroke state of the trigger button 84 are designated as correction points, and characteristic values (AD values in this embodiment) are measured at each correction point. The multiple correction points in this embodiment include nine correction points, from the correction point P0 at the release position to the correction point P8 at the full stroke position. Correction point P8 is also the position where a physical stopper is set. P0 to P8 are provided at equal intervals. During the manufacturing of the controller 6, nine correction points are provided in each of the first, second, and third stages of the trigger stopper 87, and the AD value at each correction point is measured.
[0112] The normalization range of 180 is the range in which the output value is normalized to a value between 0 and 255. In the first stage of the trigger stopper 87, P2 to P7 are within the normalization range of 180. In the second stage of the trigger stopper 87, P2 to P6 are within the normalization range of 180. In the third stage of the trigger stopper 87, P3 to P5 are within the normalization range of 180. Thus, the smaller the rotational angle of the trigger button 84 is restricted, the narrower the normalization range of 180 becomes.
[0113] The release-side offset 182 is a play area on the P0 side, implemented in hardware. The full-stroke-side offset 184 is a play area on the P8 side, also implemented in hardware. The output value from controller 6 does not change with respect to the release-side offset 182 and the full-stroke-side offset 184. For example, if the tilt amount of the analog stick 77 is within the range of the release-side offset 182, the output value will be a constant value of "0". Also, if the tilt amount of the analog stick 77 is within the range of the full-stroke-side offset 184, the output value will be a constant value of "255".
[0114] Figure 15 shows the relationship between the trigger stopper 87 setting and the dead zone. The dead zone is set independently of the trigger stopper 87 setting on the analog stick setting screen 130. If the dead zone is not set, the range obtained by subtracting the release-side offset 182 and the full-stroke-side offset 184 from the rotatable range becomes the normalized range 180, which outputs values from 0 to 255.
[0115] On the other hand, if a dead zone is set, the normalized range 180 is the range obtained by subtracting the release-side offset 182 and the full-stroke-side offset 184 from the rotatable range, and further subtracting the release-side dead zone 186 and the full-stroke-side dead zone 188. The release-side dead zone 186 is a dead zone provided on the release side (P0 side), and the full-stroke-side dead zone 188 is a dead zone provided on the full-stroke side (P8 side).
[0116] Figure 16 shows an example of the trigger setting screen 300. The trigger setting screen 300 in Figure 16 includes content for setting the dead zones of the controller 6's trigger buttons 84 (R2 button 84a and L2 button 84b). Specifically, the trigger setting screen 300 includes the R2 dead zone setting area 302a, the R2 behavior confirmation area 304a, the L2 dead zone setting area 302b, and the L2 behavior confirmation area 304b.
[0117] The R2 dead zone setting area 302a is the area for inputting the dead zone setting value for the R2 button 84a, and the L2 dead zone setting area 302b is the area for inputting the dead zone setting value for the L2 button 84b. In this embodiment, the start and end points of the effective range (corresponding to the normalized range 180 in Figure 15) are specified as percentages in the R2 dead zone setting area 302a and the L2 dead zone setting area 302b. The start value is the value that specifies the range of the release-side dead zone 186, or in other words, the value that specifies the boundary between the release-side dead zone 186 and the normalized range 180. The end value is the value that specifies the range of the full-stroke-side dead zone 188, or in other words, the value that specifies the boundary between the full-stroke-side dead zone 188 and the normalized range 180.
[0118] In the example shown in Figure 16, no dead zone is set for the R2 button 84a, and the entire input range is designated as the valid range. On the other hand, for the L2 button 84b, 50% of the starting point is designated as the dead zone (release-side dead zone 186), and 50% of the ending point is designated as the valid range.
[0119] The L2 behavior confirmation area 304b is an area where the magnitude of the system input value corresponding to the rotation operation of the L2 button 84b is displayed, and an operation amount indicator 306 indicating the amount of operation (system input value) of the L2 button 84b is displayed. Although not shown in Figure 16, an operation amount indicator 306 indicating the amount of operation (system input value) of the R2 button 84a corresponding to the rotation operation of the R2 button 84a may also be displayed in the R2 behavior confirmation area 304a. In the R2 behavior confirmation area 304a and the L2 behavior confirmation area 304b, the parts corresponding to the dead zone are displayed with relatively low brightness, and the parts corresponding to the effective range are displayed with relatively high brightness.
[0120] The user enters the input range setting value for the R2 button 84a (in other words, the dead zone setting value) into the R2 dead zone setting area 302a, and / or the input range setting value for the L2 button 84b (in other words, the dead zone setting value) into the L2 dead zone setting area 302b. The profile update instruction unit 222 of the information processing device 10 sends a profile update instruction to the controller 6, which includes the setting value entered in the R2 dead zone setting area 302a and the setting value entered in the L2 dead zone setting area 302b. The profile update unit 118 of the controller 6 reflects the dead zone setting value sent from the information processing device 10 in the profile information of the profile storage unit 102.
[0121] Figure 17 shows the relationship between the correction points and the output values of the controller 6. Figure 17 shows the relationship when the trigger stopper 87 is set to the first stage and the dead zone is not set. When the dead zone is not set, the allocation unit 120 of the controller 6 assigns the minimum output value of 0 to P2 at the release end in the normalization range 180, and the maximum output value of "255" to P7 at the full stroke end in the normalization range 180. Values obtained by dividing 0 to 255 into 5 equal parts are assigned to P3, P4, P5, and P6, respectively. For each of the multiple correction points P0 to P8, the allocation unit 120 stores a pair of the AD value measured during the manufacture of the controller 6 and the output value assigned to each correction point in the correction point information storage unit 104.
[0122] The operation detection unit 112 of the controller 6 detects an AD value based on a user operation when a user operation is input to the trigger button 84. The operation information generation unit 114 of the controller 6 derives an output value corresponding to the input user operation based on the AD value detected by the operation detection unit 112 and the AD value and output value associated with at least one correction point. Specifically, the operation information generation unit 114 derives an output value (a value in the range of 0 to 255) corresponding to the user operation by linear interpolation based on the magnitude relationship between the AD value based on the user operation and the AD value of each correction point.
[0123] As previously described, the operation information generation unit 114 generates operation information including output values corresponding to user operations. The operation information transmission unit 116 transmits the operation information to the information processing device 10. The application execution unit 216 of the information processing device 10 executes the application based on the output values corresponding to user operations indicated by the operation information transmitted from the controller 6.
[0124] Figure 18 also shows the relationship between the correction point and the output value of the controller 6. Figure 18 shows the relationship when the trigger stopper 87 is set to the first stage and a dead zone is set. In the trigger setting screen 300 shown in Figure 16, the user can set the release-side dead zone 186 and the full-stroke-side dead zone 188 to any size, regardless of the position of the correction point. In the example in Figure 18, the boundary of the release-side dead zone 186 is set between P3 and P4, while the full-stroke-side dead zone 188 is not set. In this case, if the output values corresponding to P4, P5, and P6 are set to the values shown in Figure 17, the linearity of the output values based on user operation cannot be maintained.
[0125] Therefore, in this embodiment, the assignment unit 120 of the controller 6 dynamically changes the output value corresponding to at least one correction point according to the dead zone setting of the trigger button 84. Specifically, when a dead zone is set for the trigger button 84, the assignment unit 120 assigns a new output value to each of the correction points outside the dead zone range such that the output value ranges from a minimum of 0 to a maximum of 255 within the rotatable range of the trigger button 84 excluding the dead zone. The area outside the dead zone range can also be called the effective range.
[0126] The assignment unit 120 assigns new output values to each of the correction points outside the release-side dead zone 186 and the full-stroke-side dead zone 188, such that the minimum output value of 0 to the maximum output value of 255 corresponds to the rotatable range of the trigger button 84, excluding the set release-side dead zone 186 and the full-stroke-side dead zone 188. In addition, whenever the release-side dead zone 186 or the full-stroke-side dead zone 188 for the trigger button 84 is newly set or changed, the assignment unit 120 assigns new output values to each of the correction points outside each dead zone range.
[0127] The assignment unit 120 assigns the minimum output value of 0 to the range from the starting position P0 of the trigger button 84 to a predetermined correction point. In this embodiment, the predetermined correction point is the correction point with the largest rotation amount (AD value) among the correction points included in the release-side offset 182 and the correction points included in the release-side dead zone 186.
[0128] Furthermore, the allocation unit 120 assigns the maximum output value 255 to the range from a predetermined correction point to the rotation end position P8 of the trigger button 84. In this embodiment, the predetermined correction point is the correction point with the smallest rotation amount (AD value) among the correction points included in the full stroke side offset 184 and the correction points included in the full stroke side dead zone 188. By providing a play area near the release position and near the full stroke position of the trigger button 84 in this way, the operability of the trigger button 84 can be improved.
[0129] Figure 19 shows an example of assigning new output values to correction points. Here, the trigger stopper 87 is set to the first stage. If no dead zone is set, P2 to P7 becomes the normalization range 180, and the assignment unit 120 assigns output values corresponding to each correction point so that each interval separated by the correction point divides 0 to 255 into 5 equal parts.
[0130] Next, a release-side dead zone 186 is set from P2 to the starting point Pr between P3 and P4, and a full-stroke-side dead zone 188 is set from the ending point Pf between P6 and P7 to P7. In this case, the rotatable range of the trigger button 84 (i.e., the normalized range 180), excluding the release-side dead zone 186 and the full-stroke-side dead zone 188, is from Pr to Pf. The assignment unit 120 sets Pr to a minimum value of 0 and Pf to a maximum value of 255, and assigns new output values Np4, Np5, and Np6 to P4, P5, and P6 so that Pr is a minimum value of 0 and Pf is a maximum value of 255, and assigns values from 0 to 255 to the interval from Pr to Pf.
[0131] In Figure 19, the size of the release-side dead zone 186 is specified as x% of the normalized range 180 (P2~P7) when no dead zone is set. Similarly, the size of the full-stroke-side dead zone 188 is specified as y% of the normalized range 180 (P2~P7) when no dead zone is set. Both x and y are values in the range of 0 to 99.
[0132] The allocation unit 120 derives the ratio of Pr to P4 to the normalized range 180 (P2 to P7) when no dead zone is set, according to Equation 6. (20-(x-20*m))% (Formula 6) m is the number of correction point intervals included in the release-side dead zone 186, and can be a value between 0 and 4. In Figure 19, m=1.
[0133] The allocation unit 120 derives the output values of P4, P5, and P6 according to equations 7 to 9. Np4=255*(20-(x-20*m)) / (100-xy) (Formula 7) Np5=Np4+255*20 / (100-xy) (Formula 8) Np6=Np5+255*20 / (100-xy) (Formula 9)
[0134] Figure 20 also shows an example of assigning a new output value to the correction point. Here as well, the trigger stopper 87 is set to the first stage. In Figure 20, the release-side dead zone 186 (set value x is 24%) is set from P2 to the starting point Pr between P3 and P4. The full-stroke-side dead zone 188 is not set.
[0135] In this case, the allocation unit 120 derives 16% as the ratio of Pr to P4 to the normalized range 180 (P2 to P7) when no dead zone is set, according to equation 6 above. The allocation unit 120 also derives 54 for Np4, 121 for Np5, and 188 for Np6, according to equations 7 to 9 above.
[0136] The allocation unit 120 stores the characteristic value of the correction point and the new output value as a pair in the correction point information storage unit 104 for the correction point from which a new output value has been derived. The operation information generation unit 114 uses the characteristic values and output values (new output values) of multiple correction points to generate operation information based on user operation to the trigger button 84.
[0137] Consider the case where the range of rotation of the trigger button 84 is limited by the trigger stopper 87, and a dead zone (at least one of the release-side dead zone 186 and the full-stroke-side dead zone 188) is set for the trigger button 84. In this case, the assignment unit 120 detects the range obtained by subtracting the dead zone from the range of rotation of the trigger button 84 limited by the trigger stopper 87 as the normalization range 180. The assignment unit 120 assigns a new output value to each of the correction points within the normalization range 180 (in other words, outside the dead zone range) such that the output values range from a minimum value of 0 to a maximum value of 255 within the normalization range 180.
[0138] The value "20" included in equations 6 to 9 above is a fixed value when the trigger stopper 87 is set to the first stage, and represents the percentage of one correction point interval (e.g., P2 to P3) relative to the normalization range 180 (P2 to P7) when no dead zone is set. This percentage will be referred to as the "interval percentage" below.
[0139] As previously mentioned, when the trigger stopper 87 is set to the second stage, the maximum rotation angle of the trigger button 84 is limited to 14 degrees. Also, as shown in Figure 14(b), the normalization range 180 becomes P2 to P6, and the interval ratio becomes 25%. Therefore, in this case, we use the formulas obtained by replacing "20" with "25" in formulas 5 to 9 above.
[0140] Furthermore, when the trigger stopper 87 is set to the third position, the maximum rotation angle of the trigger button 84 is limited to 10 degrees. Also, as shown in Figure 14(c), the normalization range 180 becomes P3 to P5, and the interval ratio becomes 50%. Therefore, in this case, the formulas obtained by replacing "20" with "50" in the above formulas 5 to 9 are used.
[0141] The assignment unit 120 detects when an operation to restrict the rotatable range of the trigger button 84 using the trigger stopper 87 is input. This operation may be, for example, an operation to switch the trigger stopper 87 by sliding the switch to change the setting. Each time an operation to restrict the rotatable range of the trigger button 84 is input, and each time a dead zone is set (newly set, changed, etc.) for the trigger button 84, the assignment unit 120 assigns a new output value to each of the correction points outside the dead zone range.
[0142] Furthermore, the assignment unit 120 assigns the minimum output value to more correction points as the rotational range of the trigger button 84 is narrowed by the trigger stopper 87. Also, the assignment unit 120 assigns the maximum output value to more correction points as the rotational range of the trigger button 84 is narrowed by the trigger stopper 87.
[0143] For example, as shown in Figures 14(a) and 14(b), if the trigger stopper 87 is set to the first or second stage and no dead zone is set, the normalization range 180 starts at P2. In this case, the assignment unit 120 assigns the output value 0 (minimum value) to P0, P1, and P2. On the other hand, as shown in Figure 14(c), if the trigger stopper is set to the third stage and no dead zone is set, the normalization range 180 starts at P3. In this case, the assignment unit 120 assigns the output value 0 to P0, P1, P2, and P3.
[0144] Furthermore, as shown in Figure 14(a), if the trigger stopper 87 is set to the first stage and no dead zone is set, the normalization range 180 ends at P7. In this case, the assignment unit 120 assigns the output value 255 (maximum value) to P7 and P8. On the other hand, as shown in Figure 14(b), if the trigger stopper 87 is set to the second stage and no dead zone is set, the normalization range 180 ends at P6. In this case, the assignment unit 120 assigns the output value 255 to P6, P7, and P8. Moreover, if the trigger stopper 87 is set to the third stage and no dead zone is set, the normalization range 180 ends at P5. In this case, the assignment unit 120 assigns the output value 255 to P5, P6, P7, and P8.
[0145] According to the second feature of the information processing system 1 of the embodiment, the linearity of the output value associated with user operation on a trigger button 84, which has a release-side dead zone 186 and / or a full-stroke-side dead zone 188 set, can be maintained. The second feature of the information processing system 1 is not limited to the trigger button 84, but can also be applied to other types of analog input devices in which dead zones can be set, such as an analog stick 77.
[0146] The present invention has been described above based on examples. These examples are illustrative, and it will be understood by those skilled in the art that various modifications are possible in combinations of each component and each processing process, and that such modifications also fall within the scope of the present invention.
[0147] Any combination of the above-described embodiments and modifications is also useful as an embodiment of the present invention. The new embodiments resulting from these combinations possess the combined effects of each of the embodiments and modifications. Furthermore, it will be understood by those skilled in the art that the functions to be performed by each component described in the claims can be achieved by each component shown in the embodiments and modifications individually or in combination thereof.
[0148] The technical concepts described in the above embodiments and modifications can be expressed in the manner described in the following sections. [Item 1-1] Analog input devices and, A storage unit that stores setting information regarding the sensitivity of the analog input device, A generation unit that generates operation information based on user operations on the analog input device, A transmission unit that transmits the operation information generated by the generation unit to an external information processing device, Equipped with, The generating unit is (A) Obtain the Cartesian coordinate system value based on the manipulated amount of the analog input device, (B) Convert the values in the Cartesian coordinate system to values in another coordinate system, (C) Based on the sensitivity of the analog input device indicated by the setting information, the values of the other coordinate system are transformed, (D) Based on the sensitivity of the analog input device, the converted value of the other coordinate system is converted to the value of the Cartesian coordinate system to be set in the operation information. Operating device. According to this control device, values in a Cartesian coordinate system are first converted to values in another coordinate system that is computationally advantageous, and then the sensitivity of the analog input device is reflected. This reduces the computational load required to reflect the sensitivity set for the analog input device in the output value of the control device based on user operation of the analog input device. [Item 1-2] The aforementioned other coordinate system is a polar coordinate system. The operating device described in item 1-1. According to this control device, values in a Cartesian coordinate system are first converted to values in a polar coordinate system, which is computationally more favorable, and then the sensitivity of the analog input device is reflected. This reduces the computational load required to reflect the sensitivity set for the analog input device in the output value of the control device based on user operation of the analog input device. [Item 1-3] The generation unit, in (B), derives the radial value of the polar coordinate system, but does not derive the angular value. The generation unit, in (C), converts the radial values of the polar coordinate system based on the sensitivity of the analog input device indicated by the setting information. The operating device described in item 1-2. This operating device reduces the computational load by eliminating the need to derive the polarity in polar coordinate transformations. [Item 1-4] The generation unit, in (A), acquires a value with relatively high accuracy as a Cartesian coordinate system value based on the manipulated amount of the analog input device, The generation unit, in (D), converts the converted value of the other coordinate system to the value of the Cartesian coordinate system based on the sensitivity of the analog input device, and further converts the converted value of the Cartesian coordinate system to a relatively lower precision value. An operating device as described in any of items 1-1 to 1-3. This operating device allows for the use of highly accurate values in sensitivity calculations, thereby suppressing a decrease in calculation accuracy. [Items 1-5] The generation unit generates values ranging from the minimum to the maximum value that can be set in the operation information, based on operations within a range that is narrower by a predetermined offset than the physical range of the analog input device. An operating device as described in any of items 1-1 to 1-4. According to this control device, even if the physical range of motion of the analog input device shifts by an offset over time, the predetermined range of output values can be maintained. [Items 1-6] Analog input devices and, A storage unit that stores setting information regarding the sensitivity of the analog input device, Processor and Equipped with, The processor performs the process of generating operation information based on user operations on the analog input device and the process of transmitting the generated operation information to an external information processing device. The aforementioned generation process is, (A) Obtain the Cartesian coordinate system value based on the manipulated amount of the analog input device, (B) Convert the values in the Cartesian coordinate system to values in another coordinate system, (C) Based on the sensitivity of the analog input device indicated by the setting information, the values of the other coordinate system are transformed, (D) The process includes converting the converted value of the other coordinate system based on the sensitivity of the analog input device to the value of the Cartesian coordinate system to be set in the operation information, Operating device. According to this control device, values in a Cartesian coordinate system are first converted to values in another coordinate system that is computationally advantageous, and then the sensitivity of the analog input device is reflected. This reduces the computational load required to reflect the sensitivity set for the analog input device in the output value of the control device based on user operation of the analog input device. [Items 1-7] An operating device comprising an analog input device and a storage unit for storing setting information regarding the sensitivity of the analog input device, The steps include generating operation information based on user operation on the analog input device, The steps include: transmitting the operation information generated in the above generation step to an external information processing device; Execute, The above generation step is, (A) Obtain the Cartesian coordinate system value based on the manipulated amount of the analog input device, (B) Convert the values in the Cartesian coordinate system to values in another coordinate system, (C) Based on the sensitivity of the analog input device indicated by the setting information, the values of the other coordinate system are transformed, (D) The process includes converting the converted value of the other coordinate system based on the sensitivity of the analog input device to the value of the Cartesian coordinate system to be set in the operation information, Information processing methods. According to this information processing method, values in a Cartesian coordinate system are first converted to values in another coordinate system that is computationally advantageous, and then the sensitivity of the analog input device is reflected. This reduces the computational load required by the operating device to reflect the sensitivity set for the analog input device in the output value of the operating device based on the user's operation on the analog input device. [Items 1-8] An operating device comprising an analog input device and a storage unit for storing setting information regarding the sensitivity of the analog input device, A function that generates operation information based on user operations on the analog input device, A function to transmit the operation information generated by the aforementioned generation function to an external information processing device, To make it happen, The function that generates the above is (A) Obtain the Cartesian coordinate system value based on the manipulated amount of the analog input device, (B) Convert the values in the Cartesian coordinate system to values in another coordinate system, (C) Based on the sensitivity of the analog input device indicated by the setting information, the values of the other coordinate system are transformed, (D) The process includes converting the converted value of the other coordinate system based on the sensitivity of the analog input device to the value of the Cartesian coordinate system to be set in the operation information, Computer program. According to this computer program, values in a Cartesian coordinate system are first converted to values in another coordinate system that is computationally advantageous, and then the sensitivity of the analog input device is reflected. This reduces the computational load on the control device in reflecting the sensitivity set for the analog input device in the output value of the control device based on the user's operation on the analog input device.
[0149] [Item 2-1] User-operated analog input devices, A storage unit that stores characteristic values measured at each of a plurality of correction points with different amounts of movement of the analog input device, An assignment unit that assigns an output value indicating the magnitude of the operation to each of the aforementioned multiple correction points, When an operation is input to the analog input device, an output unit outputs an output value to the outside that corresponds to the input operation, based on the measured characteristic value and the characteristic value and output value related to at least one correction point. Equipped with, When a dead zone is set for the analog input device, the allocation unit assigns new output values to each of the correction points outside the dead zone range such that the minimum to maximum values of the output values correspond to the movable range of the analog input device excluding the dead zone. Operating device. This control device allows for maintaining the linearity of the output value in response to user operation on an analog input device with a set dead zone. [Item 2-2] The analog input device can be configured to have either or both of the following dead zones: a first dead zone on the operation start side and a second dead zone on the operation end side. The allocation unit assigns new output values to each of the correction points outside the set first dead zone and second dead zone ranges such that the minimum and maximum values of the output values correspond to the movable range of the analog input device excluding the set first dead zone and second dead zone. The operating device described in item 2-1. This control device allows for the maintenance of linearity in the output value associated with user operation on an analog input device, even when a dead zone is set on either the start or end side of the analog input device, or both. [Item 2-3] The allocation unit assigns a new output value to each of the correction points outside the dead zone whenever a dead zone is set for the analog input device. The operating device described in item 2-1 or 2-2. This control device allows for the maintenance of linearity in output values resulting from user operations on analog input devices, while also tracking changes to the dead zone setting. [Item 2-4] The analog input device is further provided with a limiting unit that restricts the range of movement of the analog input device, If the movable range of the analog input device is restricted and a dead zone is set for the analog input device, the allocation unit assigns new output values to each of the correction points outside the dead zone range such that the minimum to maximum values of the output values correspond to the movable range obtained by subtracting the dead zone from the restricted movable range of the analog input device. An operating device as described in any of items 2-1 to 2-3. This control device allows for the maintenance of linearity in output values associated with user operation on analog input devices with a set dead zone, even when the movable range (e.g., stroke range or rotation range) of the analog input device is limited. [Item 2-5] The allocation unit assigns a new output value to each of the correction points outside the dead zone range whenever an operation to limit the movable range of the analog input device is input, or whenever a dead zone is set for the analog input device. The operating device described in item 2-4. This control device allows for the maintenance of linearity in output values resulting from user operations on analog input devices, while also tracking changes in the movable range and dead zone of the analog input devices. [Item 2-6] The allocation unit assigns the minimum value of the output value to a range from the starting position of the analog input device to a predetermined correction point, or assigns the maximum value of the output value to a range from the predetermined correction point to the ending position of the analog input device. An operating device as described in any of items 2-1 to 2-5. This operating device improves the operability of an analog input device by providing a play area at either or both of the starting position (e.g., release position or initial position) and the ending position (e.g., full stroke position) of the analog input device. [Item 2-7] The analog input device is further provided with a limiting unit that restricts the range of movement of the analog input device, The narrower the movable range of the analog input device, the more the allocation unit assigns the minimum value of the output to more correction points, or assigns the maximum value of the output to more correction points. An operating device as described in any of items 2-1 to 2-6. This control device allows for the maintenance of linearity in output values associated with user operation on analog input devices with a set dead zone, even when the movable range (e.g., stroke range or rotation range) of the analog input device is limited. [Item 2-8] User-operated analog input devices, A storage unit that stores characteristic values measured at each of a plurality of correction points with different amounts of movement of the analog input device, Processor and Equipped with, The processor assigns an output value indicating the magnitude of the operation to each of the plurality of correction points. When an operation is input to the analog input device, the processor outputs an output value to the outside that corresponds to the input operation, based on the measured characteristic value and the characteristic value and output value related to at least one correction point. If a dead zone is set for the analog input device, the processor assigns new output values to each of the correction points outside the dead zone so that the minimum to maximum values of the output values correspond to the movable range of the analog input device excluding the dead zone. Operating device. This control device allows for maintaining the linearity of the output value in response to user operation on an analog input device with a set dead zone. [Item 2-9] An operating device comprising an analog input device operated by a user, and a storage unit that stores characteristic values measured at each of a plurality of correction points with different amounts of movement of the analog input device, The steps include assigning an output value indicating the magnitude of the operation to each of the aforementioned multiple correction points, When an operation is input to the analog input device, the step of outputting an output value corresponding to the input operation to the outside, based on the measured characteristic value and the characteristic value and output value related to at least one correction point, Execute, The aforementioned assignment step, if a dead zone is set for the analog input device, involves assigning a new output value to each of the correction points outside the dead zone range such that the minimum to maximum values of the output value correspond to the movable range of the analog input device excluding the dead zone. Information processing methods. According to this information processing method, the linearity of the output value associated with user operation on an analog input device with a set dead zone can be maintained in the operating device. [Item 2-10] An operating device comprising an analog input device operated by a user, and a storage unit that stores characteristic values measured at each of a plurality of correction points with different amounts of movement of the analog input device, A function to assign an output value indicating the magnitude of the operation to each of the aforementioned multiple correction points, When an operation is input to the analog input device, the device has a function to output an output value to the outside that corresponds to the input operation, based on the measured characteristic value and the characteristic value and output value related to at least one correction point. To make it happen, The aforementioned assignment function, when a dead zone is set for the analog input device, assigns a new output value to each of the correction points outside the dead zone range such that the minimum to maximum values of the output value correspond to the movable range of the analog input device excluding the dead zone. Computer program. According to this computer program, the operating device can be enabled to maintain the linearity of the output value in response to user operation on an analog input device with a dead zone set. [Industrial applicability]
[0150] This invention can be applied to operating devices, information processing systems, and the like. [Explanation of Symbols]
[0151] 1 Information processing system, 6 Controllers, 10 Information processing devices, 77 Analog sticks, 84 Trigger buttons, 87 Trigger stoppers, 102 Profile storage unit, 104 Correction point information storage unit, 114 Operation information generation unit, 116 Operation information transmission unit, 120 Assignment unit.
Claims
1. Analog input devices and, A storage unit that stores setting information regarding the sensitivity of the analog input device, A generation unit that generates operation information based on user operations on the analog input device, A transmission unit that transmits the operation information generated by the generation unit to an external information processing device, Equipped with, The generating unit is (A) Obtain the Cartesian coordinate system value based on the manipulated amount of the analog input device, (B) Convert the values in the Cartesian coordinate system to values in another coordinate system, (C) Based on the sensitivity of the analog input device indicated by the setting information, the values of the other coordinate system are transformed, (D) Convert the converted value of the other coordinate system based on the sensitivity of the analog input device into the value of the Cartesian coordinate system to be set in the operation information. Operating device.
2. The aforementioned other coordinate system is a polar coordinate system. The operating device according to claim 1.
3. The generation unit, in (B), derives the radial value of the polar coordinate system, but does not derive the angular value. The generation unit, in (C), converts the radial values of the polar coordinate system based on the sensitivity of the analog input device indicated by the setting information. The operating device according to claim 2.
4. The generation unit, in (A), acquires a value with relatively high accuracy as a Cartesian coordinate system value based on the manipulated amount of the analog input device, The generation unit, in (D), converts the converted value of the other coordinate system to the value of the Cartesian coordinate system based on the sensitivity of the analog input device, and further converts the converted value of the Cartesian coordinate system to a relatively lower precision value. The operating device according to claim 1.
5. The generation unit generates values ranging from the minimum to the maximum value that can be set in the operation information, based on operations within a range that is narrower by a predetermined offset than the physical range of the analog input device. The operating device according to claim 1.
6. Analog input devices and, A storage unit that stores setting information regarding the sensitivity of the analog input device, Processor and Equipped with, The processor performs the process of generating operation information based on user operations on the analog input device and the process of transmitting the generated operation information to an external information processing device. The aforementioned generation process is, (A) Obtain the Cartesian coordinate system value based on the manipulated amount of the analog input device, (B) Convert the values in the Cartesian coordinate system to values in another coordinate system, (C) Based on the sensitivity of the analog input device indicated by the setting information, the values of the other coordinate system are transformed, (D) The process includes converting the converted values of the other coordinate system based on the sensitivity of the analog input device to the values of the Cartesian coordinate system to be set in the operation information, Operating device.
7. An operating device comprising an analog input device and a storage unit for storing setting information regarding the sensitivity of the analog input device, The steps include generating operation information based on user operation on the analog input device, The steps include: transmitting the operation information generated in the above generation step to an external information processing device; Execute, The above generation step is, (A) Obtain the Cartesian coordinate system value based on the manipulated amount of the analog input device, (B) Convert the values in the Cartesian coordinate system to values in another coordinate system, (C) Based on the sensitivity of the analog input device indicated by the setting information, the values of the other coordinate system are transformed, (D) The process includes converting the converted values of the other coordinate system based on the sensitivity of the analog input device to the values of the Cartesian coordinate system to be set in the operation information, Information processing methods.
8. An operating device comprising an analog input device and a storage unit for storing setting information regarding the sensitivity of the analog input device, A function that generates operation information based on user operations on the analog input device, A function to transmit the operation information generated by the aforementioned generation function to an external information processing device, To make it happen, The function that generates the above is (A) Obtain the Cartesian coordinate system value based on the manipulated amount of the analog input device, (B) Convert the values in the Cartesian coordinate system to values in another coordinate system, (C) Based on the sensitivity of the analog input device indicated by the setting information, the values of the other coordinate system are transformed, (D) The process includes converting the converted values of the other coordinate system based on the sensitivity of the analog input device to the values of the Cartesian coordinate system to be set in the operation information, Computer program.