diff options
Diffstat (limited to 'Documentation/input')
-rw-r--r-- | Documentation/input/atarikbd.txt | 8 | ||||
-rw-r--r-- | Documentation/input/ff.txt | 2 | ||||
-rw-r--r-- | Documentation/input/iforce-protocol.txt | 20 | ||||
-rw-r--r-- | Documentation/input/input-programming.txt | 17 |
4 files changed, 26 insertions, 21 deletions
diff --git a/Documentation/input/atarikbd.txt b/Documentation/input/atarikbd.txt index ab050621e20f..f3a3ba8847ba 100644 --- a/Documentation/input/atarikbd.txt +++ b/Documentation/input/atarikbd.txt | |||
@@ -170,7 +170,7 @@ major controller faults (ROM checksum and RAM test) and such things as stuck | |||
170 | keys. Any keys down at power-up are presumed to be stuck, and their BREAK | 170 | keys. Any keys down at power-up are presumed to be stuck, and their BREAK |
171 | (sic) code is returned (which without the preceding MAKE code is a flag for a | 171 | (sic) code is returned (which without the preceding MAKE code is a flag for a |
172 | keyboard error). If the controller self-test completes without error, the code | 172 | keyboard error). If the controller self-test completes without error, the code |
173 | 0xF0 is returned. (This code will be used to indicate the version/rlease of | 173 | 0xF0 is returned. (This code will be used to indicate the version/release of |
174 | the ikbd controller. The first release of the ikbd is version 0xF0, should | 174 | the ikbd controller. The first release of the ikbd is version 0xF0, should |
175 | there be a second release it will be 0xF1, and so on.) | 175 | there be a second release it will be 0xF1, and so on.) |
176 | The ikbd defaults to a mouse position reporting with threshold of 1 unit in | 176 | The ikbd defaults to a mouse position reporting with threshold of 1 unit in |
@@ -413,7 +413,7 @@ INTERROGATION MODE. | |||
413 | %nnnnmmmm ; where m is JOYSTICK1 state | 413 | %nnnnmmmm ; where m is JOYSTICK1 state |
414 | ; and n is JOYSTICK0 state | 414 | ; and n is JOYSTICK0 state |
415 | 415 | ||
416 | Sets the ikbd to do nothing but monitor the serial command lne, maintain the | 416 | Sets the ikbd to do nothing but monitor the serial command line, maintain the |
417 | time-of-day clock, and monitor the joystick. The rate sets the interval | 417 | time-of-day clock, and monitor the joystick. The rate sets the interval |
418 | between joystick samples. | 418 | between joystick samples. |
419 | N.B. The user should not set the rate higher than the serial communications | 419 | N.B. The user should not set the rate higher than the serial communications |
@@ -446,10 +446,10 @@ The sample interval should be as constant as possible. | |||
446 | ; until vertical cursor key is generated before RY | 446 | ; until vertical cursor key is generated before RY |
447 | ; has elapsed | 447 | ; has elapsed |
448 | VX ; length (in tenths of seconds) of joystick closure | 448 | VX ; length (in tenths of seconds) of joystick closure |
449 | ; until horizontal cursor keystokes are generated | 449 | ; until horizontal cursor keystrokes are generated |
450 | ; after RX has elapsed | 450 | ; after RX has elapsed |
451 | VY ; length (in tenths of seconds) of joystick closure | 451 | VY ; length (in tenths of seconds) of joystick closure |
452 | ; until vertical cursor keystokes are generated | 452 | ; until vertical cursor keystrokes are generated |
453 | ; after RY has elapsed | 453 | ; after RY has elapsed |
454 | 454 | ||
455 | In this mode, joystick 0 is scanned in a way that simulates cursor keystrokes. | 455 | In this mode, joystick 0 is scanned in a way that simulates cursor keystrokes. |
diff --git a/Documentation/input/ff.txt b/Documentation/input/ff.txt index 085eb15b45b7..ded4d5f53109 100644 --- a/Documentation/input/ff.txt +++ b/Documentation/input/ff.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | Force feedback for Linux. | 1 | Force feedback for Linux. |
2 | By Johann Deneux <deneux@ifrance.com> on 2001/04/22. | 2 | By Johann Deneux <johann.deneux@gmail.com> on 2001/04/22. |
3 | Updated by Anssi Hannula <anssi.hannula@gmail.com> on 2006/04/09. | 3 | Updated by Anssi Hannula <anssi.hannula@gmail.com> on 2006/04/09. |
4 | You may redistribute this file. Please remember to include shape.fig and | 4 | You may redistribute this file. Please remember to include shape.fig and |
5 | interactive.fig as well. | 5 | interactive.fig as well. |
diff --git a/Documentation/input/iforce-protocol.txt b/Documentation/input/iforce-protocol.txt index 8777d2d321e3..3ac92413c874 100644 --- a/Documentation/input/iforce-protocol.txt +++ b/Documentation/input/iforce-protocol.txt | |||
@@ -4,10 +4,10 @@ specify force effects to I-Force 2.0 devices. None of this information comes | |||
4 | from Immerse. That's why you should not trust what is written in this | 4 | from Immerse. That's why you should not trust what is written in this |
5 | document. This document is intended to help understanding the protocol. | 5 | document. This document is intended to help understanding the protocol. |
6 | This is not a reference. Comments and corrections are welcome. To contact me, | 6 | This is not a reference. Comments and corrections are welcome. To contact me, |
7 | send an email to: deneux@ifrance.com | 7 | send an email to: johann.deneux@gmail.com |
8 | 8 | ||
9 | ** WARNING ** | 9 | ** WARNING ** |
10 | I may not be held responsible for any dammage or harm caused if you try to | 10 | I shall not be held responsible for any damage or harm caused if you try to |
11 | send data to your I-Force device based on what you read in this document. | 11 | send data to your I-Force device based on what you read in this document. |
12 | 12 | ||
13 | ** Preliminary Notes: | 13 | ** Preliminary Notes: |
@@ -151,13 +151,13 @@ OP= ff | |||
151 | Query command. Length varies according to the query type. | 151 | Query command. Length varies according to the query type. |
152 | The general format of this packet is: | 152 | The general format of this packet is: |
153 | ff 01 QUERY [INDEX] CHECKSUM | 153 | ff 01 QUERY [INDEX] CHECKSUM |
154 | reponses are of the same form: | 154 | responses are of the same form: |
155 | FF LEN QUERY VALUE_QUERIED CHECKSUM2 | 155 | FF LEN QUERY VALUE_QUERIED CHECKSUM2 |
156 | where LEN = 1 + length(VALUE_QUERIED) | 156 | where LEN = 1 + length(VALUE_QUERIED) |
157 | 157 | ||
158 | **** Query ram size **** | 158 | **** Query ram size **** |
159 | QUERY = 42 ('B'uffer size) | 159 | QUERY = 42 ('B'uffer size) |
160 | The device should reply with the same packet plus two additionnal bytes | 160 | The device should reply with the same packet plus two additional bytes |
161 | containing the size of the memory: | 161 | containing the size of the memory: |
162 | ff 03 42 03 e8 CS would mean that the device has 1000 bytes of ram available. | 162 | ff 03 42 03 e8 CS would mean that the device has 1000 bytes of ram available. |
163 | 163 | ||
@@ -234,19 +234,23 @@ is the amount of memory apparently needed for every set of parameters: | |||
234 | 234 | ||
235 | ** Appendix: How to study the protocol ? ** | 235 | ** Appendix: How to study the protocol ? ** |
236 | 236 | ||
237 | 1. Generate effects using the force editor provided with the DirectX SDK, or use Immersion Studio (freely available at their web site in the developer section: www.immersion.com) | 237 | 1. Generate effects using the force editor provided with the DirectX SDK, or |
238 | 2. Start a soft spying RS232 or USB (depending on where you connected your joystick/wheel). I used ComPortSpy from fCoder (alpha version!) | 238 | use Immersion Studio (freely available at their web site in the developer section: |
239 | www.immersion.com) | ||
240 | 2. Start a soft spying RS232 or USB (depending on where you connected your | ||
241 | joystick/wheel). I used ComPortSpy from fCoder (alpha version!) | ||
239 | 3. Play the effect, and watch what happens on the spy screen. | 242 | 3. Play the effect, and watch what happens on the spy screen. |
240 | 243 | ||
241 | A few words about ComPortSpy: | 244 | A few words about ComPortSpy: |
242 | At first glance, this soft seems, hum, well... buggy. In fact, data appear with a few seconds latency. Personnaly, I restart it every time I play an effect. | 245 | At first glance, this software seems, hum, well... buggy. In fact, data appear with a |
246 | few seconds latency. Personally, I restart it every time I play an effect. | ||
243 | Remember it's free (as in free beer) and alpha! | 247 | Remember it's free (as in free beer) and alpha! |
244 | 248 | ||
245 | ** URLS ** | 249 | ** URLS ** |
246 | Check www.immerse.com for Immersion Studio, and www.fcoder.com for ComPortSpy. | 250 | Check www.immerse.com for Immersion Studio, and www.fcoder.com for ComPortSpy. |
247 | 251 | ||
248 | ** Author of this document ** | 252 | ** Author of this document ** |
249 | Johann Deneux <deneux@ifrance.com> | 253 | Johann Deneux <johann.deneux@gmail.com> |
250 | Home page at http://www.esil.univ-mrs.fr/~jdeneux/projects/ff/ | 254 | Home page at http://www.esil.univ-mrs.fr/~jdeneux/projects/ff/ |
251 | 255 | ||
252 | Additions by Vojtech Pavlik. | 256 | Additions by Vojtech Pavlik. |
diff --git a/Documentation/input/input-programming.txt b/Documentation/input/input-programming.txt index d9d523099bb7..47fc86830cd7 100644 --- a/Documentation/input/input-programming.txt +++ b/Documentation/input/input-programming.txt | |||
@@ -42,8 +42,8 @@ static int __init button_init(void) | |||
42 | goto err_free_irq; | 42 | goto err_free_irq; |
43 | } | 43 | } |
44 | 44 | ||
45 | button_dev->evbit[0] = BIT(EV_KEY); | 45 | button_dev->evbit[0] = BIT_MASK(EV_KEY); |
46 | button_dev->keybit[LONG(BTN_0)] = BIT(BTN_0); | 46 | button_dev->keybit[BIT_WORD(BTN_0)] = BIT_MASK(BTN_0); |
47 | 47 | ||
48 | error = input_register_device(button_dev); | 48 | error = input_register_device(button_dev); |
49 | if (error) { | 49 | if (error) { |
@@ -79,7 +79,7 @@ In the _init function, which is called either upon module load or when | |||
79 | booting the kernel, it grabs the required resources (it should also check | 79 | booting the kernel, it grabs the required resources (it should also check |
80 | for the presence of the device). | 80 | for the presence of the device). |
81 | 81 | ||
82 | Then it allocates a new input device structure with input_aloocate_device() | 82 | Then it allocates a new input device structure with input_allocate_device() |
83 | and sets up input bitfields. This way the device driver tells the other | 83 | and sets up input bitfields. This way the device driver tells the other |
84 | parts of the input systems what it is - what events can be generated or | 84 | parts of the input systems what it is - what events can be generated or |
85 | accepted by this input device. Our example device can only generate EV_KEY | 85 | accepted by this input device. Our example device can only generate EV_KEY |
@@ -217,14 +217,15 @@ If you don't need absfuzz and absflat, you can set them to zero, which mean | |||
217 | that the thing is precise and always returns to exactly the center position | 217 | that the thing is precise and always returns to exactly the center position |
218 | (if it has any). | 218 | (if it has any). |
219 | 219 | ||
220 | 1.4 NBITS(), LONG(), BIT() | 220 | 1.4 BITS_TO_LONGS(), BIT_WORD(), BIT_MASK() |
221 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ | 221 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
222 | 222 | ||
223 | These three macros from input.h help some bitfield computations: | 223 | These three macros from bitops.h help some bitfield computations: |
224 | 224 | ||
225 | NBITS(x) - returns the length of a bitfield array in longs for x bits | 225 | BITS_TO_LONGS(x) - returns the length of a bitfield array in longs for |
226 | LONG(x) - returns the index in the array in longs for bit x | 226 | x bits |
227 | BIT(x) - returns the index in a long for bit x | 227 | BIT_WORD(x) - returns the index in the array in longs for bit x |
228 | BIT_MASK(x) - returns the index in a long for bit x | ||
228 | 229 | ||
229 | 1.5 The id* and name fields | 230 | 1.5 The id* and name fields |
230 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 231 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |