Linux環境でキーストロークをキャッチする方法

Linux環境でキーストロークをキャッチする方法

Linux の「デスクトップ」環境で特定のキーが押されたときに実行される C コードが必要です。

このようなイベントに登録する方法と方法は何ですか?

そのために ISR を書くべきでしょうか? この呼び出しを取得できる Linux の正確な部分が必要です。

OS のどの部分がこのような処理を行っているのでしょうか。GNOME のようなデスクトップ環境の一部でしょうか、それとも何らかのサービスの一部でしょうか。

答え1

私は試して利用したいと思いますxbindkeys特定のキーが押されたときにコマンド/スクリプトを実行します。

まず、xbindkeys次のようにしてテンプレート設定ファイルを生成するように指示できます。

$ xbindkeys --defaults > /home/saml/.xbindkeysrc

次に、結果の設定ファイルを任意のエディターで開き、次のような行を追加します。

"nautilus --browser /home/saml/projects/path/to/some/dir"
 Mod4+shift + q

次に、xbindkeys構成ファイルの変更を再読み込みできるように、強制終了して再起動します。

$ killall xbindkeys
$ xbindkeys

Modこれを実行すると、 + Shift+ と入力するたびにQNautilus が開き、対応するフォルダーが開かれます。

上記は簡単に変更でき、上記の代わりに任意のスクリプトまたはコマンドを実行できます。これは、アプローチを説明し、開始するための単なる例です。

参考文献

答え2

デスクトップ環境には、キーバインドを構成するための設定ユーティリティがある場合があります。

Gnome 3 シェル

System Settings > Keyboard > Shortcutsショートカットを作成してLauncher[1]。

翻訳

System Settings[へ移動2] > Shortcuts and Gestures > Global Shortcuts[3] をクリックしてカスタムキーバインドを割り当てるか、

アプリケーションランチャーにKDEショートカットを割り当てる[4]。これを使用するには、アプリケーション用の .desktop ファイルが必要になる場合があります。

  1. ウィジェットのロックを解除します。
  2. ランチャーを右クリックし、[アプリケーションの編集...] をクリックします。
  3. ショートカットを割り当てたいアプリを見つけます

他の

それ以外の場合は、 を使用できますxbindkeys。Arch Wikiにはxbindkeysチュートリアル読む価値があります。

[1]https://wiki.ubuntu.com/キーバインディング
[2]http://docs.kde.org/stable/en/kde-workspace/systemsettings/using-kapp.html#starting
[3]http://docs.kde.org/stable/en/kde-workspace/systemsettings/general.html
[4]https://askubuntu.com/questions/90567/kde でショートカットを使って任意のアプリをすばやく起動

関連情報