Linuxでは、2番目のキーボードのキーをUnicode文字とショートカットに再マッピングします


1

よく使用するユニコード文字とキーボードショートカット用の2番目のキーボードを取得したいと思います。つまり、2番目のキーボードの「a」キーを、たとえばFirefoxを開くためにバインドしたいと思います。別の例では、「b」キーをバインドして✓文字を挿入するので、毎回ctrl + shift + u(2713)を入力する必要はありません。

OSはUbuntu、wmはfluxboxです。ありがとう!

回答:


1

最初に、2番目のキーボードのイベントハンドラーを見つけます。走る

$ cat /proc/bus/input/devices

出力で2番目のキーボードデバイスを見つけ、イベントハンドラーの番号をメモします。例えば:

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input2
U: Uniq=
H: Handlers=sysrq kbd event2 
B: PROP=0
B: EV=120013
B: KEY=6007 2900000 83802078 f040d001 feffffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7

「H:Handlers = sysrq kbd event2」は、監視するデバイスが/ dev / input / event2であることを示しています。次に、押されたキーをキャプチャする必要があります。便利なツールがあるactkbd- http://users.softlab.ece.ntua.gr/~thkala/projects/actkbd/それをダウンロードし、インストールした後、あなたがして、キーボードのコードを取得することができます。

$ sudo actkbd -s -d /dev/input/event2

前に取得したイベントデバイスを-dオプションに渡します。使用するキーをタップし、番号をメモしてactkbdCrtl+ Cショートカットでオフにします。

コマンドをshokbtursにバインドし、actkbd構成ファイルに入れて/etc/actkbd.conf、次の形式の行を追加し、以前と同じ方法でデーモンを再度key-numbers:::command実行しactkbdます。たとえば、キーをgeditタップした後に実行するにaは、次の行を入力します。

30:::gedit

Unicode文字の挿入はよりトリッキーです。これらを直接挿入する方法があるかどうかはわかりませんが、簡単な回避策を提案できます。xclipまたはxselコマンドを使用して任意の文字列をクリップボードに入れてから、マウスの中ボタンを使用して任意のアプリケーションに貼り付けることができます。qボタンキーを使用した構成行の例:

16:::echo -n '✓' | xsel
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.