Solaar, gerenciador Linux para teclados, mouses e outros dispositivos da Logitech
(github.com/pwr-Solaar)- Solaar é uma ferramenta para gerenciar no Linux vários teclados, mouses e outros dispositivos da Logitech conectados por receptores Unifying, Bolt, Lightspeed e Nano, ou por cabo USB ou Bluetooth
- O Solaar não é um driver de dispositivo e reage apenas a mensagens especiais dos dispositivos que o sistema de entrada do Linux ignora
- Os principais recursos incluem pareamento/despareamento de receptores e dispositivos, configuração de ajustes dos dispositivos, configuração de botões personalizados e execução de regras em resposta a mensagens especiais
- Os pacotes pré-compilados mais recentes são fornecidos nos repositórios padrão de algumas distribuições Linux, como o Fedora, e se a versão mais recente não estiver disponível no repositório da distribuição, é possível usar os pacotes Arch, Ubuntu/Kubuntu PPA e NixOS Flake
- O Solaar também está disponível nos repositórios do Debian, Ubuntu universe, Gentoo e Mageia, mas pode estar algumas versões atrasado em relação à versão atual
Dispositivos Logitech gerenciados pelo Solaar
- Solaar é um gerenciador Linux para muitos teclados, mouses e outros dispositivos da Logitech
- Os métodos de conexão compatíveis são os seguintes
- Conexão sem fio por meio de receptores Unifying, Bolt, Lightspeed e Nano
- Conexão por cabo USB
- Conexão por Bluetooth
- O Solaar não é um driver de dispositivo e reage apenas a mensagens especiais dos dispositivos que o sistema de entrada do Linux ignora
Recursos compatíveis
- O Solaar oferece suporte a pareamento/despareamento entre receptores e dispositivos
- É possível configurar os ajustes dos dispositivos
- Há suporte para configuração de botões personalizados
- É possível executar regras em resposta a mensagens especiais dos dispositivos
- Links da documentação
Pacotes de instalação
- Os pacotes pré-compilados mais recentes são fornecidos nos repositórios padrão de algumas distribuições Linux, como o Fedora
- Se a versão mais recente do Solaar não estiver no repositório padrão da distribuição, você pode tentar os seguintes pacotes
- Arch solaar package: pacote do repositório extra
- Solaar stable ppa: pacote para Ubuntu/Kubuntu
- Svenum/Solaar-Flake: pacote Flake para NixOS
Repositórios que podem ter versões antigas
- O Solaar também está disponível em alguns outros repositórios, mas pode estar algumas versões atrasado em relação à versão atual
1 comentários
Comentários do Hacker News
Uso o MX Master há mais de 10 anos e gosto do desempenho, da bateria, do design e da sensação ao usar
Não gosto nem um pouco do programa de 150 MB da Logitech que preciso instalar no Windows para gerenciamento, e ele passa a impressão de enviar um monte de dados de telemetria desnecessários
Depois de continuar me irritando com problemas de conexão Bluetooth, encontrei o Solaar alguns meses atrás; a interface é melhor que a ferramenta da Logitech, é simples e leve, mostrando bem as vantagens de um software open source
O Solaar fez o pareamento em 30 segundos e fiquei muito satisfeito
Só que o Bolt não aparece no sistema operacional como um Bluetooth de verdade, então o nível da bateria só pode ser verificado dentro do Solaar
Depois de alguns dias aberto, o processo da Corsair acumulava quase 1 hora de tempo de CPU, enquanto o da Logitech ficava, no máximo, em alguns minutos
Depois de ver isso, troquei todos os meus equipamentos Corsair por Logitech ou outros produtos
Tudo o que eu queria era desligar o LED arco-íris, e na próxima vez que comprar um mouse novo pretendo experimentar o Solaar
Seria bom se portassem isso para Mac também
Hoje descobri um AI prompt builder ativado por padrão no driver do mouse, e achei ainda mais absurdo depois de passar meses recusando insistentemente a solicitação de permissão para registrar entrada de teclado
Usei a versão corporativa “Offline” da Logitech para remover a maior parte dos programas extras; dizem que essa versão não se comunica com a matriz nem pede permissões adicionais. Pode variar conforme o ambiente
https://support.logi.com/hc/en-us/articles/11570501236119-Lo...
Que mundo estranho
https://www.logitech.com/en-us/software/logi-ai-prompt-build...
Ela imita eventos de swipe, e não dá para configurá-los como Mouse Forward e Mouse Backward (M4/M5) padrão
https://superuser.com/a/1216049
No Windows, eu configuro justamente desse jeito para manter o comportamento consistente entre aplicativos
Dá para mapear botões e também adicionar combinações de entrada
Mas parece que ainda não há gatilhos por movimento do mouse, como manter pressionado o botão de voltar e mover para a esquerda para trocar de Spaces; ainda estou procurando
https://plentycom.jp/en/steermouse/
https://news.ycombinator.com/item?id=29056847
O driver da Wacom coleta e envia nomes de aplicativos e títulos de janelas, e continua fazendo isso mesmo depois da grande polêmica
Custa alguns dólares, mas tem versão de teste e também pode ser instalado pelo Homebrew
https://better-mouse.com
Fico me perguntando se existe uma alternativa assim também no Windows
Os mouses da Logitech em geral são bons, mas um dos grandes defeitos é que a funcionalidade de macros não é onboard; até mesmo vincular um botão a várias combinações de teclas não funciona sem software auxiliar como o G-Hub
No Linux há o Solaar e o Piper/libratbagd, e no macOS o SteerMouse parece funcionar razoavelmente bem até com mouses cheios de botões
Se houvesse algo que pudesse substituir o G-Hub no Windows, eu teria muito mais facilidade para recomendar mouses da Logitech a amigos e familiares que usam apenas Windows
Por esse motivo, antigamente eu gostava mais da Roccat. Tudo que o mouse era capaz de fazer podia ser feito onboard; depois de configurar uma vez, dava para apagar o software usado sem limitações
Mas o controle de qualidade do hardware já era meio duvidoso havia bastante tempo, e parece que vai piorar ainda mais depois da aquisição pela Turtle Beach
O mesmo vale para os mouses gamer absurdamente caros
Até comprar Logitech, eu nunca tinha passado por um mouse com botões quebrados; e quando as pessoas ao meu redor elogiavam, a conversa mudava quando eu perguntava quantos elas já tinham recomprado
Perdi o dongle do mouse e, quando a única coisa que eu podia usar na hora era o Ubuntu, o Solaar ajudou muito
Consegui parear o mouse no mesmo dongle que o teclado usava e, desde então, continuo usando sem problemas
Uso um teclado MX Mechanical Mini e um mouse MX Ergo, mas os dongles são diferentes e incompatíveis, então não dá para pareá-los no mesmo dongle
Além disso, o dongle conectado à porta USB-A direita do notebook sempre tem atraso sem motivo
Fico curioso se o Solaar resolve esse tipo de problema
Na empresa, fornecem kits de teclado/mouse sem fio porque é mais barato do que trocar o teclado dedicado do notebook e também tem menos chance de causar lesão por esforço repetitivo nos usuários
Quando você aprende isso do jeito doloroso como júnior, não tem nenhuma graça
Uso o Solaar há bastante tempo com um MX Master 2S antigo
Uso principalmente para ajustar o ponto em que a roda de rolagem deixa de fazer cliques e passa para rotação livre
A Logitech colocou dentro do mouse uma alavanca elétrica que controla a catraca, e o Solaar tem uma opção para ajustar isso, que funciona muito bem
Também é bom poder vincular atalhos de teclado a gestos específicos usando o botão da palma da mão
Compro Logitech por causa do Solaar
Espero que os desenvolvedores do Solaar sejam recompensados de alguma forma, e acho que só faltaria colocar um construtor de prompts de IA nele para ficar completo
Não faço a menor ideia de como IA poderia entrar em um utilitário de configuração de mouse
Queria que alguém que entende bem de Linux explicasse
Pelo que entendo, isso parece uma implementação de driver para Linux, mas fico curioso como pode ser escrito inteiramente só em Python
Código de driver normalmente é escrito em C ou C++, e sei que a nova abordagem para desenvolvimento de kernel hoje em dia é Rust
Não sei como isso pode funcionar em Python puro
O driver comum do Linux implementa a parte necessária para receber mensagens HID, e o Solaar processa por cima disso as mensagens específicas do fabricante
É parecido com um programa enviando mensagens TCP proprietárias do fabricante sobre um driver de rede existente do sistema operacional, e esse programa não precisa ser um driver de rede em nível de kernel
Parece que ele não roda em nível de kernel
O usuário tinha que verificar por conta própria se o IRQ21 já estava sendo usado pelo BIOS ou por outro dispositivo e, depois, instalava um driver de dispositivo que lia e escrevia em endereços específicos de memória para se comunicar com o controlador, conforme um método proprietário definido por cada empresa
Hoje, o setor de hardware avançou muito ao padronizar a forma como os dispositivos funcionam
Graças à entrada e saída mapeada em memória, o sistema operacional consegue tratar muitos drivers de dispositivo de maneira parecida, bastando lidar com a manipulação da memória depois de ler e escrever
No USB, as classes de dispositivo foram padronizadas, funcionando como dispositivos de comunicação, dispositivos de áudio, dispositivos de captura de vídeo e, neste caso, HID
Por isso, o kernel consegue fazer mais de 80% do desenvolvimento de drivers por você, especialmente por causa da filosofia do Linux de “tudo é arquivo”
Ao conectar um dongle USB, hipoteticamente surgem arquivos como
/sys/class/hid//{control, data}Por exemplo, se você escrever um valor muito específico no arquivo
controlpara mudar o canal RF do dongle, o kernel recebe isso e envia ao dispositivo; também daria para usarcatno arquivo.../datapara obter os dados brutos de teclado/mouseEm teoria, em Python, daria para conectar o arquivo
.../dataa um handler de leitura, processar a entrada e então emitir comandos do sistema operacional, como movimento do mouse ou eventos de teclado, criando algo parecido com um driver de dispositivoO ponto central é o processamento da entrada, e essa é a parte difícil que exige engenharia reversa
Como o sistema operacional não cuida dessa parte, ela substitui alguns dos papéis que normalmente eram feitos pelos aplicativos da Logitech
Perguntando por ignorância: não entendo por que, em primeiro lugar, é necessário um app para gerenciar teclado e mouse
Eles não são suportados diretamente por drivers genéricos?
Por exemplo, no MX Master, é possível configurar quais eventos serão gerados por seis botões
O K810 gera eventos especiais como se as teclas de função estivessem quebradas, mas com software é possível revertê-las para teclas de função padrão, como F1
O HID++ mencionado aqui é o dongle da Logitech e, às vezes, também é combinado com o suporte a Bluetooth do dispositivo real
Para ver as opções adicionais e o controle de pareamento de um trackball da Logitech, veja esta captura de tela
[1] https://usercontent.irccloud-cdn.com/file/2cZcZiNk/image.png
Esses recursos não fazem parte do padrão USB HID, então nenhum sistema operacional oferece suporte embutido a eles
Normalmente, é por causa de configurações do usuário, como DPI e taxa de atualização no mouse, resposta tátil no teclado (https://wooting.io/) e bindings de atalhos
Quando você precisa carregar configurações de forma consistente até em lugares que não são o seu computador, como em eventos LAN, isso passa de algo conveniente para praticamente essencial
Uso o Solaar há alguns anos, e ele funciona exatamente como anunciado, sem problemas
Obrigado por continuar mantendo esse projeto útil
Uso há alguns anos o teclado Logitech K400 com touchpad integrado junto com o Solaar
Ele roda em um Raspberry Pi conectado à TV e funciona muito bem, sem nenhum problema
Nunca precisei conectá-lo ao software da Logitech no Mac ou no Windows