Operation apparatus, information processing method, and computer program
Patent Information
- Application Number
- JP2024554362
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-04-18
- Publication Date
- 2025-07-11
- Estimated Expiration
- 2043-10-12
AI Technical Summary
Analog input devices with dead zones struggle to maintain linearity of output values based on user operations, as the correction points set during manufacturing may not account for the dead zone, leading to inconsistent output responses.
An operating device that stores characteristic values for each correction point of an analog input device, assigns output values indicating operation magnitude, and adjusts these values when a dead zone is set, ensuring the minimum to maximum output values correspond to the movable range excluding the dead zone, thereby maintaining linearity.
The solution effectively maintains linearity of output values for user operations on analog input devices with dead zones, improving operational consistency and user experience by dynamically adjusting output values based on the dead zone settings.
Abstract
Description
Operation device, information processing method, and computer program
[0001] The present invention relates to a data processing technology, and more particularly to an operation device, an information processing system, and a computer program.
[0002] Control devices equipped with analog input devices such as trigger buttons are becoming increasingly popular. Conventionally, during manufacturing, an output value is assigned to each of a plurality of correction points with different amounts of movement of the analog input device, and the output value corresponding to the user operation is derived based on the relationship between the amount of movement of the analog input device associated with the user operation and the correction points, thereby maintaining the linearity of the output value.
[0003] When a dead zone is set in an analog input device, it may not be possible to maintain linearity of the output value in response to user operations using the correction points set at the time of manufacture.
[0004] An object of the present invention is to provide a technique for maintaining the linearity of an output value based on a user operation on an analog input device in which a dead zone is set.
[0005] In order to solve the above problem, an operating device according to one aspect of the present invention includes an analog input device operated by a user, a memory unit that stores characteristic values measured at each of a plurality of correction points having 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 plurality of correction points, and an output unit that, when an operation is input to the analog input device, outputs 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. When a dead zone is set for the analog input device, the assignment unit assigns new output values to each of the correction points outside the dead zone so that the minimum to maximum output values correspond to the movable range of the analog input device excluding the dead zone.
[0006] Another aspect of the present invention is an operation apparatus including an analog input device operated by a user, a memory unit that stores characteristic values measured at each of a plurality of correction points corresponding to different amounts of movement of the analog input device, and a processor. The processor assigns an output value indicating the magnitude of the operation to each of the plurality of correction points, and when an operation is input to the analog input device, the processor outputs 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. When 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 output values correspond to the movable range of the analog input device excluding the dead zone.
[0007] Yet another aspect of the present invention is an information processing method, in which an operating device including 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 having different amounts of movement of the analog input device executes the steps of: assigning an output value indicating the magnitude of the operation to each of the plurality of correction points; and, when an operation is input to the analog input device, outputting to the outside an output value corresponding to the input operation based on the measured characteristic value and the characteristic value and output value for at least one correction point. In the assigning step, if a dead zone is set for the analog input device, a new output value is assigned to each of the correction points outside the dead zone so that the minimum to maximum output values correspond to the movable range of the analog input device excluding the dead zone.
[0008] Any combination of the above components, and conversion of the present invention between a system, a computer program, a recording medium storing a computer program, etc. are also valid aspects of the present invention.
[0009] According to the present invention, it is possible to maintain the linearity of the output value based on the user's operation on an analog input device in which a dead zone is set.
[0010] 14(a), 14(b), and 14(c) show the relationship between the trigger stopper setting and the normalization range. A diagram showing the relationship between the trigger stopper setting and the dead zone. A diagram showing an example of a trigger setting screen. A diagram showing the relationship between a correction point and the output value of the controller. A diagram showing the relationship between the correction point and the output value of the controller. A diagram showing an example of assigning a new output value to a correction point.
[0011] 1 shows an information processing system 1 according to an embodiment. The information processing system 1 includes an information processing device 10, a display device 4, and a controller 6. The information processing device 10 according to the embodiment is a stationary game console. Alternatively, the information processing device 10 may be a computer, a tablet terminal, or a smartphone capable of executing applications such as games.
[0012] The controller 6 is an operation device that accepts operations input by a user regarding information processing (e.g., a video game) executed by the information processing device 10. The controller 6 sequentially transmits operation information indicating operations input by the user to the information processing device 10. The controller 6 can also be called a game controller. The information processing device 10 and the controller 6 are connected via a wired or wireless connection. The information processing device 10 in the embodiment is a device installed in a user's home or the like, but as a modified example, the functions of the information processing device 10 in the embodiment may be implemented in a server installed on a cloud that provides cloud services (e.g., cloud games) via the Internet or the like. The controller 6 may communicate with the server via a terminal or communication device installed in the user's home or the like.
[0013] In the information processing system 1, the information processing device 10 may transmit an output report, which is control data, to the controller 6 at a predetermined interval. The controller 6 may transmit an input report, which is notification data, to the information processing device 10 based on the reception of the output report.
[0014] The display device 4 may be a television having a display for outputting images and a speaker for outputting sound, or may be a computer display. The display device 4 may be connected to the information processing device 10 by a wired cable or wirelessly. When the information processing device 10 receives operation information provided by the controller 6, it reflects the operation information in the processing of the system software and application software, and causes the display device 4 to display an image related to the processing result.
[0015] An overview of an information processing system 1 according to an embodiment will be described. The controller 6 according to the embodiment stores setting information (hereinafter also referred to as "profile information" or simply "profile") related to operations on the controller 6, which is customized by a user, in a non-volatile memory. The profile information includes setting information related to the behavior of the controller 6. The controller 6 can store multiple pieces of profile information and can switch the profile information to be applied in response to a user operation.
[0016] The profile information may include predetermined setting values and the like related to operations on the controller 6. The profile information may also include setting information related to generating operation information to be input to the information processing device 10 based on an input operation on the controller 6. The profile information may also include information referenced when converting an analog value detected in response to an input operation on the controller 6 into a digital value. The profile information may also include setting information related to the intensity of feedback (for example, vibration, light emission, sound, etc.) on the controller 6.
[0017] The profile information may also include setting information related to changing the image generation mode by the information processing device 10 or the image display mode by the display device 4 based on an 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, headphones (not shown), etc. based on an operation input to the controller 6. The profile information may also include setting information related to changing the chat mode based on an operation input to the controller 6.
[0018] The profile information may also include microphone-related setting information, such as on / off information for a microphone noise cancellation function, on / off information for a microphone mute function, and microphone volume setting information.
[0019] The profile information in this embodiment includes a profile ID and name, button assignment information, analog input device sensitivity-related information, and corresponding button information. The button assignment information is information indicating various actions, commands, and functions assigned by the user to each button on the controller 6. In other words, the button assignment information is information indicating the assignment status of various actions, commands, and functions to each button. The corresponding button information is identification information for the button on the controller 6 associated with the profile information, and is, for example, information indicating the circle button 72 and cross button 73 described below.
[0020] The sensitivity-related information of the analog input device includes information indicating a setting value related to 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 relative to the magnitude of the operation (e.g., tilt amount or rotation amount) actually input by the user to the analog input device. 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 data processing in the information processing device 10 (in other words, an application currently being executed). The sensitivity setting value may be the ratio between the amount of operation actually input to the analog input device and the amount of operation recognized by the information processing device 10.
[0021] Furthermore, the sensitivity-related information for the analog input device includes dead zone information for the analog input device, such as a setting value for the dead zone. A dead zone can also be considered a dead zone, and is a range in which operations input to the analog input device are not accepted. In other words, a dead zone is a range in which operations input to the analog input device are ignored. The setting value for the dead zone may be a value range of tilt or rotation amounts that falls within the dead zone. In this way, the profile information of the embodiment includes setting information for the analog input device of the controller 6. As will be described later, the controller 6 of the embodiment includes an analog stick and a trigger button as analog input devices.
[0022] The present inventors have recognized that a first problem is to reduce the calculation load required to reflect the sensitivity set in the analog input device in the output value of the controller 6 based on the user's operation of the analog input device.
[0023] As a first feature of the information processing system 1 for solving the first problem, the controller 6 acquires a value in a Cartesian coordinate system based on the amount of operation of the analog input device, and then converts that value into 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 then converts the adjusted value in the other coordinate system back into a value in the Cartesian coordinate system, which is the format of the output value.
[0024] Furthermore, the inventors recognized a second problem: when a user can set a dead zone of any range for an analog input device, it may not be possible to maintain the linearity of the output value in response to user operation of the analog input device using the correction point set during the manufacture of the controller 6.
[0025] As a second feature of the information processing system 1 for solving the second problem, when a dead zone is set for the analog input device, the controller 6 assigns new output values to each correction point outside the dead zone 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 according to user operations on the analog input device.
[0026] The button configuration of the controller 6 will now be described. FIG. 2 shows the top surface of the controller 6. The user operates the controller 6 by holding the left grip portion 78b with their left hand and the right grip portion 78a with their right hand. The top surface of the housing of the controller 6 is provided with input units, including a directional button 71, a right analog stick 77a, a left analog stick 77b, and operation buttons 76. The directional button 71 is configured to allow input in eight directions, including up, down, left, right, and diagonal, and in this embodiment includes an up button 71a, a left button 71b, a down button 71c, and a right button 71d. The four operation buttons 76 are marked with different shapes and in different colors to distinguish them from one another. The operation buttons 76 include a circle button 72, an x button 73, a square button 74, and a triangle button 75.
[0027] The right analog stick 77a and the left analog stick 77b are also called control sticks, thumbsticks, or joysticks, and are used to input direction and tilt amount by tilting. The tilt amount can also be referred to as the angle at which the right analog stick 77a or the 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 the user releases their hand. Hereinafter, the right analog stick 77a and the left analog stick 77b will also be collectively referred to as the "analog stick 77." The operation button 76, the direction button 71, and the analog stick 77 are used to operate an application (e.g., a game) executed on the information processing device 10.
[0028] A touchpad 79 is provided on the flat area on the top surface of the housing between the direction buttons 71 and the operation buttons 76. In addition to detecting touches by the user's fingers, the touchpad 79 also functions as a push-button that sinks downward when pressed by the user and returns to its original position when the user releases their hand. A speaker 89 and a microphone 91 are also provided on the top surface of the housing.
[0029] A home button 80 is provided between the right analog stick 77a and the left analog stick 77b. The home button 80 is used to power on the controller 6 and the information processing device 10, and at the same time to activate a communication function for wirelessly connecting to the information processing device 10. After the controller 6 is connected to the information processing device 10, the home button 80 is also used to display a menu screen or home screen on the information processing device 10. The menu screen or home screen is a screen that allows the user to select a function or application to be executed by the information processing device 10.
[0030] The CREATE button 81 is provided on the left side of the touchpad 79. The OPTIONS button 82 is provided on the right side of the touchpad 79. The CREATE button 81 and the OPTIONS button 82 are used to input instructions from the user to the OS (Operating System) or system software of the information processing device 10. In other words, the CREATE button 81 and the OPTIONS button 82 are buttons used to call up (operate) functions of the OS (Operating System) or system software of the information processing device 10. The CREATE button 81 and the OPTIONS button 82 may both 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 an LED. The light-emitting unit 86 includes a plurality of lamps (five lamps in the example of FIG. 2 ) and displays information related to the controller number that identifies the controller and information related to the status of the controller 6 by the lighting states of the plurality of lamps (i.e., a combination of lighting states and extinguishing states). The light-emitting unit 86 is controlled to a lighting state specified by an application running on the information processing device 10. Furthermore, when the profile information to be applied to operations on the controller 6 is switched, the light-emitting unit 86 is controlled for a short time to a predetermined lighting state that indicates that the profile information of the controller 6 has been switched.
[0032] Vertically long light emitting units 85 are provided on the left and right sides of the touch pad 79. The light emitting units 85 have red (R), green (G), and blue (B) LEDs, and light up according to 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 buttons 88) are buttons that change or expand the functions of other buttons. In this embodiment, when an operation is input to an operation button 76 while an operation is input to a function button 88, the profile information applied to the operation on 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 this case, the same function is provided regardless of whether the left or right button is operated.
[0034] 3 shows the rear side of the controller 6. A touchpad 79 is bent and extends from the top surface of the housing at an angle to the upper side of the rear side of the controller 6. On the rear side of the housing, an R1 button 83a, an R2 button 84a, an L1 button 83b, an L2 button 84b, a right trigger stopper 87a, and a left trigger stopper 87b are provided at symmetrical positions along the length. The R1 button 83a and the R2 button 84a are operated with the index finger and middle finger of the user's right hand, respectively, and the L1 button 83b and the L2 button 84b are operated with the index finger and middle finger of the user's left hand, 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 pivotally supported trigger buttons. The R2 button 84a and L2 button 84b are capable of analog output, similar to the right analog stick 77a and left analog stick 77b, and output a value according 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 member that adjusts or limits the rotation range of the R2 button 84a. The left trigger stopper 87b is a member that adjusts or limits the rotation range of the L2 button 84b. The right trigger stopper 87a and the left trigger stopper 87b are collectively referred to as trigger stoppers 87. The trigger stopper 87 can also be considered a limiting part that limits the movable range (which can also be considered the tiltable range or rotatable range) of the analog input device. The right trigger stopper 87a and the left trigger stopper 87b can each be set to one of a first, second, or third stage. In the first stage, the maximum rotation angle is 26 degrees, in the second stage, the maximum rotation angle is 14 degrees, and in the third stage, the maximum rotation angle is 10 degrees.
[0037] 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 looking at the menu screen and game screen displayed on the display device 4.
[0038] 4 shows the hardware configuration of the controller 6 according to this embodiment. In addition to the hardware described with reference to FIGS. 2 and 3, the controller 6 includes a vibrator 90, a storage unit 92, a communication control unit 94, and a processor 96. The processor 96 executes various data processes and controls the operation of various hardware components. The processor 96 may include a CPU (Central Processing Unit), a memory, and a SoC (System on a Chip).
[0039] The vibrator 90 vibrates based on a control signal from the processor 96 to provide a tactile stimulus to the user. The vibrator 90 may include a voice coil motor (VCM). The vibrator 90 and the light-emitting unit 86 function as a notification device that notifies the user of various types of information. The vibrator 90 notifies the user using tactile information, and the light-emitting unit 86 notifies the user using visual information.
[0040] The storage unit 92 stores data to be referenced or updated by the processor 96. The communication control unit 94 controls communication with external devices. In the embodiment, the communication control unit 94 performs wireless communication with the information processing device 10, but as a modified example, the communication control unit 94 may perform wired communication with the information processing device 10.
[0041] 5 shows a hardware configuration related to this embodiment of the information processing device 10. 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, a memory serving as a main storage device, a memory controller, a GPU (Graphics Processing Unit), and the like. The GPU is primarily used for processing game programs. These functions may be configured as a SoC (System on a Chip) and implemented on a single chip. The main CPU has the function of starting the OS and executing applications installed in a storage unit (e.g., flash memory 36 or an auxiliary storage device not shown) in the environment provided by the OS. The main system 60 also has the function of controlling the content displayed on the display device 4.
[0043] The subsystem 50 includes a sub-CPU, a memory serving as a main storage device, a memory controller, and the like, but does not include a GPU. The number of circuit gates of the sub-CPU is smaller than that of the main CPU, and the operating power consumption of the sub-CPU is smaller than that of the main CPU. The sub-CPU operates while the main CPU is in standby mode, and its processing functions are limited 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 operational input from the user, is provided on the front of the housing of the information processing device 10, and is operated to turn on or off the power supply to the main system 60 of the information processing device 10. Hereinafter, when the main power is on, it means that the main system 60 is in an active state, and when the main power is off, it 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 on, and the standby LED 22 lights up when the main power button 20 is off.
[0045] The system controller 24 detects when the user presses the main power button 20. When the main power button 20 is pressed while the main power is in the off state, the system controller 24 interprets the press operation as an "on instruction," and when the main power button 20 is pressed while the main power is in the on state, the system controller 24 interprets the press operation as an "off instruction." The system controller 24 may also interpret the same power on / off instructions as above from an operation input from the controller 6.
[0046] While the main CPU has the function of executing a game program installed in a specified storage unit or ROM medium 44, the sub-CPU does not have such functions. However, the sub-CPU does have the function of accessing the storage unit and the function of sending and receiving data to and from external devices. The sub-CPU is configured with only these limited processing functions, and therefore can operate with less power consumption than the main CPU. These functions of the sub-CPU are executed when the main CPU is in standby mode.
[0047] The clock 26 is a real-time clock that generates current date and time information and supplies it to the system controller 24 , the subsystem 50 , and the main system 60 .
[0048] The device controller 30 is configured as an LSI (Large-Scale Integrated Circuit) that, like a southbridge, transfers information between devices. 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 differences in the 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 is driven by loading a ROM medium 44 on which application software such as games and license information are recorded, and that reads programs, data, and the like from the ROM medium 44. The ROM medium 44 is a read-only recording medium such as an optical disk, a magneto-optical disk, or a Blu-ray disk.
[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 internal storage. The wireless communication module 38 wirelessly communicates with, for example, the controller 6 using a communication protocol such as Bluetooth (trademark or registered trademark) protocol or IEEE 802.11 protocol. The wired communication module 40 communicates with external devices via a wired connection, and connects to the Internet, a server, or the like, for example, via an access point (not shown).
[0051] 6 is a block diagram showing the functional blocks of the controller 6. Each block shown in the block diagram in this specification can be realized in terms of hardware by elements such as a computer processor, CPU, and memory, as well as electronic circuits and mechanical devices, and in terms of software by a computer program loaded into memory, etc. However, the functional blocks shown here are realized by the cooperation of these elements. Therefore, it will be understood by those skilled in the art that these functional blocks can be realized in various ways by combining hardware and software.
[0052] The controller 6 includes a storage unit 100 and a processing unit 110. The storage unit 100 corresponds to the storage unit 92 in Fig. 4 and stores data to be 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 that stores multiple pieces of profile information. The profile storage unit 102 stores each piece of profile information in association with a different slot and operation button 76. In this embodiment, the profile storage unit 102 stores up to four pieces of profile information in association with four slots (slot 1 to slot 4) and four operation buttons 76 (circle button 72, cross button 73, square button 74, and triangle button 75).
[0054] The correction point information storage unit 104 stores correction point information, which is information relating to a plurality of positions (hereinafter also referred to as "correction points") between the released state and the full stroke state of the trigger button 84. The released state is a state in which the finger is removed from the trigger button 84 and no operation is input to the trigger button 84. The full stroke state is a state in which the trigger button 84 has been rotated to the upper limit of its physical movable range.
[0055] The multiple correction points can be thought of as multiple positions within the rotatable range of the trigger button 84. The multiple correction points differ from one another in the amount of rotation of the trigger button 84 (which can also be thought of as the amount of operation of the trigger button 84 by the user). The correction point information is information measured during the manufacture of the controller 6, and includes pairs of characteristic values (for example, voltage values) and output values (values indicating the magnitude of 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 allocation unit 120. A computer program (e.g., firmware) that implements 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 to move the analog input device, specifically operations to tilt the analog stick 77 and operations to rotate the trigger button 84. The operation detection unit 112 performs analog-to-digital conversion of the output from the analog input device related to the user's operation of the analog input device at a predetermined sampling rate to obtain an output value. The operation detection unit 112 detects analog values (e.g., voltage values) associated with the operation of the analog input device, performs analog-to-digital conversion, and passes the converted digital values (hereinafter also referred to as "AD values") to the operation information generation unit 114.
[0058] The operation information generation unit 114 generates operation information related to the user's operation on the controller 6, based on the user's operation on the controller 6 detected by the operation detection unit 112 (for example, the AD value output from the operation detection unit 112). In particular, in the embodiment, the operation information generation unit 114 generates operation information related to the user's operation on the analog stick 77 and the trigger button 84.
[0059] The operation information transmitting unit 116 transmits the operation information generated by the operation information generating unit 114 to the information processing device 10. The operation information transmitting unit 116 may transmit the operation information to the information processing device 10 in a form in which the operation information is included in an 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 in accordance with a profile update instruction transmitted from the information processing device 10. The profile update instruction includes, for example, an instruction to update the setting values related to the sensitivity characteristics and dead zone of the analog stick 77. It also includes an instruction to update the setting value related to the dead zone of the trigger button 84.
[0061] The allocation unit 120 dynamically allocates 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] 7 is a block diagram showing functional blocks of the information processing device 10. The information processing device 10 includes a storage unit 200 and a processing unit 210. The processing unit 210 executes various information processes. The processing unit 210 is implemented by a processor of the information processing device 10, and may be implemented by the main system 60 shown in FIG. 5, for example. The storage unit 200 stores data referenced or updated by the processing unit 210. The storage unit 200 may include the flash memory 36 or ROM medium 44 shown in FIG. 5.
[0063] The storage unit 200 includes an application storage unit 202 and a profile storage unit 204. The application storage unit 202 stores data of applications (for example, game programs) that can be executed by the information processing device 10.
[0064] The profile storage unit 204 stores the profile information of the controller 6 notified from the controller 6. Similar to the profile storage unit 102 of the controller 6, the profile storage unit 204 stores up to four pieces of profile information in association with four slots and four operation buttons 76 (circle button 72, cross button 73, square button 74, and triangle button 75). The profile storage unit 204 also stores information related to the currently applied profile of the controller 6 notified from the controller 6. Specifically, it stores information about which of slots 1 to 4 the profile corresponds to as the applied profile.
[0065] The processing unit 210 includes a profile information acquisition unit 212, an operation information acceptance unit 214, an application execution unit 216, a setting screen generation unit 218, a display control unit 220, and a profile update instruction unit 222. A computer program that implements at least some of these functions may be stored in the storage unit 200 of the information processing device 10. A processor (e.g., main system 60) of the information processing device 10 may perform at least some of these functions by reading this computer program into main memory and executing it.
[0066] The profile information acquisition unit 212 acquires, from the controller 6 connected to the information processing device 10, information about a plurality of profiles that are stored in the controller 6 and that can be selected by the user. The profile information acquisition unit 212 stores, in the profile storage unit 204, information about a plurality of profiles that can be selected by the user.
[0067] The operation information receiving unit 214 receives information about a user's operation on the controller 6 that is transmitted from the controller 6 connected to the information processing device 10 .
[0068] The application execution unit 216 executes applications (e.g., game programs and system software) stored in the application storage unit 202. For example, the application execution unit 216 progresses a game in accordance with operation information of the user on the controller 6, and sequentially generates images (hereinafter also referred to as "game screens") showing the progress of the game.
[0069] The setting screen generation unit 218 generates data for a profile setting screen for the controller 6 while an application is being executed (for example, while a game screen is being displayed), based on information about a user's operation on the controller 6. The profile setting screen in this embodiment includes a setting screen for an analog input device, and more specifically, a setting screen for the analog stick 77 and a setting screen for the trigger button 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 outputs game screen data generated by the application execution unit 216 to the display device 4, thereby displaying the game screen on the display device 4. Furthermore, the display control unit 224 outputs setting screen data generated by the setting screen generation unit 218 to the display device 4, thereby displaying the setting screen on the display device 4.
[0071] The profile update instruction unit 222 transmits a profile update instruction based on the content input by the user on the profile setting screen to the controller 6. The profile update instruction unit 222 may transmit the profile update instruction to the information processing device 10 in a form in which the profile update instruction is included in an output report transmitted from the information processing device 10 to the controller 6 at a predetermined interval.
[0072] The operation of the information processing system 1 configured as described above will be described. First, as the operation relating to the first feature of the information processing system 1, the adjustment and operation of the analog stick 77 (right analog stick 77a and left analog stick 77b) will be mainly described.
[0073] The setting screen generation unit 218 of the information processing device 10 generates an analog stick setting screen in response to a user operation input to the controller 6. The display control unit 220 of the information processing device 10 causes the display device 4 to display the analog stick setting screen.
[0074] 8 shows an example of an analog stick setting screen 130. The analog stick setting screen 130 in Fig. 8 shows content for setting the sensitivity and dead zone of the analog stick 77 of the controller 6. The analog stick setting 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 for selecting the type of analog stick 77 (the right analog stick 77a or the left analog stick 77b in this embodiment) to be set on the analog stick setting screen 130. In Fig. 11, the left analog stick 77b is selected.
[0076] The sensitivity pattern selection field 134 is a screen element for selecting a specific pattern from multiple predetermined sensitivity curve patterns. The sensitivity curve is a curve (including a straight line) 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 associates the magnitude of the operation input by the user to the analog stick 77 (hereinafter also referred to as the "user input operation amount") with the magnitude of the operation recognized in data processing of the information processing device 10 (hereinafter also referred to as the "system-recognized operation amount"). The user input operation amount can also be considered as the actual tilt amount or tilt angle of the analog stick 77. The system-recognized operation amount can also be considered as the tilt amount or tilt angle of the analog stick 77 input to data processing of the information processing device 10 (in this embodiment, the application execution unit 216).
[0077] The multiple sensitivity curve patterns may include linear, delay, and quick. Linear is a pattern in which the system-recognized operation amount increases in proportion to an increase in the user input operation amount, and is, for example, a default pattern in which the slope of the sensitivity curve is constant. Delay is a pattern in which the system-recognized operation amount increases slowly while the user input operation amount is small, and increases significantly as the user input operation amount increases. Quick is a pattern in which the system-recognized operation amount increases significantly even when the user input operation amount is small, and the system-recognized operation amount quickly reaches its upper limit.
[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 system-recognized operation, and more specifically, 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 value of the dead zone of the analog stick 77.
[0079] The analog stick setting 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 related to the magnitude of the operation input by the user to the analog stick 77. The other image is a setting status image 148 that shows the sensitivity and dead zone according to the distance from the center based on the magnitude of the operation input by the user to the analog stick 77. The setting screen generation unit 218 arranges the sensitivity curve image 140 and the setting status image 148 on the analog stick setting screen 130.
[0080] The sensitivity curve image 140 includes objects (initial sensitivity curve 146 and adjusted sensitivity curve 144) that indicate sensitivity curves arranged in a graph area with the horizontal axis representing the magnitude of the operation input by the user to the analog stick 77 and the vertical axis representing the magnitude of the operation recognized by the information processing device 10. The sensitivity curve can also be considered 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 indicates the initial value of the sensitivity curve defined by the pattern selected in the sensitivity pattern selection field 134. The adjusted sensitivity curve 144 indicates the sensitivity curve after adjustment in 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 and is arranged along the horizontal axis of the graph area. The dead zone 142 in FIG. 6 indicates that 18% of the tilt amount that the user can input from the rest position (in other words, the initial position) of the analog stick 77 is the dead zone.
[0082] The setting status image 148 includes an image showing the input unit to be set (the left analog stick 77b in FIG. 8 ), with information about the sensitivity and dead zone superimposed on the image. Specifically, the setting status image 148 includes a plurality of concentric circles (level lines 150) centered on the rest position (in other words, the initial position) of the analog stick 77 and indicating the magnitude of operation from that rest position in multiple stages. The plurality of level lines 150 may include three level lines 150 indicating 100%, 75%, and 50% of the maximum value of the operation magnitude, based on the maximum value of the operation magnitude. The level lines 150 can also be considered contour lines relating to the magnitude of the operation.
[0083] A dead zone 152, which is a first object indicating a dead zone, is arranged in the setting state image 148. The dead zone 152 indicates the range of the dead zone by the distance from the rest position of the analog stick 77, i.e., the center of the circle indicated by the level line 150. An adjusted operation amount indicator 154 and an unadjusted operation amount indicator 156 are also arranged in the setting state image 148. Both the adjusted operation amount indicator 154 and the unadjusted operation amount indicator 156 indicate the magnitude of the operation of the analog stick 77 by the distance from the center. Furthermore, both the adjusted operation amount indicator 154 and the unadjusted operation amount indicator 156 indicate the tilt direction of the analog stick 77 by the direction in which the line extending from the center extends.
[0084] The adjusted operation amount indicator 154 indicates a value related to a user's operation input to the analog stick 77, adjusted using the profile information being adjusted in an adjustment mode (e.g., left analog stick adjustment mode). In other words, it indicates the operation amount of the analog stick 77 that is 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, a 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 operation amount indicator 156 indicates a value related to a user's operation input to the analog stick 77 to which the profile information being adjusted in adjustment mode has not yet been applied. Specifically, the unadjusted operation amount indicator 156 indicates a value derived using the user's operation amount input to the analog stick 77 and a linear sensitivity curve, regardless of the profile information being adjusted in adjustment mode. The value indicated by the unadjusted operation amount indicator 156 is a default value for the operation amount of the analog stick 77 recognized by the information processing device 10 based on the user's operation amount input to the analog stick 77. Note that although the term "unadjusted" is used, this refers to a state in which the analog stick 77 has been adjusted during manufacturing of the controller 6 at the factory or before shipping.
[0086] The setting state image 148 is an image that represents the sensitivity of the analog stick 77 based on the sensitivity curve that the user set on the analog stick setting screen 130. Specifically, the setting state image 148 is an image that represents the relationship between the adjusted value using the profile information that is being adjusted, which is indicated by the adjusted operation amount indicator 154, and the value to which the profile information that is being adjusted has not yet been applied, which is indicated by the unadjusted operation amount indicator 156.
[0087] On the analog stick setting screen 130, the user selects a desired pattern from a plurality of predetermined sensitivity curve patterns in a sensitivity pattern selection field 134. Here, it is assumed that a delay pattern is selected. The setting screen generation unit 218 places an initial sensitivity curve 146 determined by the delay pattern in the sensitivity curve image 140. The setting screen generation unit 218 also places an adjusted sensitivity curve 144 that reflects the settings of the sensitivity curve adjustment gauge 136 and the dead zone adjustment gauge 138 in the sensitivity curve image 140. The user also adjusts and updates the sensitivity curve (including the dead zone) of the analog stick 77 while checking the setting status image 148 on the analog stick setting screen 130.
[0088] The profile update instruction unit 222 of the information processing device 10 transmits to the controller 6 a profile update instruction including information about the apex of a line graph (for example, the adjusted sensitivity curve 144 in FIG. 8 ) representing the sensitivity characteristics of the analog stick 77 specified on the analog stick setting screen 130. The profile update unit 118 of the controller 6 stores the information about the apex 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, sensitivity information of the analog stick 77 including information on vertices 1, 2, 3, and 4 of the adjusted sensitivity curve 144 is stored in the profile storage unit 102. An example of information on each vertex of the adjusted sensitivity curve 144 is shown below. Information on vertex 1: (r Dz , 0), information of vertex 2: (r 1 , r' 1 ) Information of vertex 3: (r 2 , r' 2 ), information of vertex 4: (r Max , r' Max ) r Dz is a value indicating the range of the dead zone, i.e., 0≦input value≦r Dz The range of is the dead zone. The information of 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 shown by the solid circle indicates the range in which the analog stick 77 can actually be moved. The return position 174 can also be called the center return position, and is the position of the analog stick 77 when the finger is off the analog stick 77 (i.e., when the analog stick 77 is not being operated). When the controller 6 is manufactured, the minimum value of the AD value (X min and Y min ) and maximum value (X max and Y max ), and the AD value (X center and Y center ) is measured.
[0091] Furthermore, the AD maximum value (X max and Y max ) is set as an offset value, and a position (X' max and Y' max ) is set as the maximum value of the output value from the controller 6. Similarly, the AD minimum value (X min and Y min ) is set as an offset value, and a position (X' min and Y' min ) is the minimum value of the output value from the controller 6.
[0092] (X' max and Y' max ) and (X' min and Y' min ) is defined as a logically movable range 172. The output value from the controller 6 is normalized within the range of 0 to 255. The normalized output value varies within the logically movable range 172.
[0093] 10, the output value in the X-axis direction is calculated as follows according to the AD value of the X-axis in the physical movable range 170: (1) X' min In the following cases, the output value is set to 0: (2) X'min ~X center In this case, the output value is calculated 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 calculated by linear interpolation so that the output value is between 128 and 255. (4) X' max In the above cases, the output value is set to 255.
[0094] 10, the output value in the Y-axis direction is calculated as follows according to the AD value of the Y-axis in the physical movable range 170: (1) Y' min In the following cases, the output value is set to 0: (2) Y' min ~Y center In this case, the output value is calculated 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 calculated by linear interpolation so that the output value is between 128 and 255. (4) Y' max In the above cases, the output value is set to 255.
[0095] 8 and 9 , the analog stick setting screen 130 allows the user to set a sensitivity curve of any shape (adjusted sensitivity curve 144) that may include a dead zone. The operation information generation unit 114 of the controller 6 needs to reflect the setting value of the sensitivity curve of any shape in the output value of the analog stick 77.
[0096] 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). The operation information generation unit 114 acquires values (x, y) in a hypothetical Cartesian coordinate system with 0 as its center based on the AD value acquired in S10 (S11). To prevent a decrease in calculation accuracy in subsequent stages, a relatively high-precision value is acquired in S11; specifically, the range of values is set to -32767 to 32767.
[0097] The operation information generating unit 114 converts the value (x, y) of the Cartesian coordinate system acquired in S11 into a value (r, θ) of the polar coordinate system (S12). The operation information generating unit 114 derives the radius vector value r based on Equation 1.
[0098] As shown in Equations 2 and 3, the operation information generating unit 114 does not derive the argument θ, but tan 2 θ and 1 / tan 2 Derive θ.
[0099] tan 2 θ and 1 / tan 2 θ can be calculated by multiplication and division only. Also, the argument θ is constant in this process. Therefore, tan 2 θ and 1 / tan 2 Using θ, the polar coordinate system can be converted to a rectangular coordinate system in the subsequent stage. By using this procedure, the calculation of trigonometric functions (tan -1 This eliminates the need for calculations (derivation of θ and θ), thereby reducing the calculation load. Note that when x=0 or y=0, the calculations of Equations 2 and 3 are not performed.
[0100] The operation information generation unit 114 converts the radial value r calculated in S12 into a value r' that reflects the sensitivity set for the analog stick 77 based on the sensitivity curve information for the analog stick 77 indicated by the profile information stored in the profile storage unit 102 (S13).
[0101] For example, assume that information on vertices 1 to 4 of the adjusted sensitivity curve 144 in FIG. 9 is set as the sensitivity curve information for the analog stick 77. FIG. 12 shows an example of values (r, θ) in the polar coordinate system before sensitivity application, and FIG. 13 shows an example of values (r', θ) in the polar coordinate system after sensitivity application. A physical movable range 170 indicates the physical movable range of the analog stick 77. A logical movable range 176 corresponds to the logical movable range 172 in FIG. 10 and indicates a logical value range related to the radius value r. The logical movable range 176 is a circle that is smaller than the physical movable range 170 by a predetermined offset, and in this embodiment, is a circle with a radius 4% smaller than the physical movable range 170.
[0102] If the radial value r is less than or equal to rDz (i.e., a value within the dead zone range 178), the adjusted value is 0. 1 is the adjustment sensitivity curve 144 shown in FIG. 1 This is the value corresponding to r' in FIG. 2 is the adjustment sensitivity curve 144 shown in FIG. 2 This is the value corresponding to r' in FIG. Max is the adjustment sensitivity curve 144 shown in FIG. Max The operation information generating unit 114 receives the radius vector value r calculated in S12 as an input and performs linear interpolation between the vertices of the adjusted sensitivity curve 144 to derive the corresponding output value r′.
[0103] The operation information generating unit 114 converts the value (r', θ) in the polar coordinate system after the radial value conversion into a value (x', y') in the Cartesian coordinate system (S14). The operation information generating unit 114 derives the values of x' (denoted as x in Equation 4) and y' (denoted as y in Equation 5) based on Equation 4 and Equation 5. When x=0 or y=0, the calculations of Equations 4 and 5 are not performed. The signs of x' and y' are the same as the signs of x and y before conversion to the polar coordinate system.
[0104] The operation information generating unit 114 generates an output value (x', y') of 0 to 128 to 255, which is a prescribed format for operation information, from the value (x', y') of a virtual orthogonal coordinate system with the center value being 0. out , y out ) (S15). out , y out ) are values in a Cartesian coordinate system with a lower limit of 0, a central value of 128, and an upper limit of 255, as shown in FIG. 10. The value range of (x', y') is highly accurate (-32767 to 32767) like (x, y), while the output value (x out , y out The value range of ) is set to low precision (0 to 255).
[0105] The operation information generating unit 114 generates the above output value (x out , y outThe operation information transmitting unit 116 transmits the operation information generated by the operation information generating unit 114 to the information processing device 10 (S16).
[0106] The application execution unit 216 of the information processing device 10 receives an output value (x out , y out ) and run the application, e.g., 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 reflects the adjusted operation amount indicator 154 of the setting state image 148 of the analog stick setting screen 130 in accordance with the output value (x out , y out ) and place it in a position based on the
[0107] According to a first feature of the information processing system 1 of the embodiment, values in a Cartesian coordinate system based on a user's operation on an analog input device are first converted into values in a polar coordinate system, and then the sensitivity characteristics of the analog input device are reflected in the converted values, thereby reducing the calculation load required to reflect the sensitivity set in the analog input device in the output values of the controller 6 based on the user's operation on the analog input device.
[0108] 10 , the controller 6 generates values (values from 0 to 255) ranging from the minimum value to the maximum value that can be set in the operation information based on operations within a range (logical movement range 176) that is narrower than the physical movement range 170 of the analog stick 77 by a predetermined offset. This makes it possible to maintain the predetermined range of output values (minimum to maximum value) even if the physical movement range of the analog stick 77 moves by the offset over time. The first feature of the information processing system 1 is not limited to the analog stick 77, and can also be applied to other types of analog input devices, such as a trigger button 84.
[0109] Next, as an operation relating to the second feature of the information processing system 1, adjustments and operations relating mainly to the trigger buttons 84 (R2 button 84a and L2 button 84b) will be described.
[0110] 14(a), 14(b), and 14(c) show the relationship between the setting of the trigger stopper 87 and the normalization range 180. FIG. 14(a) shows the relationship when the trigger stopper 87 is set to the first stage (the trigger button 84 can rotate by 26 degrees). FIG. 14(b) shows the relationship when the trigger stopper 87 is set to the second stage (the trigger button 84 can rotate by 14 degrees). FIG. 14(c) shows the relationship when the trigger stopper 87 is set to the third stage (the trigger button 84 can rotate by 10 degrees).
[0111] During manufacturing of the controller 6, multiple positions between the released state and the full stroke state of the trigger button 84 are set as correction points, and characteristic values (in this embodiment, AD values) are measured at each correction point. In this embodiment, the multiple correction points include nine correction points, from correction point P0 at the released position to 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. Note that during manufacturing of the controller 6, nine correction points are provided at each of the first, second, and third stages of the trigger stopper 87, and AD values are measured at each correction point.
[0112] The normalization range 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 180. In the second stage of the trigger stopper 87, P2 to P6 are within the normalization range 180. In the third stage of the trigger stopper 87, P3 to P5 are within the normalization range 180. In this way, the smaller the limit on the rotatable angle of the trigger button 84 is, the narrower the normalization range 180 becomes.
[0113] The release side offset 182 is a play area provided on the P0 side, which is realized by hardware. The full stroke side offset 184 is a play area provided on the P8 side, which is realized by hardware. The output value from the controller 6 does not change between 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." Furthermore, 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] 15 shows the relationship between the setting of the trigger stopper 87 and the dead zone. The dead zone is set on the analog stick setting screen 130, independently of the setting of the trigger stopper 87. When the dead zone is not set, the range obtained by excluding the release side offset 182 and full stroke side offset 184 from the rotation range becomes the normalized range 180, in which values from 0 to 255 are output.
[0115] On the other hand, when a dead zone is set, the range obtained by excluding the release side offset 182 and full stroke side offset 184 from the rotational range, and further excluding the release side dead zone 186 and full stroke side dead zone 188, becomes the normalized range 180. 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] 16 shows an example of a trigger setting screen 300. The trigger setting screen 300 in Fig. 16 includes content for setting dead zones for the trigger buttons 84 (the R2 button 84a and the L2 button 84b) of the controller 6. Specifically, the trigger setting screen 300 includes an R2 dead zone setting area 302a, an R2 behavior confirmation area 304a, an L2 dead zone setting area 302b, and an L2 behavior confirmation area 304b.
[0117] The R2 dead zone setting area 302a is an area for inputting a setting value for the dead zone of the R2 button 84a, and the L2 dead zone setting area 302b is an area for inputting a setting value for the dead zone of the L2 button 84b. In this embodiment, the R2 dead zone setting area 302a and the L2 dead zone setting area 302b specify the start and end points of the effective range (corresponding to the normalized range 180 in FIG. 15 ) as percentages. The start value specifies the range of the release-side dead zone 186, or in other words, the boundary between the release-side dead zone 186 and the normalized range 180. The end value specifies the range of the full-stroke-side dead zone 188, or in other words, the boundary between the full-stroke-side dead zone 188 and the normalized range 180.
[0118] 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% on the starting point side is designated as the dead zone (release-side dead zone 186), and 50% on the ending point side is designated as the valid range.
[0119] The L2 behavior confirmation area 304b is an area where the magnitude of a system input value corresponding to the rotation operation of the L2 button 84b is displayed, and an operation amount indicator 306 showing the operation amount (system input value) of the L2 button 84b is displayed. Although not shown in FIG. 16 , the R2 behavior confirmation area 304a may also display an operation amount indicator 306 showing the operation amount (system input value) of the R2 button 84a corresponding to the rotation operation of the R2 button 84a. In the R2 behavior confirmation area 304a and the L2 behavior confirmation area 304b, parts corresponding to the dead zone are displayed in a relatively low brightness, and parts corresponding to the effective range are displayed in a relatively high brightness.
[0120] The user inputs a setting value for the input range of the R2 button 84a (in other words, a setting value for the dead zone) into the R2 dead zone setting area 302a and / or inputs a setting value for the input range of the L2 button 84b (in other words, a setting value for the dead zone) into the L2 dead zone setting area 302b. The profile update instruction unit 222 of the information processing device 10 transmits a profile update instruction including the setting values input into the R2 dead zone setting area 302a and the L2 dead zone setting area 302b to the controller 6. The profile update unit 118 of the controller 6 reflects the setting values for the dead zones transmitted from the information processing device 10 in the profile information in the profile storage unit 102.
[0121] FIG. 17 shows the relationship between the correction points and the output values of the controller 6. This figure illustrates 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, which is the release end of the normalization range 180, and the maximum output value of 255 to P7, which is the full stroke end of the normalization range 180. Values obtained by dividing 0 to 255 into five are assigned to P3, P4, P5, and P6. For each of the multiple correction points P0 to P8, the allocation unit 120 stores in the correction point information storage unit 104 a pair of the AD value measured during the manufacture of the controller 6 and the output value assigned to that correction point.
[0122] When a user operation is input to the trigger button 84, the operation detection unit 112 of the controller 6 detects an AD value based on the user operation. 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 values of each correction point.
[0123] As described above, the operation information generating unit 114 generates operation information including an output value corresponding to the user operation. The operation information transmitting unit 116 transmits the operation information to the information processing device 10. The application executing unit 216 of the information processing device 10 executes an application based on the output value corresponding to the user operation, which is indicated by the operation information transmitted from the controller 6.
[0124] FIG. 18 also shows the relationship between the correction point and the output value of the controller 6. FIG. 18 illustrates 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 FIG. 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 shown in FIG. 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 were set to the values shown in FIG. 17, the linearity of the output value based on user operation would not be maintained.
[0125] Therefore, in this embodiment, the allocation unit 120 of the controller 6 dynamically changes the output value corresponding to at least one correction point in accordance with the setting of the dead zone for the trigger button 84. Specifically, when a dead zone is set for the trigger button 84, the allocation unit 120 allocates new output values to each of the correction points outside the dead zone range so that the output values, from a minimum value of 0 to a maximum value of 255, correspond to the rotatable range of the trigger button 84 excluding the dead zone. The area outside the dead zone range can also be said to be within the valid range.
[0126] The allocation unit 120 allocates new output values to each of the correction points outside the release-side dead zone 186 and full-stroke side dead zone 188 so that the output values from the minimum value 0 to the maximum value 255 correspond to the rotatable range of the trigger button 84 excluding the set release-side dead zone 186 and full-stroke side dead zone 188. Furthermore, each time the release-side dead zone 186 or full-stroke side dead zone 188 for the trigger button 84 is newly set or changed, the allocation unit 120 allocates new output values to each of the correction points outside the dead zone ranges.
[0127] The assigning unit 120 assigns the minimum output value of 0 to the range from the rotation start position P0 of the trigger button 84 to a predetermined correction point. In this embodiment, the predetermined correction point is the correction point included in the release-side offset 182 and the correction point included in the release-side dead zone 186 that has the largest rotation amount (AD value).
[0128] The assigning unit 120 also assigns a maximum output value of 255 to the range from the 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 full stroke side dead zone 188. In this way, by providing play areas near the release position and full stroke position of the trigger button 84, the operability of the trigger button 84 can be improved.
[0129] 19 shows an example of assigning new output values to correction points. Here, the trigger stopper 87 is set to the first stage. If a dead zone is not set, P2 to P7 become the normalization range 180, and the assigning unit 120 assigns output values corresponding to each correction point so that each section separated by the correction points divides the range from 0 to 255 into five equal parts.
[0130] Next, assume that 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 end point Pf between P6 and P7 to P7. In this case, the rotatable range of the trigger button 84 (i.e., normalized range 180) excluding the release-side dead zone 186 and full-stroke-side dead zone 188 is Pr to Pf. The allocation unit 120 assigns new output values Np4, Np5, and Np6 to P4, P5, and P6 so that Pr has a minimum value of 0, Pf has a maximum value of 255, and the range from 0 to 255 is assigned to the section from Pr to Pf.
[0131] 19, the size of the release-side dead zone 186 is set to x% of the normalized range 180 (P2 to P7) when no dead zone is set. The size of the full-stroke-side dead zone 188 is set to y% of the normalized range 180 (P2 to P7) when no dead zone is set. Both x and y are values in the range from 0 to 99.
[0132] The allocation unit 120 derives the ratio of Pr to P4 to the normalization range 180 (P2 to P7) when a dead zone is not set, according to Equation 6: (20-(x-20*m))% (Equation 6), where m is the number of sections of correction points included in the release-side dead zone 186, and takes a value between 0 and 4. In FIG. 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-x-y) (equation 7) Np5=Np4+255*20 / (100-x-y) (equation 8) Np6=Np5+255*20 / (100-x-y) (equation 9)
[0134] Figure 20 also shows an example of assigning new output values to correction points. Here, the trigger stopper 87 is also set to the first stage. In Figure 20, a release-side dead zone 186 (set value x is 24%) is set from P2 to the starting point Pr between P3 and P4. A full-stroke-side dead zone 188 is not set.
[0135] In this case, the allocation unit 120 derives the ratio of Pr to P4 to the normalization range 180 (P2 to P7) when no dead zone is set as 16% according to the above equation 6. Furthermore, the allocation unit 120 derives Np4 as 54, Np5 as 121, and Np6 as 188 according to the above equations 7 to 9.
[0136] For the correction point from which a new output value has been derived, the allocation unit 120 stores a pair of the characteristic value of the correction point and the new output value in the correction point information storage unit 104. The operation information generation unit 114 generates operation information based on a user operation on the trigger button 84, using the characteristic values and output values (new output values) of the multiple correction points.
[0137] Consider a case where the rotatable range of the trigger button 84 is limited by the trigger stopper 87 and a dead zone (at least one of a release-side dead zone 186 and a full-stroke-side dead zone 188) is set for the trigger button 84. In this case, the assigning unit 120 detects the range obtained by excluding the dead zone from the rotatable range of the trigger button 84 limited by the trigger stopper 87 as the normalization range 180. The assigning unit 120 assigns new output values to each of the correction points within the normalization range 180 (in other words, outside the dead zone range) so that the output values range from a minimum value of 0 to a maximum value of 255 correspond to the normalization range 180.
[0138] The value "20" included in the above equations 6 to 9 is a fixed value when the trigger stopper 87 is set to the first stage, and is the ratio (%) of one correction point interval (for example, P2 to P3) to the normalized range 180 (P2 to P7) when no dead zone is set. This ratio will be referred to as the "interval ratio" hereinafter.
[0139] As described above, 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. Furthermore, as shown in FIG. 14B, the normalized range 180 is P2 to P6, and the section ratio is 25%. Therefore, in this case, the formulas used are those in which "20" in the above formulas 5 to 9 is replaced with "25."
[0140] When the trigger stopper 87 is set to the third stage, the maximum rotation angle of the trigger button 84 is limited to 10 degrees. As shown in FIG. 14C, the normalized range 180 is from P3 to P5, and the range ratio is 50%. Therefore, in this case, the formulas used are those in which "20" in the above formulas 5 to 9 is replaced with "50."
[0141] The allocation unit 120 detects that an operation has been input to limit the rotatable range of the trigger button 84 using the trigger stopper 87. This operation may be, for example, an operation of switching stages by sliding a switch on the trigger stopper 87. Each time an operation to limit 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 allocation unit 120 assigns a new output value to each of the correction points outside the dead zone range.
[0142] The more narrowly the rotational range of the trigger button 84 is restricted by the trigger stopper 87, the more correction points the allocation unit 120 allocates the minimum output value to. The more narrowly the rotational range of the trigger button 84 is restricted by the trigger stopper 87, the more correction points the allocation unit 120 allocates the maximum output value to.
[0143] For example, as shown in Figures 14(a) and 14(b), when the trigger stopper 87 is set to the first or second stage and a dead zone is not set, the normalization range 180 starts from P2. In this case, the assigning unit 120 assigns an output value of 0 (minimum value) to P0, P1, and P2. On the other hand, as shown in Figure 14(c), when the trigger stopper is set to the third stage and a dead zone is not set, the normalization range 180 starts from P3. In this case, the assigning unit 120 assigns an output value of 0 to P0, P1, P2, and P3.
[0144] 14A, when the trigger stopper 87 is set to the first stage and a dead zone is not set, the normalization range 180 ends at P7. In this case, the allocation unit 120 allocates an output value of 255 (maximum value) to P7 and P8. On the other hand, when the trigger stopper 87 is set to the second stage and a dead zone is not set, as shown in FIG. 14B, the normalization range 180 ends at P6. In this case, the allocation unit 120 allocates an output value of 255 to P6, P7, and P8. Furthermore, when the trigger stopper 87 is set to the third stage and a dead zone is not set, the normalization range 180 ends at P5. In this case, the allocation unit 120 allocates an output value of 255 to P5, P6, P7, and P8.
[0145] According to a second feature of the information processing system 1 of the embodiment, it is possible to maintain the linearity of the output value associated with the user's operation on the trigger button 84, to which the release-side dead zone 186 and / or the full-stroke-side dead zone 188 is set. 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, such as the analog stick 77, for which a dead zone can be set.
[0146] The present invention has been described above based on the embodiments. These embodiments are merely examples, and it will be understood by those skilled in the art that various modifications are possible in the combination of each component and each treatment process, and that such modifications are also within the scope of the present invention.
[0147] Any combination of the above-described examples and modifications is also useful as an embodiment of the present invention. A new embodiment resulting from a combination will have the combined effects of the combined examples and modifications. It will also be understood by those skilled in the art that the functions to be performed by each constituent element in the claims can be realized by each component shown in the examples and modifications, either individually or in combination.
[0148] The technical concepts described in the above embodiments and modified examples can be expressed as the following aspects. [Item 1-1] A control device comprising: an analog input device; a storage unit that stores setting information related to the sensitivity of the analog input device; a generation unit that generates operation information based on a user's operation of the analog input device; and a transmission unit that transmits the operation information generated by the generation unit to an external information processing device, wherein the generation unit: (A) acquires a value in a Cartesian coordinate system based on the amount of operation of the analog input device; (B) converts the value in the Cartesian coordinate system into 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 in the setting information; and (D) converts the value in the other coordinate system after conversion based on the sensitivity of the analog input device into the value in the Cartesian coordinate system to be set in the operation information. According to this control device, the value in the Cartesian coordinate system is first converted into a value in the other coordinate system that is more advantageous in terms of calculation load, and then the sensitivity of the analog input device is reflected. This reduces the calculation load required to reflect the sensitivity set in the analog input device in the output value of the control device based on the user's operation of the analog input device. [Item 1-2] The operation device according to Item 1-1, wherein the other coordinate system is a polar coordinate system. According to this operation device, values in a Cartesian coordinate system are first converted into values in a polar coordinate system, which is advantageous in terms of computational load, and then the sensitivity of the analog input device is reflected. This reduces the computational load required to reflect the sensitivity set in the analog input device in the output value of the operation device based on the user's operation on the analog input device. [Item 1-3] The operation device according to Item 1-2, wherein in (B), the generation unit derives a radius value in the polar coordinate system but does not derive a declination value, and in (C), the generation unit converts the radius value in the polar coordinate system based on the sensitivity of the analog input device indicated by the setting information. According to this operation device, the computational load can be reduced by not deriving a declination angle in the polar coordinate conversion.[Item 1-4] The operation device according to any one of Items 1-1 to 1-3, wherein the generation unit, in (A), acquires a relatively high-precision value as a value in a Cartesian coordinate system based on the operation amount of the analog input device, and the generation unit, in (D), converts the converted value in the other coordinate system into a value in the Cartesian coordinate system based on the sensitivity of the analog input device, and further converts the converted value in the Cartesian coordinate system into a relatively low-precision value. This operation device can suppress a decrease in calculation accuracy by using a high-precision value in a sensitivity reflection calculation. [Item 1-5] The operation device according to any one of Items 1-1 to 1-4, wherein the generation unit generates values ranging from a minimum value to a maximum value that can be set in the operation information based on an operation within a range that is narrower than the physical movable range of the analog input device by a predetermined offset. This operation device can maintain a predetermined range of output values even if the physical movable range of the analog input device moves by the offset over time. [Item 1-6] A control device comprising: an analog input device; a storage unit that stores setting information related to the sensitivity of the analog input device; and a processor, wherein the processor executes a process of generating operation information based on a user's operation of the analog input device and a process of transmitting the generated operation information to an external information processing device, the generating process including: (A) acquiring a value in a Cartesian coordinate system based on the amount of operation of the analog input device; (B) converting the value in the Cartesian coordinate system into a value in another coordinate system; (C) converting the value in the other coordinate system based on the sensitivity of the analog input device indicated in the setting information; and (D) converting the value in the other coordinate system after conversion based on the sensitivity of the analog input device into a value in the Cartesian coordinate system to be set in the operation information. According to this control device, the value in the Cartesian coordinate system is first converted into a value in the other coordinate system that is more advantageous in terms of computational load, 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 the user's operation of the analog input device.[Item 1-7] An information processing method for an operation device including an analog input device and a storage unit that stores setting information related to the sensitivity of the analog input device, the information processing method comprising: generating operation information based on a user's operation of the analog input device; and transmitting the operation information generated in the generating step to an external information processing device, the generating step including: (A) acquiring values in a Cartesian coordinate system based on the amount of operation 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 in the setting information; and (D) converting the values in the other coordinate system after conversion based on the sensitivity of the analog input device to values in the Cartesian coordinate system to be set in the operation information. According to this information processing method, the values in the Cartesian coordinate system are first converted to values in the other coordinate system that are more advantageous in terms of computational load, and then the sensitivity of the analog input device is reflected. This reduces the computational load of the operation device for reflecting the sensitivity set for the analog input device in output values of the operation device based on the user's operation of the analog input device. [Item 1-8] A computer program for causing an operating device, comprising an analog input device and a storage unit for storing setting information related to the sensitivity of the analog input device, to realize a function for generating operation information based on a user's operation of the analog input device, and a function for transmitting the operation information generated by the generating function to an external information processing device, wherein the generating function includes: (A) acquiring values in a Cartesian coordinate system based on the amount of operation of the analog input device, (B) converting the values in the Cartesian coordinate system into values in another coordinate system, (C) converting the values in the other coordinate system based on the sensitivity of the analog input device indicated in the setting information, and (D) converting the values in the other coordinate system after conversion based on the sensitivity of the analog input device into values in the Cartesian coordinate system to be set in the operation information. According to this computer program, the values in the Cartesian coordinate system are first converted into values in the other coordinate system which are advantageous in terms of calculation load, and then the sensitivity of the analog input device is reflected.This reduces the calculation load on the operation device for reflecting the sensitivity set in the analog input device in the output value of the operation device based on the user's operation on the analog input device.
[0149] [Item 2-1] An operating device comprising: an analog input device operated by a user; a storage unit that stores characteristic values measured at each of a plurality of correction points having different amounts of movement of the analog input device; an allocation unit that allocates an output value indicating the magnitude of the operation to each of the plurality of correction points; and an output unit that, when an operation is input to the analog input device, outputs 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, wherein, when a dead zone is set for the analog input device, the allocation unit allocates new output values to each of the correction points outside the dead zone range 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. This operating device can maintain the linearity of the output value accompanying a user operation on an analog input device having a dead zone set. [Item 2-2] The operation device according to Item 2-1, wherein one or both of a first dead zone on the operation start side and a second dead zone on the operation end side can be set as the dead zone for the analog input device, and the allocation unit allocates new output values to each of the correction points outside the set first dead zone and second dead zone so that the minimum to maximum output values correspond to the movable range of the analog input device excluding the set first dead zone and second dead zone. This operation device can maintain the linearity of output values associated with user operations on the analog input device, even when dead zones are set on one or both of the operation start side and operation end side of the analog input device. [Item 2-3] The operation device according to Item 2-1 or 2-2, wherein the allocation unit allocates new output values to each of the correction points outside the dead zone each time a dead zone is set for the analog input device. This operation device can maintain the linearity of output values associated with user operations on the analog input device, following the setting or change of the dead zone.[Item 2-4] The operation device according to any one of Items 2-1 to 2-3, further comprising a limiting unit that limits a movable range of the analog input device, wherein when the movable range of the analog input device is limited and a dead zone is set for the analog input device, the allocating unit allocates new output values to each of the correction points outside the dead zone range so that the minimum to maximum output values correspond to a movable range obtained by excluding the dead zone from the limited movable range of the analog input device. With this operation device, even when the movable range of the analog input device (e.g., stroke range or rotation range) is limited, linearity of the output values associated with user operations on an analog input device with a dead zone set can be maintained. [Item 2-5] The operation device according to Item 2-4, wherein the allocating unit allocates new output values to each of the correction points outside the dead zone range each time an operation that limits the movable range of the analog input device is input or each time a dead zone is set for the analog input device. This operation device can maintain the linearity of the output value associated with user operation of the analog input device by following changes in the movable range of the analog input device and changes in the dead zone. [Item 2-6] The operation device according to any one of Items 2-1 to 2-5, wherein the allocation unit allocates the minimum value of the output value in a range from the movement start position of the analog input device to a predetermined correction point, or allocates the maximum value of the output value in a range from the predetermined correction point to the movement end position of the analog input device. This operation device can improve the operability of the analog input device by providing a play area at one or both of the movement start position (e.g., release position or initial position) and movement end position (e.g., full stroke position) of the analog input device. [Item 2-7] The operation device according to any one of Items 2-1 to 2-6, further comprising a limiting unit that limits the movable range of the analog input device, wherein the narrower the movable range of the analog input device, the more correction points the allocation unit allocates the minimum value of the output value or the more correction points the allocation unit allocates the maximum value of the output value.This operating device can maintain the linearity of output values associated with user operations on an analog input device with a dead zone set, even when the movable range of the analog input device (e.g., stroke range or rotation range) is limited. [Item 2-8] An operating device comprising: an analog input device operated by a user; a memory unit that stores characteristic values measured at each of a plurality of correction points with different movement amounts of the analog input device; and a processor, wherein the processor assigns an output value indicating the magnitude of the operation to each of the plurality of correction points, and when an operation is input to the analog input device, the processor outputs to the outside an output value corresponding to the input operation based on the measured characteristic value and the characteristic value and output value for at least one correction point, and when 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 output values correspond to the movable range of the analog input device excluding the dead zone. This operating device can maintain the linearity of output values associated with user operations on an analog input device with a dead zone set. [Item 2-9] An information processing method for an operation device including 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 having different amounts of movement of the analog input device, the information processing method comprising the steps of: assigning an output value indicating the magnitude of the operation to each of the plurality of correction points; and, when an operation is input to the analog input device, outputting to the outside an output value corresponding to the input operation based on the measured characteristic value and the characteristic value and output value for at least one correction point, wherein, when a dead zone is set for the analog input device, the assigning step assigns new output values to each of the correction points outside the range of 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. This information processing method enables the operation device to maintain linearity of the output value associated with a user operation on an analog input device having a dead zone set.[Item 2-10] A computer program for realizing, in an operation device including 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 having different amounts of movement of the analog input device, the following functions: assigning an output value indicating the magnitude of the operation to each of the plurality of correction points, and, when an operation is input to the analog input device, outputting to the outside an output value corresponding to the input operation based on the measured characteristic value and the characteristic value and output value for at least one correction point, wherein, when a dead zone is set for the analog input device, the assigning function assigns a new output value to each of the correction points outside the range of 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. This computer program enables the operation device to maintain linearity of the output value associated with a user operation on an analog input device having a dead zone set.
[0150] The present invention can be applied to an operating device, an information processing system, and the like.
[0151] REFERENCE SIGNS LIST 1 Information processing system, 6 Controller, 10 Information processing device, 77 Analog stick, 84 Trigger button, 87 Trigger stopper, 102 Profile storage unit, 104 Correction point information storage unit, 114 Operation information generation unit, 116 Operation information transmission unit, 120 Allocation unit.
Claims
1. An analog input device operated by a user, a storage unit that stores characteristic values measured at each of a plurality of correction points having different movement amounts of the analog input device, an assignment unit that assigns an output value indicating the magnitude of an operation to each of the plurality of correction points, an output unit that, when an operation is input to the analog input device, outputs an output value corresponding to the input operation to an information processing device that executes an application, based on the measured characteristic value and the characteristic value and output value related to at least one correction point, comprising: when a dead zone is set in the analog input device, the assignment unit assigns a new output value to each of the correction points outside the dead zone range so that the minimum value to the maximum value of the output value corresponds to the movable range of the analog input device excluding the dead zone, an operating device.
2. In the analog input device, as the dead zone, one or both of a first dead zone on the operation start side and a second dead zone on the operation end side can be set, the assignment unit assigns a new output value to each of the correction points outside the set first dead zone and second dead zone range so that the minimum value to the maximum value of the output value corresponds to the movable range of the analog input device excluding the set first dead zone and second dead zone, The operating device according to claim 1.
3. each time a dead zone is set in the analog input device, the assignment unit assigns a new output value to each of the correction points outside the dead zone range, The operating device according to claim 1.
4. further comprising a limiting unit that limits the movable range of the analog input device, when the movable range of the analog input device is limited and a dead zone is set in the analog input device, the assignment unit assigns a new output value to each of the correction points outside the dead zone range so that the minimum value to the maximum value of the output value corresponds to the movable range obtained by excluding the dead zone from the limited movable range of the analog input device, The operating device according to claim 1.
5. each time an operation for limiting the movable range of the analog input device is input, or each time a dead zone is set in the analog input device, the assignment unit assigns a new output value to each of the correction points outside the dead zone range, The operating device according to claim 4.
6. The allocation unit allocates the minimum value of the output value to a range from the movement start position of the analog input device to a predetermined correction point, or allocates the maximum value of the output value to a range from the predetermined correction point to the movement end position of the analog input device. The operating device according to claim 1.
7. The operating device further includes a limiting unit that limits the movable range of the analog input device. As the movable range of the analog input device becomes narrower, the allocation unit allocates the minimum value of the output value to more correction points, or allocates the maximum value of the output value to more correction points. The operating device according to claim 1.
8. An analog input device operated by a user, a storage unit that stores characteristic values measured at each of a plurality of correction points having different movement amounts of the analog input device, a processor, and includes: The processor allocates an output value indicating the magnitude of an 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 corresponding to the input operation, based on the measured characteristic value, the characteristic value and the output value related to at least one correction point, to an information processing device that executes an application. When a dead zone is set in the analog input device, the processor allocates a new output value to each of the correction points outside the range of the dead zone so that the minimum value to the maximum value of the output value corresponds to the movable range of the analog input device excluding the dead zone. Operating device.
9. An operating device including 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 having different movement amounts of the analog input device performs the step of allocating an output value indicating the magnitude of an operation to each of the plurality of correction points, and when an operation is input to the analog input device, performs the step of outputting an output value corresponding to the input operation, based on the measured characteristic value, the characteristic value and the output value related to at least one correction point, to an information processing device that executes an application. and executes. When a dead zone is set in the analog input device, the assigning step assigns a new output value to each correction point outside the dead zone range such that the minimum value to the maximum value of the output value corresponds to the movable range of the analog input device excluding the dead zone. An information processing method.
10. An operating device including: 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 having different movement amounts of the analog input device. A function of assigning an output value indicating the magnitude of an operation to each of the plurality of correction points. When an operation is input to the analog input device, a function of outputting an output value corresponding to the input operation to an information processing device that executes an application, based on the measured characteristic value and the characteristic value and output value related to at least one correction point. To be realized. When a dead zone is set in the analog input device, the assigning function assigns a new output value to each correction point outside the dead zone range such that the minimum value to the maximum value of the output value corresponds to the movable range of the analog input device excluding the dead zone. A computer program.