นี่คือคำตอบที่สามของฉันเมื่อฉันสามารถแนะนำactkbd
... :)
ดังนั้นหากคุณต้องการกำหนดค่าปุ่มทั้งหมดของแป้นพิมพ์ที่สองเพื่อเรียกใช้คำสั่งไม่ให้พิมพ์ตัวอักษรคุณสามารถใช้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
แทนที่จะพยายามปิดการใช้งานโดยใช้actkbd
คุณสามารถปิดคีย์บอร์ดใน 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
มันควรจะทำงาน ... :) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการactkbd
ตรวจสอบคำตอบนี้
การใช้actkbd
(และสคริปต์ไม่กี่ตัว) คุณสามารถกำหนดค่าแป้นพิมพ์เพื่อเปลี่ยนโหมดจากโหมดคำสั่งเป็นโหมดป้อนข้อมูลด้วยตัวอักษรรัสเซีย สำหรับUlrich Schwarz's
คำตอบอ่านนี้