ฉันจะตั้งค่าคีย์บอร์ดของมาโครได้อย่างไร


20

ในชีวิตประจำวันของฉันฉันมักจะพิมพ์และฉันต้องการที่จะตั้งค่าแมโครในอูบุนตูโดยอัตโนมัติป้อน<kbd>Keyboard Character</kbd><kbd> </kbd>

ฉันต้องการมอบหมายให้พูดว่าShift+ Control+ Kหรือชุดอักขระควบคุมแป้นพิมพ์ใด ๆ ที่ไม่ได้รับการกำหนดและใช้งานโดย Ubuntu แล้ว

ย้อนกลับไปในวันที่ TSR (ยุติและพักอาศัย) โปรแกรม MS-DOS สิ่งนี้เป็นไปได้ แน่นอนว่าต้องเป็น Ubuntu ด้วยเช่นกัน?

ฉันต้องเขียนดีมอนเพื่อทำสิ่งนี้ให้สำเร็จหรือไม่?


ฉันพบคำถามอื่น ๆ ที่ไม่มีคำตอบ: ฉันจะกำหนดแมโครให้กับแป้นคีย์บอร์ดของฉันบน Ubuntu ได้เช่นเดียวกับ Razer Keyboard Macros ใน Windows ได้อย่างไร , สิ่งที่เป็นบันทึกแมโครเมาส์ที่ดี / แป้นพิมพ์?

ฉันพบคำถามที่คล้ายกันกับคำตอบ: ฉันสามารถใช้แป้นพิมพ์ลัดเพื่อใช้มาโครข้อความได้หรือไม่ . AutoKeyอย่างไรก็ตามตามที่กำหนดไว้ว่าคำถามคำตอบที่ไม่อาจจะ


คะแนนเพื่อนำ TSR :-) ขึ้นมา
drudru

คำตอบ:


17

ฉันทำ googling และพบโปรแกรมที่เรียกว่า AutoKey ( Autokey - ยูทิลิตี้ลินุกซ์สำหรับการแทนที่ข้อความลัด ) ใกล้ด้านบนของรายการ

แทนที่จะใช้ฮอตCtrl+ Shift+ Kฉันเลือกที่จะกำหนดตัวย่อที่มีการขยายโดยอัตโนมัติในkz<kbd></kbd>+

ติดตั้งง่ายโดยใช้:

sudo apt install autokey-gtk

ติดตั้งใน Launcher และหน้าจอนั้นค่อนข้างใช้งานง่าย:

Autokey


14

สิ่งที่สามารถทำได้คือใช้xdotoolกับtypeflag เช่น:

bash -c ' sleep 0.5; xdotool getactivewindow  type "<kbd></kbd>"'

ไปที่การตั้งค่าระบบ -> แป้นพิมพ์ -> ทางลัด -> กำหนดเองและผูกคำสั่งนั้นกับแป้นพิมพ์ลัดที่คุณต้องการ CtrlSuperKผมเลือก สิ่งที่เกิดขึ้นที่นี่คือเราให้เวลาผู้ใช้หน่วงเวลา 0.5 วินาทีในการปล่อยแป้นพิมพ์ลัดจากนั้นxdotoolจะพิมพ์แท็กคีย์มาร์กอัปราวกับว่าคุณกำลังทำมันด้วยตัวเองบนคีย์บอร์ด วิธีการที่ง่ายและง่ายมาก อันที่จริงฉันใช้ตอนนี้เพื่อใส่กุญแจทั้งสามข้างต้น

โปรดทราบxdotoolว่าไม่ได้มาพร้อมกับ Ubuntu โดยค่าเริ่มต้นดังนั้นคุณจะต้องติดตั้งผ่านsudo apt-get install xdotool


คุณสามารถทำให้ตัวชี้การแทรกกลับไปเพื่อให้มันอยู่ระหว่าง<kbd>และ</kbd>?
DK Bose

4
ฉันใช้bash -c 'sleep 0.5; xdotool getactivewindow type "[CODE][/CODE]" && sleep 0.5 && xdotool key Left Left Left Left Left Left Left'เพื่อรับเคอร์เซอร์ข้อความระหว่างแท็กรหัส
DK Bose

1

หากคุณมีไฟล์เขียนคุณสามารถใช้เป็นเครื่องมือแทรกข้อความของคนยากจนได้

คุณสามารถใช้ตัวดัดแปลงสองสามตัวใน X ได้ซึ่งเห็นได้ชัดว่าคุณสามารถใช้Shiftเป็นตัวดัดแปลง:

! Ctrl Shift <k> : "<kbd></kbd>"

แต่นี่ไม่ได้ผลอย่างน้อยในเครื่องของฉัน

และทำงานนี้ (ละเว้นShift, ตัวพิมพ์ใหญ่K):

! Ctrl <K> : "<kbd></kbd>"

อย่างไรก็ตามคุณสามารถใช้CtrlและCtrl+ Alt:

! Ctrl Alt <k> : "<kbd></kbd>"
! Ctrl <k> : "<kbd></kbd>"

วางเคอร์เซอร์อย่างถูกต้อง

การจับคู่ด้านบนจะวางเคอร์เซอร์หลังสตริง ( |ระบุเคอร์เซอร์):

<kbd></kbd>|

ฉันคิดว่าคงไม่มีวิธีแก้ปัญหาทั่วไปสำหรับวางเคอร์เซอร์ไว้ในแท็ก เพื่อที่คุณจะต้องใช้เครื่องมือที่เหมาะสมสำหรับวัตถุประสงค์ แต่คุณสามารถเคอร์เซอร์เข้าไปในแท็กในบางแอปพลิเคชัน

ฉันใช้gnome-terminalกับ Bash ซึ่งใช้การโยงคีย์ไลน์ (เหมือนกับ Emacs) Ctrl-bเป็นปุ่มลัดสำหรับถอยหลังหนึ่งตัวอักษร ในเทอร์มินัลของฉันฉันสามารถพิมพ์Ctrl+v bและรับตัวควบคุม^B(U + 0002 (เริ่มต้นของข้อความ)) ดังนั้นให้พิมพ์อักขระเหล่านี้หกตัวที่ท้ายสตริง:

! Ctrl Alt <k> : "<kbd></kbd>^B^B^B^B^B^B"

เคอร์เซอร์จะถูกวางไว้ภายในแท็กหากคุณอยู่ในแอปพลิเคชันที่ตีความ^Bอย่างถูกต้อง (เช่นเทอร์มินัลและ Emacs):

<kbd>|</kbd>

การใช้คีย์เขียน

แน่นอนคุณสามารถใช้คีย์การเขียน ( <Multi_key>) เพื่อให้ได้สิ่งเดียวกัน ตัวอย่างเช่นใช้t(“ แท็ก”) และk(“ แป้นพิมพ์”):

<Multi_key> <t> <k> : "<kbd></kbd>^B^B^B^B^B^B"
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.