สำหรับ Ubuntu 18.04
ฉันต่อสู้กับปัญหานี้เป็นเวลาสองวัน ฉันลองใช้วิธีทั้งหมดที่ระบุไว้ที่นี่ก่อนหน้านี้ และดูเหมือนว่าฉันจะหาทางออก แต่มันไม่แน่นอนมากและมีข้อบกพร่อง
แนวคิดพื้นฐานคือ: ในการตั้งค่าระบบที่คุณสามารถระบุคำสั่งที่จะเริ่มต้นโดยCtrl+ Shift+ Uคีย์ผสม
หมายเหตุ: หากคุณระบุfalse
เป็นคำสั่งชุดค่าผสมจะไม่ทำงานเลย
อย่างไรก็ตามเราสามารถระบุพา ธ ไปยังสคริปต์เป็นคำสั่งซึ่งเราจะจำลองการกดคีย์ผสมเดียวกัน
เพื่อจำลองการกดแป้นพิมพ์ฉันลองใช้xdotool
( apt install xdotool
) และxte
( apt install xautomation
) ตัวเลือกทั้งสองไม่เสถียร อย่างไรก็ตามxte
กลับกลายเป็นยืดหยุ่นมากขึ้นสำหรับฉัน
ตัวอย่างด้วย xte
- สร้างไฟล์
/home/username/shortcut.sh
- เพิ่มสิทธิ์ในการดำเนินการ:
chmod u+x /home/username/shortcut.sh
- ระบุเส้นทางไปยังสคริปต์ที่เป็นคำสั่งสำหรับการที่Ctrl+ Shift+ Uคีย์ผสมในการตั้งค่าแป้นพิมพ์
นี่คือตัวอย่างสคริปต์:
#!/bin/sh
# Make a small delay in order to have time to release the keys.
sleep 0.2
# Simulate the release of just pressed keys, if they are still pressed.
xte 'keyup u' 'keyup Shift_L' 'keyup Control_L'
# Hack: Caps_Lock is used so that the system does not intercept this combination.
# You can try to remove it if it hinders you.
xte 'key Caps_Lock'
# Simulate pressing a key combination
xte 'keydown Shift_L' 'keydown Control_L' 'key u'
# Simulate releasing a key combination
xte 'keyup Shift_L' 'keyup Control_L'
# Restore Caps_Lock to the previous state.
xte 'key Caps_Lock'
ฉันทดสอบสิ่งนี้ใน PhpStorm 2018.2 EAP Build # PS-182.3458.35 และฉันสามารถพูดได้ว่ามันใช้งานได้ แต่มีข้อควรระวังบางประการ:
- ทำงานได้ช้า (บนพีซีค่อนข้างเก่า)
- ระหว่างการทำงานของสคริปต์จะเป็นการดีกว่าที่จะไม่กดปุ่มใด ๆ
- บางครั้งมันอาจไม่ทำงาน
- บางครั้งมันสามารถเข้าสู่วงวนไม่สิ้นสุด ดังนั้นจึงเป็นการดีกว่าที่จะเพิ่มการตรวจสอบสคริปต์ที่สคริปต์ทำงานอยู่
โดยทั่วไปหากคุณไม่ได้ใช้ชุดค่าผสมนี้บ่อยๆโซลูชันนี้อาจเหมาะกับคุณ
แต่อาจจะมีบางคนที่คิดวิธีแก้ปัญหาที่ดีกว่าและมีเสถียรภาพมากขึ้น
ฉันหวังว่าความคิดนี้จะช่วยให้ใครบางคน