kmk_firmware/docs/ptBR/encoder.md
2021-08-30 11:16:55 -07:00

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]