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 เมื่อฉันกดปุ่มกลางของเมาส์