keyboard kedua untuk menjalankan perintah

16

Di komputer saya, saya memiliki dua keyboard USB yang terpasang. Alih-alih memiliki keduanya hanya mengetikkan tombol yang sama, apakah mungkin untuk keyboard kedua yang akan diatur untuk menjalankan perintah daripada mengetik huruf? Dan jika itu tidak mungkin, bisakah itu diatur untuk setidaknya mengetik bahasa lain seperti Rusia misalnya?

kapten dan kokas
sumber
Apakah Anda ingin mengikat perintah tertentu ke tombol pilihan keyboard kedua agar hanya dapat menjalankan sesuatu dan tidak mengetik huruf?
pbm
Dan pertanyaan selanjutnya: apakah Anda ingin menggunakan pintasan untuk menjalankan aplikasi latar belakang (atau aplikasi di lingkungan X) atau cukup ketik nama perintah di terminal aktif menggunakan pintasan keyboard?
pbm
Cara alternatif untuk menonaktifkan pengiriman kunci ke aplikasi. askubuntu.com/a/178741/554601
Ariunbayar

Jawaban:

15

Ini adalah jawaban ketiga saya ketika saya bisa merekomendasikan actkbd... :)

Jadi jika Anda ingin mengonfigurasi semua tombol keyboard kedua untuk menjalankan perintah untuk tidak mengetik huruf, Anda dapat menggunakan actkbd... :)

Setelah menginstal actkbdkita perlu menemukan file perangkat apa yang digunakan untuk menerima acara dari keyboard:

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]

Pada daftar ini Anda harus menemukan keyboard Anda, dan periksa penangannya. Gunakan sudo actkbd -s -d /dev/input/HANDLER_NAMEuntuk memeriksa apakah pawang mengirim acara. Jika Anda menjalankan perintah ini dan menekan tombol pada keyboard (periksa kunci yang ingin Anda ikat ke perintah) Anda harus mendapatkan sesuatu seperti itu:

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

Jika Anda memiliki kode kunci, kami dapat membuat actkbdfile konfigurasi:

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

Ketika Anda menyimpan file itu, kami harus menguji apakah konfigurasi berfungsi:

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

Ketika Anda menekan tombol yang Anda miliki di perintah file konfigurasi Anda dari kolom terakhir file konfigurasi akan dimulai.

Saya pikir ada cara untuk menonaktifkan pengiriman kunci ke aplikasi, tetapi saya tidak dapat menemukannya - lihat file README .

Alih-alih mencoba menonaktifkannya menggunakan actkbdAnda bisa mematikan keyboard Anda di X.

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

Ini harusnya berfungsi ... :) Untuk informasi lebih lanjut tentang actkbdlihat jawaban ini .

Menggunakan actkbd(dan beberapa skrip mungkin) Anda juga dapat mengonfigurasi keyboard Anda untuk mengubah mode dari mode perintah ke mode input dengan huruf Rusia. Untuk Ulrich Schwarz'sjawaban baca ini .

pbm
sumber
1
Saya telah mengajukan pertanyaan ini sejuta kali di satu miliar forum dan Anda satu-satunya yang benar-benar baru dalam hal ini. Terima kasih satu triliun.
captainandcoke
0

Saya telah menulis sebuah program kecil dalam bahasa C yang dapat melakukannya. Saya telah menulisnya 'on the fly', jadi tidak terlalu bagus, tetapi berhasil. Anda bisa mendapatkannya di sini .

pengguna388315
sumber
Halo dan selamat datang di situs Unix dan Linux Stack Exchange. Harap tinjau Pusat Bantuan dan ikuti Tur untuk mempelajari lebih lanjut tentang situs ini. Meskipun tautan Anda dapat memberikan solusi untuk masalah pengguna, bisakah Anda menambahkan konteks tambahan ke posting Anda? Saat ini ini hanya sebuah penawaran untuk mengunduh perangkat lunak dari situs pihak ketiga. Anda harus memasukkan apa yang dilakukan, bagaimana menginstal dan menggunakannya, dan mengapa itu menjawab pertanyaan yang ada. Terima kasih.
kemotep