====== 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}}