Não deixe o mouse ativar as telas no modo de espera


12

Eu gosto de colocar meus monitores no modo de economia de energia / espera quando deixo o computador por um tempo. Seria bom se não fosse o mouse sensível demais. Às vezes, o motorista lê em algum movimento que não é visível a olho nu (ou seja, o cursor) e interrompe a economia de energia. Esperaria outros 10 minutos antes de voltar ao modo de espera.

Minha solução alternativa é o seguinte script vinculado a C-S-q:

xlock -startCmd 'xset dpms 2 2 2' -endCmd 'xset dpms 600 1200 1300' -mode blank -echokeys -timeelapsed +usefirst

Utilizando xset, defino os valores para 2 segundos cada antes de entrar em espera. Não é legal, pelo menos. Às vezes há sorte que eu quero ler antes de digitar a senha. Eu poderia manter o cursor em movimento, mas é desarrumado. (A propósito, a opção do xlock mousemotionnão ajuda - apenas oculta o cursor, mas os visores são acionados .)

Portanto, a pergunta: existe uma maneira de fazer com que os monitores fiquem em espera e permaneçam lá até que uma tecla do teclado seja pressionada? Estou executando o gentoo e o Xorg recente, mas espero que a resposta não precise ser específica da distribuição.

Basicamente, a resposta pode ser tão simples quanto ativar / desativar o mouse na linha de comando ? Ele acha que seria bom se o DPMS não conhecesse a idéia.


1
Se o problema é o hardware, o hardware pode ser a solução - vire o mouse até que você queira usá-lo. (Ok, isso foi sarcástico, mas você entendeu).
new123456

Não é uma má sugestão, mas ele ainda iria ler algo enquanto ser de cabeça para baixo :)
unperson325680

Mesmo os mouses ópticos mais sensíveis não registram nenhum movimento sem um objeto de algum tipo a cerca de uma polegada do sensor. Se for um mouse mecânico, basta lançar a bola para obter o mesmo efeito.
Shinrai

1
Eh. Vamos pensar em algo que não exija a ativação do mouse. :)
unperson325680

Não, você está certo, é uma boa pergunta (e foi por isso que eu votei). Mas eu concordo com o @ new123456 que às vezes uma solução mecânica é mais fácil (e pode ser que ninguém aponte isso para você - eu não sou do Linux, então com certeza não posso).
Shinrai

Respostas:


5

Há um ótimo post do @pbm que aborda isso, no site do Unix SE.

Em resumo, primeiro use xinput listpara obter o ID do dispositivo do mouse e, em seguida, use

xinput --set-prop [ID#] "Device Enabled" "0"

e

xinput --set-prop [ID#] "Device Enabled" "1"

para desativar e ativar o mouse.

Acabei de testar estes aqui desativando o mouse e depois ligando xset dpms force standby. Agitar o mouse por alguns segundos não atrapalhou a tela, mas pressionar uma única tecla funcionou bem. O uso do segundo comando retornou o mouse ao normal, incluindo a configuração de "desaceleração constante" que meus scripts de inicialização padrão definiram para mim.

Você deve ser capaz de passar estes dois comandos para o -startCmde -endCmdopções para xlockconseguir o que você está depois.


1
Em vez de usar a opção --set-prop juntamente com a propriedade "Device Enabled / Disabled", também é possível usar as opções --enable e --disable, por exemplo, xinput --enable [device] e xinput --disable [device] .
21413 thebodzio

4

Eu faço desta maneira no Ubuntu:

#!/bin/bash

# allow only one instance
r=$(pidof -x -o $$ ssmonoff.sh)
set -- $r
if [ "${#@}" -ge 1 ]; then
    echo "Script already running. Exit..."
    exit
fi

dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | ( while read line; do
    if echo $line | grep "boolean true" &> /dev/null; then
            xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "0"
            xset dpms force off
    else
            xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "1"
    fi
done )

Algumas notas:

  • Também estou forçando o monitor a desligar.
  • Melhor usar o nome completo em vez de ID.

Eu espero que isso ajude.


Parece bom, mas eu não uso o dbus ou o gnome, portanto não o testarei.
usar o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.