Skip to content

Commit cd4d03d

Browse files
committed
refactor(analogin): split components into submodule
1 parent 4859b75 commit cd4d03d

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

docs/en/analogin.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ AE = AnalogEvent(
9292
A "convenience" implementation of `AnalogEvent` that emits `Key` objects.
9393

9494
```python
95-
from analogio import AnalogKey
95+
from kmk.modules.analogin.keys import AnalogKey
9696

9797
AK = AnalogKey(
9898
key: Key,
@@ -108,6 +108,7 @@ AK = AnalogKey(
108108
import board
109109
from analogio import AnalogIn
110110
from kmk.modules.analogin import AnalogInput, AnalogInputs
111+
from kmk.modules.analogin.keys import AnalogKey
111112

112113
analog = AnalogInputs(
113114
[
File renamed without changes.

kmk/modules/analogin/keys.py

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from . import AnalogEvent
2+
3+
4+
class AnalogKey(AnalogEvent):
5+
def __init__(self, key, threshold=127):
6+
self.key = key
7+
self.threshold = threshold
8+
self.pressed = False
9+
10+
def on_change(self, event, keyboard):
11+
if event.value >= self.threshold and not self.pressed:
12+
self.pressed = True
13+
keyboard.pre_process_key(self.key, True)
14+
15+
elif event.value < self.threshold and self.pressed:
16+
self.pressed = False
17+
keyboard.pre_process_key(self.key, False)
18+
19+
def on_stop(self, event, keyboard):
20+
pass

0 commit comments

Comments
 (0)