コマンドを実行する2番目のキーボード


16

私のコンピューターには2つのUSBキーボードが接続されています。両方に同じキーを入力する代わりに、文字を入力する代わりにコマンドを実行するように2番目のキーボードをセットアップすることは可能ですか?それが不可能な場合、少なくともロシア語などの別の言語を入力するように設定できますか?


特定のコマンドを2番目のキーボードの選択したキーにバインドして、文字を入力せずに何かを実行できるようにしますか?
PBM

次の質問:バックグラウンドアプリケーション(またはX環境のアプリケーション)を実行するためのショートカットを使用するか、キーボードショートカットを使用してアクティブなターミナルでコマンドの名前を入力するだけですか?
pbm

アプリケーションへのキーの送信を無効にする代替方法。askubuntu.com/a/178741/554601
Ariunbayar

回答:


15

これは私がお勧めできるときの3番目の答えactkbdです... :)

したがって、文字を入力しないコマンドを実行するように2番目のキーボードのすべてのキーを構成する場合は、使用できます actkbd ...。

インストール後、actkbdキーボードからイベントを受信するために使用されるデバイスファイルを見つける必要があります。

pbm@tauri ~ $ cat /proc/bus/input/devices 
[cut]
I: Bus=0003 Vendor=046d Product=c31c Version=0110
N: Name="Logitech USB Keyboard"
P: Phys=usb-0000:00:1a.0-1.1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input7
U: Uniq=
H: Handlers=sysrq kbd event5 
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=1f

I: Bus=0003 Vendor=046d Product=c31c Version=0110
N: Name="Logitech USB Keyboard"
P: Phys=usb-0000:00:1a.0-1.1/input1
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.1/input/input8
U: Uniq=
H: Handlers=kbd event6 
B: PROP=0
B: EV=1b
B: KEY=2010000 397ad801d001 1e000000000000 0
B: ABS=100000000
B: MSC=10
[cut]

このリストでキーボードを見つけて、ハンドラーを確認してください。sudo actkbd -s -d /dev/input/HANDLER_NAMEハンドラーがイベントを送信するかどうかを確認するために使用します。このコマンドを実行してキーボードのキーを押した場合(コマンドにバインドするキーを確認してください)、次のようになります。

pbm@tauri ~ $ sudo actkbd -s -d /dev/input/event5 
Keys: 57
Keys: 35

キーコードがある場合、actkbd設定ファイルを作成できます。

pbm@tauri ~ $ sudo nano /etc/actkbd.conf 
30:::sudo -u pbm DISPLAY=:0 amarok
//30 is keycode for letter a

そのファイルを保存するとき、設定が機能するかどうかをテストする必要があります。

pbm@tauri ~ $ sudo actkbd -d /dev/input/event5 -D

構成ファイルの最後の列から構成ファイルコマンドにあるキーを押すと開始されます。

アプリケーションへのキーの送信を無効にする方法があると思いますが、見つけることができませんでした-READMEファイルをチェックしてください

actkbdX を使用してキーボードを無効にする代わりに、無効にすることもできます。

pbm@tauri ~ $ xinput list
[cut]
    ↳ Logitech USB Keyboard                     id=12   [slave  keyboard (3)]
    ↳ Logitech USB Keyboard                     id=11   [slave  keyboard (3)]
pbm@tauri ~ $ xinput set-prop 11 "Device Enabled" 0
pbm@tauri ~ $ xinput set-prop 12 "Device Enabled" 0

それは仕事をするはずです... :) この答えをactkbdチェックアウトするための詳細については。

使用actkbd(おそらくいくつかのスクリプトと)あなたはまた、ロシア文字で入力モードにコマンドモードから変更モードにキーボードを設定することができます。このUlrich Schwarz's答えを読んでください。


1
私はこの質問を10億のフォーラムで何百万回も尋ねましたが、実際にこれを初めて知ったのはあなただけです。1兆ありがとう。
captainandcoke

0

私はそれを行うことができる小さなプログラムをCで作成しました。「オンザフライ」で書いたので、あまり良くありませんが、うまくいきます。こちらで入手できます


こんにちは、UnixおよびLinux Stack Exchangeサイトへようこそ。このサイトの詳細については、ヘルプセンターを確認してツアーに参加してください。リンクはユーザーの問題に対する解決策を提供する可能性がありますが、投稿にコンテキストを追加してください。現在、これはサードパーティのサイトからソフトウェアをダウンロードするための単なる提案です。これが何をするのか、どのようにインストールして使用するのか、そして手近な質問に答える理由を含めるべきです。ありがとうございました。
ケモテップ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.