xbindkeys ..
sudo apt-get install xbindkeys
Xbindkeys เป็นโปรแกรมเอนกประสงค์ที่ให้คุณทำการแมปคีย์ได้อย่างง่ายดาย มันใช้ไฟล์กำหนดค่าเริ่มต้นของฉันอยู่ในไดเรกทอรีบ้านของคุณเพื่อเปลี่ยนการเชื่อมโยงคีย์เป็นคำสั่งบางอย่าง
ในการสร้างไฟล์กำหนดค่าเริ่มต้นคุณใช้คำสั่ง:  
xbindkeys --defaults
ซึ่งพิมพ์ไฟล์กำหนดค่าเริ่มต้น ดังนั้นหากคุณต้องการสร้างไฟล์ที่มีค่าเริ่มต้นคุณจะใช้:  
xbindkeys --defaults > $HOME/.xbindkeysrc
ซึ่งพิมพ์ค่าเริ่มต้นลงในไฟล์ที่ซ่อนชื่อ.xbindkeysrcตั้งอยู่ในบ้าน ( ~)
ทีนี้การเปลี่ยนการเชื่อมโยงของคีย์เราต้องรู้ว่าชื่อหรือ keysym ของกุญแจเหล่านั้นคืออะไร  xbindkeysอนุญาตให้เราใช้-kหมายเลขอ้างอิงเพื่อค้นหาชื่อของคีย์หรือคีย์ผสม วิ่ง:  
xbindkeys -k
และกดปุ่มหรือคีย์ผสม ผลลัพธ์ของคุณจะคล้ายกับสิ่งนี้ (เมื่อกดspace):  
"NoCommand"
m:0x10 + c:65
Mod2 + space
"No Command"บอกกับเราว่าในปัจจุบันไม่มีคำสั่งเชื่อมโยงกับSpaceกุญแจ  
m:0x10 + c:65
Mod2 + space  
คือชื่อของคีย์ / คีย์ผสม  
ไฟล์ปรับแต่ง ..
ให้เปิดไฟล์กำหนดค่าที่คุณทำไว้ก่อนหน้านี้:  
gedit .xbindkeysrc  
นี่คือข้อความที่ตัดตอนมาจากไฟล์กำหนดค่าเริ่มต้น:  
#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
#   Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
#   Mod3 (CapsLock), Mod4, Mod5 (Scroll). 
#
# The release modifier is not a standard X modifier, but you can  
# use it if you want to catch release events instead of press events
# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.
#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable
# Examples of commands:
"xbindkeys_show" 
 control+shift + q  
ทุกบรรทัดที่ขึ้นต้นด้วย#ความคิดเห็นและจะไม่สามารถอ่านหรือดำเนินการxbindkeysได้  
จนถึงบรรทัดเดียวที่ไม่ได้ใส่ความคิดเห็นคือ:  
"xbindkeys_show" 
 control+shift + q  
ข้อความที่ตัดตอนมานี้แสดงไวยากรณ์พื้นฐานของxbindkeysคำสั่ง:  
"Command to run (in quotes)"
key to associate with command (no quotes)  
ดังนั้นตามที่คุณเห็น:
"xbindkeys_show" 
 control+shift + q  
