我对每次手动更改输入语言时运行脚本很感兴趣。这是因为每次更改输入语言时我的 xmodmap 都会被遗忘,因此解决这个问题也很有用。
我对使用脚本改变语言的解决方案不感兴趣。
谢谢
答案1
如果您使用的是 Unity,并使用 indicator-keyboard 来更改键盘输入,那么在 14.04 中,至少我们可以利用这一事实来更改 GSettings 键org.gnome.desktop.input-sources.current
。这里有一个 Python 脚本,它监听该键的更改,然后调用一个函数来打印一些信息并执行一个子进程。
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()