forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.0 KiB
67 lines
2.0 KiB
ADC attached resistor ladder buttons |
|
------------------------------------ |
|
|
|
Required properties: |
|
- compatible: "adc-keys" |
|
- io-channels: Phandle to an ADC channel |
|
- io-channel-names = "buttons"; |
|
- keyup-threshold-microvolt: Voltage above or equal to which all the keys are |
|
considered up. |
|
|
|
Optional properties: |
|
- poll-interval: Poll interval time in milliseconds |
|
- autorepeat: Boolean, Enable auto repeat feature of Linux input |
|
subsystem. |
|
|
|
Each button (key) is represented as a sub-node of "adc-keys": |
|
|
|
Required subnode-properties: |
|
- label: Descriptive name of the key. |
|
- linux,code: Keycode to emit. |
|
- press-threshold-microvolt: voltage above or equal to which this key is |
|
considered pressed. |
|
|
|
No two values of press-threshold-microvolt may be the same. |
|
All values of press-threshold-microvolt must be less than |
|
keyup-threshold-microvolt. |
|
|
|
Example: |
|
|
|
#include <dt-bindings/input/input.h> |
|
|
|
adc-keys { |
|
compatible = "adc-keys"; |
|
io-channels = <&lradc 0>; |
|
io-channel-names = "buttons"; |
|
keyup-threshold-microvolt = <2000000>; |
|
|
|
button-up { |
|
label = "Volume Up"; |
|
linux,code = <KEY_VOLUMEUP>; |
|
press-threshold-microvolt = <1500000>; |
|
}; |
|
|
|
button-down { |
|
label = "Volume Down"; |
|
linux,code = <KEY_VOLUMEDOWN>; |
|
press-threshold-microvolt = <1000000>; |
|
}; |
|
|
|
button-enter { |
|
label = "Enter"; |
|
linux,code = <KEY_ENTER>; |
|
press-threshold-microvolt = <500000>; |
|
}; |
|
}; |
|
|
|
+--------------------------------+------------------------+ |
|
| 2.000.000 <= value | no key pressed | |
|
+--------------------------------+------------------------+ |
|
| 1.500.000 <= value < 2.000.000 | KEY_VOLUMEUP pressed | |
|
+--------------------------------+------------------------+ |
|
| 1.000.000 <= value < 1.500.000 | KEY_VOLUMEDOWN pressed | |
|
+--------------------------------+------------------------+ |
|
| 500.000 <= value < 1.000.000 | KEY_ENTER pressed | |
|
+--------------------------------+------------------------+ |
|
| value < 500.000 | no key pressed | |
|
+--------------------------------+------------------------+
|
|
|