====== Teclado Devastator, Scroll Lock e I3WM ======
Recentemente eu recebi de doação do amigo criptografico Ayr, um teclado Devastator CM-STORM da Cool Master.
Um teclado sem dúvidas lindo, macio e gostoso de usar. Porém enfrentei um problema muito chato no meu I3wm. Por ser um teclado que possui leds a iguinição dele funciona atráves do Scroll Lock.
E cada vez que eu apertava o Scroll Lock o teclado era bloqueado e eu não conseguia me locomover atráves das Áreas de trabalhos virtuais, com meu bind (windows). Ou seja, para conseguir trabalhar eu precisava usar o Led desligado.
Este problema não era notavel no Xfce e no Kde, mas no I3wm não tinha como continuar com a brincadeira.
Então comecei a pensar e bater a cabeça qual seria a melhor solução para resolver o meu problema. A primeira ideia foi remapear o teclado! Mas puto trabalho ein?
Então resolvi apelar para o Shell Script e com alguns passos eu consegui resolver meu problema temporáriamente.
Com uma receita simples de Achar a valor do Scroll Lock e criar um script, seu problema será resolvido!
===== Desativando o Scroll Lock =====
A primeira brincadeira é usar o comando xev, você ira precisar habilitar e desabilitar o Scroll Lock para conseguir ver qual o Valor/Value dele. Para isto envie a saída para um arquivo para ter melhor visibilidade.
Após isso vamos usar o grep para fazer a filtragem e o awk para pegar somente os campos que necessitamos.
$ xev > resultado
$ grep "Scroll" result | awk '{print $3,$4}'
keycode 78
Ou se preferir você pode pegar a saida sem cortes.
$ grep "Scroll" result
state 0x30, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
Perceba que o Keycode do Scroll Lock é 78, vamos agora desabilitar o Scroll Lock, para não ter mais problemas com ele.
Para esta finalidade vamos usar o comando xmodmap, sua sintaxe é: xmodmap -e 'keycode ='.
Em você utilizará o valor capturado com o comando xev, e após o sinal de = você deixará em branco.
$ xmodmap -v -e 'keycode 78='
! 1: keycode 78=
keycode 0x4e =
!
! executing work queue
!
keycode 0x4e =
===== O Script Colorido =====
Para facilitar nossa vida eu criei um script a qual deverá ser executado no auto-start da interface gráfica! Para ambientes via TTY ou Não GUI, você necessitará de outra receita.
Na variável led_off perceba que o valor é 00000000. Este retorno da quando todos os leds do teclado estão desligados!
Se caso você necessite encontrar um outro tipo de retorno use o comando:
xset -q | grep "LED" | awk '{print $10}'
Se não você pode seguir.
#!/usr/bin/env bash
#==================HEADER============================================|
#AUTOR
# Jefferson Rocha
#
# Resolve o problema para ativar o led no teclado CM-DEVASTATOR
# Cooler Master Devastator - LED Gaming Keyboard
#====================================================================|
#=======================VARS
led_off='00000000'
key_code='78'
# LED Mask
LED_STATUS=$(xset -q | grep "LED" | awk '{print $10}')
# Scroll Lock off
xmodmap -e 'keycode ${key_code}='
# On
if [[ "$LED_STATUS" = "${led_off}" ]]; then
xset led 3 # on LED
else
xset -led 3 # off LED
fi
exit 0
Dê permissão de execução e envie o script para /usr/bin, para ter um acesso global.
# cp led_devastator /usr/bin/
Agora vamos adicionar no arquivo de configuração do i3, .config/i3/config presente na home do seu usuário o seguinte comando:
exec led_devastator
E pronto, agora seu teclado estara com o led ligado sem problemas. Basta reiniciar sua interface e ter o led colorindo sua vida.
====== Fontes ======
* Originally written by [[wiki:user:slackjeff | Slackjeff]]
{{tag>howtos template}}