長押しすると大文字になります

長押しすると大文字になります

エルゴドックス-EZキーボードには、次のように説明されている優れた機能があります。

ここに画像の説明を入力してください

デュアルファンクションキー

Z キーをタップすると、予想どおりに文字 Z が送信されます。押したままにすると... Alt キーになります。これがデュアル機能キーの威力です。タップすると文字が送信され、押したままにすると修飾キーとして機能します。Alt、Ctrl などのキーにこれまで以上に簡単にアクセスできるようになりました。

私は、押し続けるとすべての文字が大文字になるように設定しました(つまり、軽くタップするとa「a」、長くタップすると「A」が生成されます)。しかし、そのキーボードに常にアクセスできるとは限らず、その機能がないと困ります。

ハードウェアから独立して同じことを実現する方法はありますか?

非常に似たものがあるAutoHotkey用に存在する(また、ここ) ですが、Unix (できれば KDE) ソリューションを探しています。

何かあるかもしれないオートキー?

答え1

遅れましたが、適切な方法が見つからなかったため、独自の解決策を作成しました。モールスAutoHotkey の機能。ただし、/dev 出力を読み取るために低レベルの権限を使用します。

これは/dev/input/eventからの出力例です

Event: time 1677080541.072921, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1677080541.072921, type 1 (EV_KEY), code 97 (KEY_RIGHTCTRL), value 1
Event: time 1677080541.072921, -------------- SYN_REPORT ------------
Event: time 1677080541.319094, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1677080541.319094, type 1 (EV_KEY), code 97 (KEY_RIGHTCTRL), value 2
Event: time 1677080541.319094, -------------- SYN_REPORT ------------
Event: time 1677080541.348759, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1677080541.348759, type 1 (EV_KEY), code 97 (KEY_RIGHTCTRL), value 2
Event: time 1677080541.348759, -------------- SYN_REPORT ------------
Event: time 1677080541.379604, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1677080541.379604, type 1 (EV_KEY), code 97 (KEY_RIGHTCTRL), value 0

出力は1(キー押下)、2(キー保持)、そして0(キー解放)となります。これを使用して、キーストロークの特定のパターンに従ってコマンドを送信する簡単なスクリプトを作成することができました。これはメディアコントロールで使用するために特別に作成しましたが、タイミングを調整すればこの機能も使用できます。ギットハブ

編集:これも興味、それは翻訳者

関連情報