Script + launcher para girar a tela e alternar o teclado, em uma etapa
O script abaixo será ambos
- girar (alternar) sua tela (esquerda ou direita)
-
desativar (alternar) o teclado que você definiu para ser desativado
O script
#!/usr/bin/env python3
import subprocess
# --- set the name of the screen, and the rotate direction and the id of your keyboard below
screen = "DVI-I-1"
rotate = "left"
disable = ["9", "14"]
# ---
matchline = [
l.split() for l in subprocess.check_output(["xrandr"]).decode("utf-8").splitlines()\
if l.startswith(screen)
][0]
s = matchline[
matchline.index([s for s in matchline if s.count("+") == 2][0])+1
]
newset = ["normal", "1"] if s == rotate else [rotate, "0"]
subprocess.call(["xrandr", "--output", screen, "--rotate", newset[0]])
for item in disable:
subprocess.call(["xinput", "set-prop", item, "Device Enabled", newset[1]])
Como usar
- Copie o script em um arquivo vazio, salve-o como
rotate.py
-
Copie o iniciador abaixo em um arquivo vazio, salve-o como
rotate.desktop
[Desktop Entry] Exec=python3 /path/to/rotate.py Icon=preferences-desktop-keyboard Name=Rotate & Disable Keyboard Type=Application
Na linha
Exec=
, substitua o/path/to/rotate.py
pelo caminho real pelo scriptrotate.py
. Torne o arquivo.desktop
executável . Ele mostrará um ícone como: -
Agora você precisa descobrir duas coisas:
a. o nome da sua tela (aquele que você deseja girar): Execute em um terminhal:
xrandr
Procure por uma linha com "conectado". A primeira string é o nome da tela, parecendo com o exemplo no script. (também pode ser
VGA-1
ou algo parecido)b. O
id
do seu teclado, aquele a ser desativado. Execute em um terminal o comando:xinput -list
como descrito em esta resposta .
-
Insira os itens encontrados na cabeça do script:
# --- set the name of the screen, and the rotate direction and the id of your keyboard below screen = "DVI-I-1" rotate = "left" disable = ["9"] # ---
Agora que você terminou, use o arquivo .desktop
diretamente de sua área de trabalho ou mova-o para ~/.local/share/applications
e arraste-o para o iniciador do Dash.
Se você fizer o segundo, observe que, depois de girar a tela, o ícone não responderá por aprox. 7 segundos.
Divirta-se!