É possível executar um script na alteração do idioma de entrada do teclado?

0

Estou interessado em executar um script sempre que alterar manualmente o idioma de entrada. Isso ocorre porque meu xmodmap é esquecido sempre que eu altero as linguagens de entrada, então uma solução para isso também seria útil.

Não estou interessado em soluções que usam um script para alterar o idioma.

Obrigado

    
por Gal 06.01.2015 / 19:16

1 resposta

0

Se você estiver usando o Unity, e usar o teclado do indicador para alterar a entrada do teclado, então no 14.04, pelo menos, podemos explorar o fato de que isso altera a chave GSettings org.gnome.desktop.input-sources.current . Aqui está um script Python que ouve as alterações nessa chave e, em seguida, chama uma função que imprime algumas informações e executa um subprocesso.

from __future__ import print_function

from gi.repository import Gio, GObject

import subprocess

def on_changed(settings, key):
  print("Key changed", key, "to", settings.get_uint(key))
  subprocess.call(["touch", "/tmp/last-input-change"])

def main():
  settings = Gio.Settings("org.gnome.desktop.input-sources")
  settings.connect("changed::current", on_changed)
  loop = GObject.MainLoop()
  loop.run()

if __name__ == "__main__":
  main()
    
por Jason Conti 06.01.2015 / 20:03