gemini generated image pjkvy5pjkvy5pjkv

A Verdade sobre a Logitech e o Ecossistema Linux

O Logitech MX Master 3S é, sem dúvida, uma obra-prima da engenharia de hardware voltada para produtividade. Com compatibilidade anunciada para praticamente todas as plataformas proprietárias do mercado, existe uma omissão gritante: a ausência completa de um software oficial para distribuições Linux. Em ambientes de alta performance, depender das configurações padrão de um periférico premium é inaceitável.

A comunidade open-source não espera soluções corporativas. Nós construímos nossa própria infraestrutura. Conheça o logiops, a ferramenta definitiva para mapeamento avançado no Linux.

1. Instalando o Logiops no Arch Linux

A compilação e instalação do driver não oficial ocorrem de forma fluida utilizando um AUR helper. Neste laboratório, utilizaremos o Yay.

yay -S logiops

Aceite a compilação. Diferente de instaladores com interface gráfica, o pacote não cria seu arquivo de configuração automaticamente. Essa responsabilidade técnica é nossa.

2. Identificação do Dispositivo de Hardware

Antes de criarmos o arquivo de mapeamento, o daemon precisa reconhecer a assinatura exata do hardware pareado.

sudo logid

Se a saída falhar, reinicie o hardware desligando e ligando a chave física do mouse. O output imprimirá o nome exato do seu dispositivo (ex: “MX Master 3S”), que será o valor essencial para nosso arquivo de configuração.

3. Estruturando o Mapeamento Customizado (logid.cfg)

Com credenciais de superusuário, crie e edite o arquivo principal do daemon no diretório /etc/.

sudo nano /etc/logid.cfg

Abaixo está o script completo para injetar no arquivo. Ele remapeia as funções do Thumbwheel (roda lateral) para controle de mídia, e injeta Keypresses combinadas para copiar, colar e manipular workspaces diretamente pelos gestos.

devices: (
{
    name: "MX Master 3S";
    smartshift:
    {
        on: true;
        threshold: 30;
    };

    hiresscroll:
{
    hires: false;
    invert: false;
    target: false;
    up: {
        mode: "Axis";
        axis: "REL_WHEEL_HI_RES";
        axis_multiplier: 30;
    },
    down: {
        mode: "Axis";
        axis: "REL_WHEEL_HI_RES";
        axis_multiplier: -30;
    },

}

    thumbwheel:
    {
        divert: true;
        invert: false;

        left: {
                mode: "OnInterval";
                interval: 2;
                action: {
                        type: "Keypress";
                        keys: ["KEY_VOLUMEDOWN"];
                };
        };
        right: {
                mode: "OnInterval";
                interval: 2;
                action: {
                        type: "Keypress";
                        keys: ["KEY_VOLUMEUP"];
                };
        };

        tap: {
            type: "Keypress";
            keys: ["KEY_MUTE"];
        };

    };
    dpi: 1100;

    buttons: (
        {
            cid: 0xc3;
            action =
            {
                type: "Gestures";
                gestures: (
                    {
                        direction: "Up";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTMETA"];
                        };
                    },
                    {
                        direction: "Down";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTCTRL", "KEY_F7"];
                        };
                    },
                    {
                        direction: "Left";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTCTRL", "KEY_LEFTALT", "KEY_RIGHT"];
                        };
                    },
                    {
                        direction: "Right";
                        mode: "OnRelease";
                        action =
                        {
                            type: "Keypress";
                            keys: ["KEY_LEFTCTRL", "KEY_LEFTALT", "KEY_LEFT"];
                        }
                    },
                    {
                        direction: "None"
                        mode: "NoPress"
                    }
                );
            };
        },
        {
            cid: 0xc4;
            action =
            {
                type = "ToggleSmartshift";
            };
        },
        {
            # Back button -> Colar (Ctrl + V)
            cid: 0x53;
            action =
            {
                type :  "Keypress";
                keys: ["KEY_LEFTCTRL", "KEY_V"];
            };
        },
        {
            # Forward button -> Copiar (Ctrl + C)
            cid: 0x56;
            action =
            {
                type :  "Keypress";
                keys: ["KEY_LEFTCTRL", "KEY_C"];
            };
        }
    );
}
);

4. Ativação e Persistência do Daemon (Systemd)

Com o arquivo salvo, não queremos rodar o serviço manualmente a cada boot. Vamos iniciar o serviço e habilitá-lo na camada do sistema via systemctl.

  • Iniciando o serviço agora: sudo systemctl start logid.service
  • Verificando integridade: sudo systemctl status logid.service
  • Garantindo boot automático: sudo systemctl enable logid.service

Integração Completa

A força de ferramentas de automação e open-source reside em eliminar a dependência corporativa. Se esse setup otimizou seu fluxo de trabalho, junte-se à discussão. Troque conhecimento avançado na nossa Comunidade do Discord e não deixe de se inscrever no canal Klaus Raem no YouTube.

2 comentários em “A Verdade sobre a Logitech e o Ecossistema Linux”

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *