ฉันมีปัญหานิดหน่อย ผมอยากที่จะทำการแมปองบางอย่างที่ฉันกำลังที่ใช้ในการออกจากระบบก่อนหน้าของฉัน xbindkeys
แต่ฉันไม่สามารถได้รับมันในการทำงานอย่างถูกต้องกับ
xbindkeys
รับรู้การรวมกัน แต่อย่างใดคำสั่งไม่ได้เรียก
ถ้าฉันใช้คำสั่ง
xdotool key braceleft
มันส่งสัญญาณที่ถูกต้อง{
ในคอนโซลให้ฉัน อย่างไรก็ตามถ้าฉันใช้คำสั่งเดียวกันใน xbindkeys ไม่มีอะไรเกิดขึ้น หากฉันเปลี่ยนคำสั่งด้วยการfirefox
ทำงานอย่างถูกต้องและเปิด firefox ดังนั้นฉันเดาว่าใช้xbindkeys
งานได้
ฉันต้องการบรรลุสิ่งต่อไปนี้:
ฉันต้องการพิมพ์อักขระ{
ไปยังหน้าต่างที่ใช้งานอยู่ด้วย
Alt_R+ 7หรือAlt_Left+ Ctrl+ 7ดังนั้นฉันจึงสามารถใช้ทั้งสองได้ ฉันรู้ว่าAlt_R(AltGr) เป็นวิธีที่เหมาะสม แต่สำหรับแป้นพิมพ์ภาษาเยอรมันมันยากที่จะพิมพ์ braceleft ด้วยปุ่มAltGr(Alt_R) ดังนั้นฉันจึงต้องใช้Alt_L+ Control+ 7แทน (เหมือนกับที่ฉันคุ้นเคยกับระบบก่อนหน้านี้) ฉันทำให้มันทำงานอย่างถูกต้องใน 12.04 แต่ฉันไม่สามารถทำงานได้ใน 14.04
ข้อเสนอแนะใด ๆ ฉันลองหลายคำสั่ง พวกเขาทั้งหมดทำงานในคอนโซล แต่ไม่ทำงานเมื่อดำเนินการโดย xbindkeys
xdotool type '{'
xdotool key braceleft
xdotool key ISO_Level3_Shift+7
xvkbd -xsendevent -text '{'
xvkbd -xsendevent -text '\[Alt_R]+7'
นี่คือการกำหนดค่าของฉันซึ่งจะไม่ทำงาน
"xdotool key braceleft"
Control+Alt + 7
อย่างไรก็ตามการทำงานนี้:
"firefox"
Control+Alt + 7
โซลูชันแก้ไข
ในขณะที่ฉันลองอีกหลายสิ่งฉันสังเกตว่า xdotool ดูเหมือนจะเริ่มเร็วเกินไป ฉันเปลี่ยนการตั้งค่าเช่นนี้:
"sleep 1 && xdotool type --delay 15 '{'"
Control+Alt + 7
ตอนนี้มันจะส่ง {ลงชื่อที่ถูกต้องไปยังหน้าต่างที่ใช้งานอยู่ ตอนนี้สิ่งเดียวที่เหลืออยู่คือการลดการนอนหลับและการหน่วงเวลาเป็นค่าที่ใช้งานได้เพราะ 1 วินาทีดูเหมือนจะนานเกินไป :)
** ข้อมูลเพิ่มเติม ** ตอนนี้ฉันจัดการเพื่อหาค่าที่เหมาะสม อย่างไรก็ตามจะใช้งานได้เฉพาะในกรณีที่คุณปล่อยปุ่มจนกว่าระยะเวลาสลีปจะสิ้นสุด หากคุณช้าเกินไปหากไม่ได้ผล
นี่คือการกำหนดค่าปัจจุบันของฉันสำหรับอักขระ AltGr เยอรมันที่ไม่สะดวกทั้งหมด
"sleep 0.2 && xdotool type --delay 15 '{'"
Control+Alt + 7
"sleep 0.2 && xdotool key --delay 15 at"
Control+Alt + q
"sleep 0.2 && xdotool type --delay 15 '€'"
Control+Alt + e
"sleep 0.2 && xdotool type --delay 15 '['"
Control+Alt + 8
"sleep 0.2 && xdotool type --delay 15 ']'"
Control+Alt + 9
"sleep 0.2 && xdotool type --delay 15 '}'"
Control+Alt + 0
"sleep 0.2 && xdotool type --delay 15 '~'"
Control+Alt + plus
อย่างไรก็ตามหากคุณต้องการพิมพ์เครื่องหมาย @ หลายรายการ (ตัวอย่าง) คุณต้องกด Ctrl + Alt + Q ตามที่ต้องการ แต่ปล่อยปุ่มทั้งหมดแล้วกดอีกครั้ง อย่างไรก็ตามเรื่องนี้ดีกว่าไม่มีตัวเลือก Control + Alt แทน AltGr แต่มันก็ไม่ได้มีประสิทธิภาพเท่าที่ผมเคยใช้ บางทีฉันอาจจะหาทางแก้ปัญหานี้ด้วย
xdotool
การทำซ้ำกุญแจในขณะที่กดค้างไว้?
xdotool getactivewindow key Home