UDEV - Configurando Teclado Keychron V10 para usevia.app
Para explorar as features do teclado V10 é utilizado o software usevia.app diretamente pelo navegador! E a parte boa é a sua compatibilidade com Linux.
-
meu cenário:
- Fedora release 40 (Forty)
- Google Chrome
-
Basta acessar o link do aplicativo usevia.app e clicar em Authorize device
[!WARNING]
Porem ao tentar fazer a autorizacão do dispositivo! Ocorre o erro de permissão de acesso
[!note]
é preciso criar uma regraudev
para o driver Linux hidraw que é utilizado para comunicacão com o teclado.
Solucão
Primeiro liste as infos do barramento USB pra coletar os dados do device
Obtendo os dados
- lsusb
Sem rodeios
$ lsusb
...
...
Bus 001 Device 005: ID 3434:03a1 Keychron Keychron V10
...
[!tip]
lsusb -D /dev/bus/usb/001/005
- udevadm
Com oudevadm
monitore o sistema UDEVmonitor --property
- remova o teclado
- inicie o monitoramento
- conecte o teclado
$ sudo udevadm monitor -up |grep -E "ID_VENDOR_ID|ID_MODEL_ID|DEVNAME"
...
DEVNAME=/dev/bus/usb/001/005
ID_MODEL_ID=03a1
ID_VENDOR_ID=3434
Com o path do device em mãos, também podemos obter dados com o comando udevadm
usando a opcão info
- nos interessa os campos:
- ID_MODEL_ID
- ID_VENDOR_ID
[!tip]
$ sudo udevadm info /dev/bus/usb/001/005 |grep -E "ID_VENDOR_ID|ID_MODEL_ID"
Sabemos que:
- o barramento é: 001
- o dispositivo é: 005
- o ID do vendor Keychron é: 3434
- o ID do produto Keychron V10 é: 03a1
Regra UDEV
Específica para o device hidraw
- primeiro crie uma variável com o group id do usuário
- meu usuário é
0xttfx
- meu usuário é
export USER_GID=`id -g 0xttfx`
- enfim a regra:
$ sudo --preserve-env=USER_GID sh -c 'cat <<EOF > /etc/udev/rules.d/via.rules
# Keychron_V10
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3434", ATTRS{idProduct}=="03a1", MODE="0660", GROUP="${USER_GID}", TAG+="uaccess", TAG+="udev-acl"
EOF'
Em seguida recarregue as regras UDEV
sudo sh -c 'udevadm control --reload-rules && udevadm trigger'
Funfando :)