รันคำสั่งxbindkeys_showเมื่อคุณกดCtrl+ +  Shiftq
ผูกกุญแจเข้ากับคำสั่ง ..
ตอนนี้ให้ลองผูกกุญแจสองสามอัน ฉันแนะนำให้ล้างไฟล์เริ่มต้นทั้งหมดเพื่อให้มันว่างเปล่า มันมีการเชื่อมโยงคีย์ที่ตั้งไว้ล่วงหน้าซึ่งคุณอาจไม่ต้องการ  
ตอนนี้สมมติว่าคุณต้องการใช้Ctrl+ bเพื่อเปิดเบราว์เซอร์ของคุณ ก่อนอื่นคุณต้องรู้ว่าชื่อหรือkeysymของCtrl+ bคืออะไร ตามที่กล่าวไว้ก่อนหน้านี้คุณสามารถใช้xbindkeys -kเพื่อค้นหาชื่อของคีย์หรือคีย์ แต่มีวิธีที่ง่ายกว่า สำหรับชุดค่าผสมอย่างเช่นCtrl+ bคุณสามารถใช้:  
Control+b
ง่ายกว่าเยอะเลย!
ตอนนี้หาคำสั่งสำหรับเบราว์เซอร์ที่คุณชื่นชอบ:
จำไวยากรณ์ก่อนหน้านี้ได้หรือไม่ xbindkeysคำสั่งที่จะเปิดตัว Firefox (หรือเบราว์เซอร์โปรดอื่น ๆ ของคุณ) เมื่อคุณกดCtrl+ bคือ:  
"firefox"
Control+b
จากนั้นใส่ไฟล์ config ของคุณลงไปแล้วทำการบันทึก ตอนนี้คุณอาจสังเกตเห็นว่าคำสั่งของคุณยังใช้งานไม่ได้นั่นเป็นเพราะxbindkeysยังไม่ทำงาน ในการเริ่มต้นเพียงแค่เรียกใช้xbindkeysจากเทอร์มินัล ของคุณCtrl+ bตอนนี้ควรจะเริ่มต้นเบราว์เซอร์ของคุณ!
ผูกกุญแจกับกุญแจอื่น ๆ ..
หากคุณต้องการให้แป้นบนแป้นพิมพ์ของคุณเรียกแป้นอื่นบนแป้นพิมพ์ของคุณคุณจะต้องใช้ซอฟต์แวร์เพิ่มเติมเนื่องจากxbindkeysไม่รองรับตัวมันเอง ฉันรู้ว่าสองโปรแกรมที่เราสามารถใช้งานและxdotool xteฉันชอบxteฉันจะใช้มัน
ติดตั้ง:  
sudo apt-get install xautomation
ไวยากรณ์สำหรับxteเป็นเช่นนี้:  
xte 'command key/mousebutton/xyCoordinates'
ตัวอย่าง:  
- ในการโทรกดปุ่มเดียว:  - xte 'key keyName'
 
- วิธีเรียกชุดคีย์:  - xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName
 
- วิธีเรียกปุ่มเมาส์:   - xte 'mouseclick buttonNumber'(เราจะหารือเกี่ยวกับการค้นหาหมายเลขปุ่มหลังสุด)
 
- ในการเลื่อนเมาส์:  - xte 'mousemove xCoordinate yCoordinate'
 
- และอื่น ๆ! อ่าน- man xte
 
ตอนนี้คุณรู้คำสั่งสำหรับการจำลองการกดปุ่มแล้วคุณสามารถเรียกมันจากxbindkeysสคริปต์ของคุณเช่นนี้  
"xte 'key b'"
Control+b  
ตามที่คุณอาจคาดเดาการโทรนี้xte 'key b'เมื่อเรากดCtrl+ bซึ่งจะเข้าbสู่เอกสารใด ๆ ที่คุณอาจกำลังทำงานอยู่  
อย่างไรก็ตามสิ่งที่ฉันควรทราบคือxbindkeysและxteไม่ได้ทำงานร่วมกันเป็นอย่างดีเสมอไป บางครั้งคุณต้องกดปุ่มตรงในเวลาเดียวกันที่จะได้รับการส่งออกครั้งอื่น ๆ มันทำงานได้ดี สิ่งนี้อาจหรืออาจจะไม่เกี่ยวกับการกำหนดค่าระบบและ / หรือฮาร์ดแวร์ .. ฉันไม่แน่ใจ ดูคำตอบของ maggotbrainสำหรับวิธีการผูกกุญแจที่เชื่อถือได้มากขึ้นกับปุ่มอื่น ๆ
ผูกปุ่มเมาส์เข้ากับคำสั่ง ..
คุณยังสามารถใช้xbindkeysเพื่อผูกปุ่มเมาส์กับคำสั่ง (และแป้นพิมพ์ลัดจากนั้นดูด้านบน) รูปแบบพื้นฐานสำหรับปุ่มเมาส์ควรเป็นที่คุ้นเคยสำหรับคุณ:  
" [command to run]  "
b:n
[command to run]คำสั่งที่คุณต้องการเรียกใช้อยู่ที่ไหนและnจำนวนของปุ่มเมาส์ที่คุณต้องการใช้สำหรับคำสั่งนั้น
หากคุณไม่ทราบจำนวนปุ่มเมาส์คุณสามารถใช้xevเพื่อค้นหาว่ามันคืออะไร:  
xev | grep button
ผลลัพธ์จะเป็นดังนี้:  
user@host:~$ xev | grep button
    state 0x10, button 1, same_screen YES
    state 0x110, button 1, same_screen YES
    state 0x10, button 2, same_screen YES
    state 0x210, button 2, same_screen YES
    state 0x10, button 3, same_screen YES
    state 0x410, button 3, same_screen YES
เมื่อฉันกดปุ่มเมาส์แต่ละปุ่ม
ตัวอย่างเช่น:  
" firefox "
b:2
เปิดตัว firefox เมื่อฉันกดปุ่มกลางของเมาส์