65 lines
2.1 KiB
Markdown
65 lines
2.1 KiB
Markdown
# Encoder
|
|
|
|
Aumente o volume! Acrescente zoom, volume ou qualquer coisa do gênero ao seu
|
|
teclado!
|
|
|
|
## Habilitando a Extensão
|
|
|
|
O construtor toma no mínimo três argumentos: uma lista de pinos `pad_a`, uma
|
|
lista de pinos `pad_b`, e um `encoder_map`. O `encoder_map` é modelado de acordo
|
|
com o teclado e funciona da mesma forma. Ele deve ter tantas teclas qyanto seu
|
|
teclado, e usar teclas `KC.NO` para camadas que não exijam ação alguma. O
|
|
encoder suporta um modo de velocidade se você deseja fazer algo com edição de
|
|
áudio ou vídeo. A direção de incremento/decremento pode ser mudada a fim de
|
|
fazer par com a direção que o botão está orientado, atribuindo à flag `is_inverted`.
|
|
|
|
## Configuração
|
|
|
|
Eis um exemplo completo no `main.py` do Atreus62.
|
|
|
|
Crie suas teclas especiais:
|
|
|
|
```python
|
|
Zoom_in = KC.LCTRL(KC.EQUAL)
|
|
Zoom_out = KC.LCTRL(KC.MINUS)
|
|
```
|
|
|
|
Crie o `encoder_map`.
|
|
|
|
Anatomia de uma tupla de `encoder_map`: `(increment_key, decrement_key, teclas
|
|
pressionadas por clique do encoder)`
|
|
|
|
```python
|
|
|
|
# create the encoder map, modeled after the keymap
|
|
encoder_map = [
|
|
[
|
|
# Only 1 encoder is being used, so only one tuple per layer is required
|
|
# Increment key is volume up, decrement key is volume down, and sends 2
|
|
# key presses for every "click" felt while turning the encoder.
|
|
(KC.VOLU,KC.VOLD,2),
|
|
[
|
|
# only one key press sent per encoder click
|
|
(Zoom_in, Zoom_out,1),
|
|
],
|
|
[
|
|
# No action keys sent here, the resolution is a dummy number, to be
|
|
# removed in the future.
|
|
(_______,_______,1),#
|
|
]
|
|
]
|
|
|
|
# create the encoder instance, and pass in a list of pad a pins, a lsit of pad b
|
|
# pins, and the encoder map created above
|
|
encoder_ext = EncoderHandler([board.D40],[board.D41], encoder_map)
|
|
|
|
# if desired, you can flip the incrfement/decrement direction of the knob by
|
|
# setting the is_inerted flag to True. If you turn the knob to the right and
|
|
# the volume goes down, setting this flag will make it go up. It's default
|
|
# setting is False
|
|
encoder_ext.encoders[0].is_inverted = True
|
|
|
|
# Make sure to add the encoder_ext to the modules list
|
|
keyboard.modules = [encoder_ext]
|
|
```
|