Bilgisayarımda takılı iki USB klavyem var. Her ikisine de aynı anahtarı yazmak yerine, ikinci bir klavyenin harf yazmak yerine komutları çalıştırması mümkün mü? Ve eğer bu mümkün değilse, en azından örneğin Rusça gibi başka bir dilde yazılabilir mi?
Bilgisayarımda takılı iki USB klavyem var. Her ikisine de aynı anahtarı yazmak yerine, ikinci bir klavyenin harf yazmak yerine komutları çalıştırması mümkün mü? Ve eğer bu mümkün değilse, en azından örneğin Rusça gibi başka bir dilde yazılabilir mi?
Yanıtlar:
Bu önerebileceğim üçüncü cevabım actkbd
... :)
Dolayısıyla, ikinci klavyenin tüm tuşlarını harfleri yazmamak için komutları çalıştıracak şekilde yapılandırmak istiyorsanız kullanabilirsiniz actkbd
... :)
Yükledikten sonra actkbd
, klavyeden olayları almak için hangi cihaz dosyasının kullanıldığını bulmamız gerekir:
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]
Bu listede klavyenizi bulmalı ve işleyicileri kontrol etmelisiniz. sudo actkbd -s -d /dev/input/HANDLER_NAME
İşleyicinin etkinlik gönderip göndermediğini kontrol etmek için kullanın . Bu komutu çalıştırır ve klavyede tuşuna basarsanız (komutlara bağlamak istediğiniz tuşları kontrol edin) şöyle bir şey almalısınız:
pbm@tauri ~ $ sudo actkbd -s -d /dev/input/event5
Keys: 57
Keys: 35
Anahtar kodlarınız varsa, actkbd
yapılandırma dosyası oluşturabiliriz :
pbm@tauri ~ $ sudo nano /etc/actkbd.conf
30:::sudo -u pbm DISPLAY=:0 amarok
//30 is keycode for letter a
Bu dosyayı kaydettiğinizde, yapılandırmanın çalışıp çalışmadığını test etmeliyiz:
pbm@tauri ~ $ sudo actkbd -d /dev/input/event5 -D
Yapılandırma dosyanızda bulunan tuşa bastığınızda, yapılandırma dosyasının son sütunundaki komut başlatılır.
Uygulamalara anahtar göndermeyi devre dışı bırakmanın bir yolu olduğunu düşünüyorum, ancak bulamadım - README dosyasına bakın .
Kullanarak devre dışı bırakmaya çalışmak yerine actkbd
klavyenizi X'te kapatabilirsiniz.
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
İşi yapmalı ... :) Hakkında daha fazla bilgi actkbd
için bu cevaba göz atın .
Kullanılması actkbd
(ve birkaç komut muhtemelen) ayrıca Rus harflerle giriş modu için komut modundan değişiklik modları için klavyenizi yapılandırabilirsiniz. Bu Ulrich Schwarz's
cevap için.
C'de bunu yapabilen küçük bir program yazdım. 'Anında' yazdım, bu yüzden çok iyi değil, ama işe yarıyor. Buradan alabilirsiniz .