XorgにKeyHoldイベントはありますか?

カルク

新しいMacbookProを持っていて、それにArchLinuxをインストールしました。私がやりたいことの1つは、メディアキーを使用してトラック(mpd)を検索し、次または前のトラックに移動することです。これはiTunesを搭載したOSXで可能なので、基本的に不可能ではないと思います。使用するxevと、キープレスイベントとキーリリースイベントのみが表示されます。キーを押し続けると、これら2つのイベントが急速に繰り返されるようです。

だから私がしたいのは:

  • XF86AudioNextキーが押されると、次のmpdトラックに移動します。または
  • XF86AudioNextキーが押されているときに、現在のmpdトラックをシークします

もちろん、XF86AudioPrevキーについても同じです(ただし、反対方向です)。

これは、いくつかの高度なスクリプトによってのみ可能であるようです。うまくいけば、あなたの一人が私を正しい方向に向けることができます。

編集:興味深いことにshowkey、キーを押したままにすると、プレスとリリースの間を循環しません。むしろ、キーが押されている間の一連のPressイベントと、最終的に離されたときの最後のReleaseイベントが表示されます。

私は気づいたもう一つの興味深い点は、その使用してオートリピートを無効にする場合xset、その後xevにのみ関係なく、キーを押している時間の長さと単一キーリリースイベント、それが手放すだとき、単一のキーを押してイベントを表示しません。otherahndshowkeyの出力は変更されません。一連のキープレスイベントと、手放したときの最後のキーリリースが表示されます。

おそらくそれを使用して私がやりたいことをスクリプト化する方法がありますがsxhkd、私が使用しているホットキーツールはそのxev方法に従っているようです。ですXbindkeys

Gilles'SO-悪であることをやめなさい '

いいえ、KeyHoldイベントはなく、KeyPressとKeyReleaseのみです。KeyPressは、キーが押されたときに送信され、一定時間後に再度送信されます。時間は次のように構成できますxset r(最初の繰り返しまでの時間と次の繰り返しまでの時間の2回あります)。KeyReleaseイベントは、キーが実際にリリースされたときに送信されます(キーが保持されている間は送信されません)。

アプリケーションが保持されたキーに反応したい場合は、最初のキーの押下を記録し、設定された時間の後、または新しいKeyPressイベントの後に、その間にKeyReleaseを受信して​​いないと仮定して反応する必要があります。保持されたキーに反応することは、Unix GUIの世界では非常に珍しいことです。そのため、それを行わないアプリケーションの自己永続的な輪と、それを行う簡単な方法を提供しないプログラミングフレームワークがあります。

XKBでは、一部のキーを繰り返し不可として構成できます。これらのキーは、最初のKeyPressと最後のKeyReleaseのみを生成します。構成のどこでこれが行われるのかわかりません。これらのキーでは、KeyPress + timeout戦略のみが機能し、2番目のKeyPress戦略は機能しません。

xbindkeysもsxhkdもこれを簡単にしません。アクションをキーリリースイベントにバインドすることはできますが、キーの押下とキーのリリースを関連付けるのは簡単ではないため、「キーを押してからXミリ秒後にこれを実行する」というロジックをプログラムすることは困難です。キーはまだリリースされていません」+「キーリリース時にこれを実行しますが、保留イベントがまだ発生していない場合に限ります」。これを簡単にする他の同様のフレームワークを私は知りません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

MATLABには終了イベントがありますか?

分類Dev

RDS AuroraにはMySQLイベントがありますか

分類Dev

「onload」に似たEmberイベントはありますか

分類Dev

VB.NETに「RestoreDown」イベントはありますか

分類Dev

Expressの `onconnect`イベントはどこにありますか?

分類Dev

画面全体にイベントを割り当てる方法はありますか...?

分類Dev

SWTボタンのMouseClickイベントはどこにありますか?

分類Dev

AWS Lambdaに移動:イベントはどこにありますか?

分類Dev

Bootstrap data-toggleに相当するOnShowイベントはありますか?

分類Dev

VS Designerにイベントを削除する方法はありますか?

分類Dev

SocketIOには、特定のイベントの汎用.on()イベントがどのようにありますか?

分類Dev

UIViewサイズ変更イベントはありますか?

分類Dev

Xamarin.Androidにアプリイベントはありますか?

分類Dev

node.jsイベントキューはどこにありますか?

分類Dev

BBC MicroPythonにイベントコールバックはありますか?

分類Dev

Shopware 6に注文状態変更イベントはありますか?

分類Dev

ベスパのインストールに変更はありますか?

分類Dev

Shopware 6に注文状態変更イベントはありますか?

分類Dev

「OnFileOpen」のEclipseコアにイベントリスナーはありますか?

分類Dev

作成されるイベントの数に制限はありますか?

分類Dev

Firebaseイベントの順序に保証はありますか

分類Dev

GitHubイベントを表示する方法はありますか?

分類Dev

Excel CellのGotFocusイベントはありますか?

分類Dev

JavaScript / jQuery File Createイベントはありますか?

分類Dev

onclick endのイベントはありますか?

分類Dev

NavGridjqGridの「検索後」のイベントはありますか

分類Dev

.NET Treeview NodeMouseClickイベントに遅れがありますか?

分類Dev

wxPHPにAUIペインの移動(またはドック)イベントはありますか?

分類Dev

JNLPアンインストールイベントはありますか?

Related 関連記事

  1. 1

    MATLABには終了イベントがありますか?

  2. 2

    RDS AuroraにはMySQLイベントがありますか

  3. 3

    「onload」に似たEmberイベントはありますか

  4. 4

    VB.NETに「RestoreDown」イベントはありますか

  5. 5

    Expressの `onconnect`イベントはどこにありますか?

  6. 6

    画面全体にイベントを割り当てる方法はありますか...?

  7. 7

    SWTボタンのMouseClickイベントはどこにありますか?

  8. 8

    AWS Lambdaに移動:イベントはどこにありますか?

  9. 9

    Bootstrap data-toggleに相当するOnShowイベントはありますか?

  10. 10

    VS Designerにイベントを削除する方法はありますか?

  11. 11

    SocketIOには、特定のイベントの汎用.on()イベントがどのようにありますか?

  12. 12

    UIViewサイズ変更イベントはありますか?

  13. 13

    Xamarin.Androidにアプリイベントはありますか?

  14. 14

    node.jsイベントキューはどこにありますか?

  15. 15

    BBC MicroPythonにイベントコールバックはありますか?

  16. 16

    Shopware 6に注文状態変更イベントはありますか?

  17. 17

    ベスパのインストールに変更はありますか?

  18. 18

    Shopware 6に注文状態変更イベントはありますか?

  19. 19

    「OnFileOpen」のEclipseコアにイベントリスナーはありますか?

  20. 20

    作成されるイベントの数に制限はありますか?

  21. 21

    Firebaseイベントの順序に保証はありますか

  22. 22

    GitHubイベントを表示する方法はありますか?

  23. 23

    Excel CellのGotFocusイベントはありますか?

  24. 24

    JavaScript / jQuery File Createイベントはありますか?

  25. 25

    onclick endのイベントはありますか?

  26. 26

    NavGridjqGridの「検索後」のイベントはありますか

  27. 27

    .NET Treeview NodeMouseClickイベントに遅れがありますか?

  28. 28

    wxPHPにAUIペインの移動(またはドック)イベントはありますか?

  29. 29

    JNLPアンインストールイベントはありますか?

ホットタグ

アーカイブ