← Página inicial
[Linux] · · 3 min de leitura

Como fazer o seu sistema Linux detectar o seu teclado da ZSA

TL;DR

O Moonlander Mark I e outros teclados da ZSA podem ter o seu firmware modificado várias vezes através de um software chamado Wally. Na interface Oryx, a ZSA também oferece um centro de treinamento de digitação. No entanto, algumas de suas dependências no Linux não ficam exatamente claras no zsa.io/101 – elas estão enterradas no repositório do Wally. Para que ambos funcionem normalmente, deve-se instalar dependências relacionadas ao GTK3 e libusb. Além disso, é necessário adicionar uma regra udev para que o sistema reconheça o teclado apropriadamente.

Os teclados da ZSA podem receber as suas diversas modificações em suas configurações através de um software chamado Wally. Tal software envia o arquivo binário gerado no configurador Oryx para o teclado. Cada reinstalação envolverá os seguintes passos:

  1. Compilar o layout desejado no configurador Oryx
  2. Abrir o Wally no terminal ou usá-lo através de sua interface gráfica
  3. Seguir os passos descritos pelo software (selecionar o arquivo binário, apertar o botão de redefinição, esperar a instalação do novo firmware)

Na interface Oryx, a ZSA também oferece um centro de treinamento de digitação. No entanto, algumas de suas dependências no Linux não ficam exatamente claras no zsa.io/101 – elas estão enterradas no repositório do Wally.

Instalando as dependências do Wally no Linux

O Wally precisa de dependências relacionadas ao libusb e, adicionalmente, ao GTK3 se você quiser usar a sua interface gráfica. Segundo a documentação do Wally, estes são os nomes dos pacotes necessários nas distribuições mais populares:

  • Distribuições da família Arch: gtk3 webkit2gtk libusb
  • Distribuições da família Debian: libusb-dev
  • Distribuições da família RHEL: gtk3 webkit2gtk3 libusb

Criando uma regra udev para o seu teclado

Regras udev são criadas para que “eventos” relacionados a aparelhos conectados possam ser acessados sem que seja necessário conceder privilégios desnecessários a certas partes do sistema.

Para criar uma regra udev para o Wally, crie um arquivo chamado 50-wally.rules em /etc/udev/rules.d/ com privilégios de administrador.


sudo touch /etc/udev/rules.d/50-wally.rules

Neste arquivo, você deve inserir as seguintes linhas:

# ErgoDox EZ
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666"

# Moonlander e Planck EZ
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", \
    MODE:="0666", \
    SYMLINK+="stm32_dfu"

Por fim, certifique-se que seu usuário faz parte do grupo plugdev:


sudo groupadd plugdev

sudo usermod -aG plugdev $USER

Não se esqueça de encerrar a sessão com o seu usuário e começar uma nova para que as mudanças sejam detectadas pelo seu sistema.

Voilà! O seu sistema está pronto para usar tanto o Wally quanto o treinamento em tempo real do Oryx.

Referências

  1. Documentação do Wally no GitHub

Notas de rodapé

Se você usa macOS, você também precisa instalar o libusb usando brew:


brew install libusb