Configurando a tecla LINK do Positivo C 15 no Linux

O notebook Positivo C15 tem uma tecla que ativa o Gsconnect no Policorp Linux, facilitando a vida de quem quer compartilhar arquivos sem depender de terceiros. A tecla LINK permite a sincronia do celular ao notebook, para acessar mensagens, fotos, o status da bateria e transferir arquivos rapidamente.

Ei-la:

link

Como tenho rclone configurado para acessar o Google Drive e não uso gsconnect ou kdeconnect, explicarei como configurá-la para conectar àquele. Para isso, tenha o rclone instalado em sua distro, segundo o procedimento padrão para ela.

A priori você pode usá-la para acessar qualquer aplicativo, mas não testei com appimage, flatpak ou snaps. Comece instalando o pacote “acpid” e, depois de tê-lo feito, rode no terminal comando abaixo + a tecla LINK:

acpi_listen
button/prog1 PROG1 00000080 00000000 K

No exemplo acima, ela é reconhecida como PROG1. Isso confirma que o sistema está recebendo o evento da tecla, via ACPI.

Para quem não sabe, ACPI (Advanced Configuration and Power Interface, ou Interface Avançada de Configuração e Energia) é a tecnologia que possibilita ao Linux interagir diretamente com o hardware do computador para administrar o consumo de energia, controlar ventoinhas, monitorar o estado da bateria e gerenciar recursos como suspensão e hibernação.

No nosso caso, detectou a tecla PROG1. Isso acontece porque ela não é tratada como “tecla comum” do teclado, mas como hotkeys ou botões especiais e são expostas ao sistema através da interface ACPI.

Em muitos notebooks, as teclas especiais (Fn, modo desempenho, assistente do fabricante, macro, etc.) não são ligadas diretamente ao controlador de teclado tradicional. Em vez disso, o firmware intercepta o pressionamento e dispara um evento ACPI.

Criando regra para o ACPI

Abra o terminal e digite o comando abaixo:

sudo nano /etc/acpi/events/prog1

Colocando o seguinte conteúdo:

event=button/prog1.*
action=/etc/acpi/gdrive-toggle.sh

Criar script chamado pelo ACPI

Da mesma forma que no passo anterior, execute no terminal:

sudo nano /etc/acpi/gdrive-toggle.sh

Com o conteúdo abaixo:

#!/bin/bash
# Executa o seu script de montagem com as permissões e variáveis do seu usuário
# PROTEÇÃO CONTRA EXECUÇÃO DUPLA (ANTI-CLIQUE RÁPIDO)
# Isso impede spam de tecla ou dupla execução ACPI:
#
USER="JOSE"
DIR="/home/JOSE/GDrive"
FLAG="/tmp/gdrive_esta_montado.txt"

if [ -f "$FLAG" ]; then
    # ---- DESMONTAR ----
    sudo -u "$USER" DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus \
    notify-send "GDrive" "Desmontando..."

    sudo -u "$USER" fusermount3 -u "$DIR" 2>/dev/null
    fusermount3 -u -z "$DIR" 2>/dev/null
    pkill -9 -u "$USER" -f "rclone mount GDrive:" 2>/dev/null

    rm -f "$FLAG"
else
    # ---- MONTAR ----
    sudo -u "$USER" DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus \
    notify-send "GDrive" "Montando..."

    touch "$FLAG"

    # Seu comando original exato + permissão universal para o Nemo ler
    runuser -u "$USER" -- bash -c 'rclone mount GDrive: "'"$DIR"'" \
      --config "/home/JOSE/.config/rclone/rclone.conf" \
      --vfs-cache-mode full \
      --dir-cache-time 10s \
      --poll-interval 5s \
      --allow-other &'
fi

Sendo que no lugar de “JOSE”, bote seu nome de usuário em minúscula. Agora dê permissão de execução:

sudo chmod +x /etc/acpi/gdrive-toggle.sh

Criar o script para montar Google Drive

Rode no terminal:

sudo nano /usr/local/bin/montadrive

Com o conteúdo:

#!/bin/bash
#
# Monta/desmonta GDrive
#
REMOTE="GDrive:"
DIR="/home/acvsilva/GDrive"

if mount | grep -q " $DIR "; then
    echo "Desmontando..."
    pkill -f "rclone mount.*GDrive"
else
    echo "Montando..."
    rclone mount "$REMOTE" "$DIR" \
        --config "/home/acvsilva/.config/rclone/rclone.conf" \
        --vfs-cache-mode writes \
        --dir-cache-time 10s \
        --poll-interval 5s &
fi

Neste caso, também substitua JOSE pelo seu nome de usuário. Dê permissão de execução ao script:

sudo chmod +x /usr/local/bin/montadrive

Agora altere p arquivo /etc/fuse.conf:

ANTES
#user_allow_other

DEPOIS
user_allow_other

Agora, rode:

sudo systemctl restart acpid

Agora, o comando abaixo para ver se houve algum erro no acpid:

sudo systemctl status acpid

Se retornar tudo normal, basta apertar a tecla LINK (PROG1) cujos eventos abaixo são esperados:

1ª pressão: monta Google Drive
2ª pressão: desmonta Google Drive
3ª pressão: monta novamente
4ª pressão: desmonta novamente

Como funciona

Tecla PROG1:

→ Kernel ACPI
→ acpid
→ lock anti-clique (flock)
→ script /etc/acpi/gdrive-toggle.sh
→ runuser executa como usuário normal
→ script montadrive executa rclone
→ verifica estado do mount
→ monta ou desmonta Google Drive

Proteções implementadas

→ evita múltiplos cliques (flock no ACPI)
→ evita múltiplas instâncias do rclone (pgrep)
→ evita múltiplos mounts simultâneos
→ toggle automático (monta/desmonta)
→ funcionamento independente de ambiente gráfico

A tecla PROG1 passa a funcionar como um botão físico para controlar o Google Drive diretamente no sistema, com proteção contra cliques repetidos e execução duplicada, sem interface gráfica e sem dependência de desktop environment.

Nesse caso usar o $HOME não funcionaria melhor?

como não entendo profundamente de scripts e variáveis de ambiente, nem quis me estender muito, fui o mais rápido possível. depois pedi IA para conferir o código sem complicá-lo. como é “copiar” e “colar”, creio que tá de boa.

Eu acho legal e engraçado essas teclas que a positivo inventa, eu uso o vision r15m e configurei um monte de atalhos nelas.

Tipo essa com a logo que eu defini como atalho pro Firefox.

a diferença é que são teclas físicas. as capacitivas são um sac… fiz mesmo pra vencer na birra, para quem tiver poder aproveitar.

Essas teclas da máquinas da Positivo deveriam vir por padrão com funções mais úteis, ou, fossem destinadas de fábrica para serem configuradas pelo próprio usuário. Vi uma pessoa semana passada comentando que no caso dos modelos em que havia a tecla da Netflix, a Positivo recebia um valor da empresa de streaming por esse “incentivo”, eu particularmente tenho lá minhas dúvidas se isso é verdade…

eu n duvido de nada hoje em dia. qual a utilidade de se colocar uma tecle pro netflix?

Uma tecla Netflix não tem sentido nenhum…

Mas tem mais sentido que uma tecla pro copilot, uma slopAI dessa.