2.1 KiB
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:
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)
# 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]