diff options
| author | H Hartley Sweeten <hartleys@visionengravers.com> | 2009-04-17 23:12:35 -0400 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2009-04-17 23:37:21 -0400 |
| commit | bd3ce6556072bdc8ea66dfd5448e184f189bdc7f (patch) | |
| tree | 264a0272647abe0ae4a7093abb3d6afc9b0a1bd2 /Documentation/input | |
| parent | 3f3e7c6e139f704e2f48ea3b45ff7724a8d46456 (diff) | |
Input: rotary_encoder - add support for REL_* axes
The rotary encoder driver only supports returning input events
for ABS_* axes, this adds support for REL_* axes. The relative
axis input event is reported as -1 for each counter-clockwise
step and +1 for each clockwise step.
The ability to clamp the position of ABS_* axes between 0 and
a maximum of "steps" has also been added.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'Documentation/input')
| -rw-r--r-- | Documentation/input/rotary-encoder.txt | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Documentation/input/rotary-encoder.txt b/Documentation/input/rotary-encoder.txt index 435102a26d96..3a6aec40c0b0 100644 --- a/Documentation/input/rotary-encoder.txt +++ b/Documentation/input/rotary-encoder.txt | |||
| @@ -67,7 +67,12 @@ data with it. | |||
| 67 | struct rotary_encoder_platform_data is declared in | 67 | struct rotary_encoder_platform_data is declared in |
| 68 | include/linux/rotary-encoder.h and needs to be filled with the number of | 68 | include/linux/rotary-encoder.h and needs to be filled with the number of |
| 69 | steps the encoder has and can carry information about externally inverted | 69 | steps the encoder has and can carry information about externally inverted |
| 70 | signals (because of used invertig buffer or other reasons). | 70 | signals (because of an inverting buffer or other reasons). The encoder |
| 71 | can be set up to deliver input information as either an absolute or relative | ||
| 72 | axes. For relative axes the input event returns +/-1 for each step. For | ||
| 73 | absolute axes the position of the encoder can either roll over between zero | ||
| 74 | and the number of steps or will clamp at the maximum and zero depending on | ||
| 75 | the configuration. | ||
| 71 | 76 | ||
| 72 | Because GPIO to IRQ mapping is platform specific, this information must | 77 | Because GPIO to IRQ mapping is platform specific, this information must |
| 73 | be given in seperately to the driver. See the example below. | 78 | be given in seperately to the driver. See the example below. |
| @@ -85,6 +90,8 @@ be given in seperately to the driver. See the example below. | |||
| 85 | static struct rotary_encoder_platform_data my_rotary_encoder_info = { | 90 | static struct rotary_encoder_platform_data my_rotary_encoder_info = { |
| 86 | .steps = 24, | 91 | .steps = 24, |
| 87 | .axis = ABS_X, | 92 | .axis = ABS_X, |
| 93 | .relative_axis = false, | ||
| 94 | .rollover = false, | ||
| 88 | .gpio_a = GPIO_ROTARY_A, | 95 | .gpio_a = GPIO_ROTARY_A, |
| 89 | .gpio_b = GPIO_ROTARY_B, | 96 | .gpio_b = GPIO_ROTARY_B, |
| 90 | .inverted_a = 0, | 97 | .inverted_a = 0, |
