Quem não tem LED caça com applet
Publicado em Developer
Devido à situação exposta nesse outro post e no fato de que não houve movimentação no fim de semana a respeito do tal bug e eu não ter tempo para compilar o servidor gráfico inteiro, resolvi mexer a massa cinzenta para procurar uma solução mais de curto prazo para o problema, já que eu estava ficando meio perdido com os LEDs sem resposta. Aí tive que tirar a poeira do meu conhecimento de programação em C (e olha que tinha poeira ali hein!) mais do que eu tirei em relação à Python, que é mais recente.
Devo confessar duas coisas: sempre gostei de programação em C e pode ser que eu tenha feito algumas coisas bem estúpidas de uns tempos para cá com isso pois eu nunca fui a fundo na coisa depois do meu tempo usando C direto em ... DOS. Tá, faz tempo né, fazer o que. Bons tempos que ativar o modo gráfico em 16 cores e usar interrupções direto do processador era a coisa mais linda do mundo. :-) Mas depois disso perdi um pouco o contato, então se alguém achar alguma caquinha minha em C, me desculpe!
Acreditando que tirei o meu da reta com essa explicação, eu procurei alguns programinhas que pudessem mostrar o estado dos LEDs e encontrei alguns:
Infelizmente tive alguns probleminhas com eles, um não compilava sem ter um monte de coisa do GNOME, outro precisava de mais coisas para rodar e outro não existia mais a URL. Procurei um pouco mais informações mas não encontrei algo que me satisfez. Mas como Software Livre nos dá uma flexibilidade e liberdade tremenda, nada melhor do que dar uma olhadinha no código fonte desses pacotes e ver como eles lidam com a situação!
Após uma revisão dos códigos, uma rápida adaptação de algum código que eu tinha aqui e uma procura por APIs que pudessem dar uma ajuda em explicar a captura de eventos do servidor gráfico e do GTK, fiz o código do que chamei de KLAP: Keyboard LEDs Applet, cuja carinha vocês podem ver na imagem acima, rodando aqui no meu XFCE. A sequência de LEDs segue a ordem alfabética: CAPS, NUM e SCROLL. O código e a assinatura do pacote podem ser pegos aqui e a minha chave pública podem pegar aqui.
Fiz um código bem simples, depois eu vou dar uma garibadinha nele e colocar no Sourceforge, mas para instalar é só rodar:
make make install
Depois disso é só chamar o klap que ele vai direto para a tray mostrando o que seria o estado dos LEDs. Nas minhas máquinas com Slackware rodou de boa, e assim que sobrar um tempo vou fazer um lance mais decente com o configure etc e tal, mas já dá parar ir quebrando um galho. :-) Se alguém confiar em mim pode conferir a assinatura do pacote e rodar o binário já compilado e linkado que vai com o pacote, e ver se não dá nenhum xabú. :-)
Comentários
Comentários fechados.
Artigos anteriores
- Pull requests em modo raiz - sex, 22 de dezembro de 2023, 09:57:09 -0300
- Qual a idade do seu repositório? - ter, 27 de dezembro de 2022, 12:50:35 -0300
- Utilizando ctags em projetos Rails mais recentes - qui, 24 de junho de 2021, 08:23:43 -0300
- Fazendo o seu projeto brotar - seg, 15 de julho de 2019, 08:57:05 -0300
- Learn Functional Programming with Elixir - sex, 02 de março de 2018, 18:47:13 -0300
- Ambiente mínimo - Driver Driven Development - qua, 23 de agosto de 2017, 15:15:03 -0300
- Ambiente mínimo - repositórios de código - dom, 16 de abril de 2017, 13:02:14 -0300
- Ambiente mínimo - terminal e navegador - dom, 02 de abril de 2017, 21:43:29 -0300
- Utilizando muitas gems no seu projeto? - sáb, 29 de outubro de 2016, 11:57:55 -0200
- Desenvolvedores e inteligência artificial - seg, 11 de julho de 2016, 09:09:38 -0300
Bom dia amigos(as), vi que voces tem grande interece em leds, bom eu sou importador de leds tenho em varias cores e intensidades, tenho leds que vao do smd até os leds emiters de alticima potencia que vao de 1w até 50w eu vendo leds soltos e leds em refletores, sou projetista de refletores e sistemas para iluminaçao a base de leds.
PODEM FALAR COMIGO PELO MEU EMAIL E MSN DEIVES_TK@HOTMAIL.COM
TENHO QUALQUER MODELO DE LEDS QUE PRECISAREM.
ABRAÇOS.
Rafael, obrigado pelo toque! Removi o -lXm do Makefile, era parte de uns testes malucos que eu havia feito antes e esquecido por lá.
Fala TAQ,
Testei no Ubuntu Gutsy e compilou bem também. Assim como no FC6 precisei tirar o parâmetro -lXm.
Parabéns.
Fala TAQ,
Testei aqui num Fedora Core 6. Funcionou de boa. Tive que editar o Makefile e tirar o parâmetro -lXm para compliar, mas aí foi bacana.
Depois vou testar, em casa, no meu Ubuntu e posto o relato aqui!
Parabéns!