5

特定の組み合わせが押されたときにイベントをトリガーするように、キーの押下をキャプチャしようとしています。

開始方法に関するヒントを探してみましたが、見つけることができる最も単純なコード スニペットは Python のものです。以下のコードはhereから取得しました。ただし、これを端末から実行していくつかのキーを押すと、「キーを押してください...」ステートメントの後、何も起こりません。

私は愚かですか?誰も何も起こらない理由を説明できますか、または Linux でこれを達成するためのより良い方法を提案できますか (任意の言語を考慮してください!)。

import Tkinter as tk

def key(event):
    if event.keysym == 'Escape':
        root.destroy()
    print event.char

root = tk.Tk()
print "Press a key (Escape key to exit):"
root.bind_all('<Key>', key)
# don't show the tk window
root.withdraw()
root.mainloop()
4

5 に答える 5

3

ウィンドウを表示しないとTkは取得できないようです。試す:

import Tkinter as tk

def key(event):
    if event.keysym == 'Escape':
        root.destroy()
    print event.char

root = tk.Tk()
print "Press a key (Escape key to exit):"
root.bind_all('<Key>', key)
# don't show the tk window
# root.withdraw()
root.mainloop()

私のために働く...

于 2009-02-05T13:12:09.947 に答える
1

または (非 Python オプション) XBindKeysを使用します。

于 2010-01-12T11:14:22.083 に答える
1

さて、プログラミングをまったく必要としないGNOMEを使用する場合、はるかに簡単な答えがあることがわかりました...

http://www.captain.at/howto-gnome-custom-hotkey-keyboard-shortcut.php

ウェイバックでアーカイブ

キーの組み合わせによってトリガーされるスクリプト/実行可能ファイルを作成し、gconf-editor で作成した「keybinding_commands」エントリをポイントするだけです。

なんでもっと前に思いつかなかったの?

于 2009-02-05T14:16:27.353 に答える