มีเครื่องมือหลายอย่างที่สามารถทำเช่นนี้ได้ เช่น กม, เครื่องมือสกัดกั้น, และ คีย์.
ฉันประสบความสำเร็จอย่างสมบูรณ์กับ คีย์
ภายใต้ Wayland ดังนั้นฉันจึงอธิบายสิ่งที่ฉันทำกับสิ่งนั้น ฉันแนะนำให้อ่านเรื่องสั้น README เพื่อเป็นแรงบันดาลใจ ปีศาจสามารถทำอะไรได้มากกว่าที่ใช้ที่นี่
วิธีแก้ปัญหาปัจจุบันทำในสิ่งที่ฉันต้องการ แต่หลีกเลี่ยงการใช้ AltGr
ทางอ้อม มันถือว่า CapsLock
เช่น ควบคุม
ทุกที่ยกเว้นใน ชั่วโมง ,j ,k , ล
ซึ่งจะเปลี่ยนเป็นปุ่มลูกศร
1. การติดตั้ง
ฉันสร้าง คีย์
จากแหล่งที่มานั้นเป็นเรื่องง่าย บรรทัดถัดไป ขั้นแรกให้ติดตั้งการพึ่งพา (รวมถึงคอมไพเลอร์ C) ดาวน์โหลดซอร์ส สร้างและติดตั้ง และเปิดใช้งานเป็นบริการ จากนั้นเริ่มและรันเมื่อเริ่มต้น
เมื่อเสร็จแล้ว มันจะบอกคุณว่ามันติดตั้งอะไรไว้ที่ไหน คุณจึงสามารถลบมันเพื่อถอนการติดตั้งได้ คุณสามารถลบซอร์สโค้ดได้หลังการติดตั้ง
sudo apt ติดตั้ง cmake libudev-dev
คอมไพล์โคลน https://github.com/rvaiya/keyd
ซีดีคีย์
ทำ && sudo ทำการติดตั้ง
sudo systemctl เปิดใช้งาน keyd && sudo systemctl start keyd
2. ค้นหาชื่อของแป้นพิมพ์ที่คุณต้องการทำการแมปใหม่
คุณควรหาชื่อแป้นพิมพ์ของคุณ เพื่อให้เราทำการแมปใหม่สำหรับสิ่งนั้น วิ่ง
sudo คีย์ -m
และกดปุ่มบางปุ่ม มันจะแสดงชื่อแป้นพิมพ์และปุ่มที่กด จดชื่อไว้. ของฉันคือ แป้นพิมพ์ชุดที่แปลแล้ว 2
.
3. สร้างไฟล์การกำหนดค่า
ทุกที่ ให้สร้างไฟล์คอนฟิกูเรชันที่เรียกว่าอะไรก็ได้ เราจะย้ายในภายหลัง สมมติว่าคุณใช้ ~/my_keyboard.conf
.
ในนั้นให้ใส่สิ่งต่อไปนี้ #'ed คือความคิดเห็นที่อธิบายพฤติกรรมที่กำหนดไว้ (การอัปเดตสำหรับ v2.1.1 ฉันหวังว่าฉันจะไม่ได้ทำผิดพลาด):
[รหัส]
*
[หลัก]
### ชั้นหลัก
# ทำให้ capslock เปิดใช้งานเลเยอร์ที่สอง:
capslock = ชั้น (movement_layer)
### ชั้นที่สอง (เรียกว่า "movement_layer")
# กำหนดเลเยอร์ใหม่ซึ่งในขณะที่ใช้งานอยู่
# โดยค่าเริ่มต้นถือว่าทุกปุ่มเหมือนกับว่ากด Control
# (":C" หมายถึงเลเยอร์ควรสืบทอดเลเยอร์ควบคุม)
# และแทนที่ค่าดีฟอลต์นี้สำหรับ h, j, k และ l เท่านั้น ซึ่ง
#ถูกแมปไปยังทิศทาง
[movement_layer:C]
ชั่วโมง = ซ้าย
เจ = ลง
k = ขึ้น
ล = ขวา
# สรุปแล้วในชั้นเริ่มต้นหลักทุกอย่างเป็นมาตรฐานยกเว้น
# เมื่อกด CapsLock ชั้นที่สองจะเปิดใช้งาน
# เมื่อเปิดใช้งานเลเยอร์ที่สอง ทุกอย่างยกเว้น h, j, k, l
# ทำหน้าที่เหมือนกับว่าการควบคุมถูกควบคุมไว้ --- เช่น c สำเนาและ v วาง
#ที่เราต้องการ ขณะที่เรากด CapsLock ค้างไว้)
4. คัดลอกและเปลี่ยนชื่อไฟล์การกำหนดค่าและเริ่มคีย์ใหม่
ต่อไป เราคัดลอกการกำหนดค่าไปยังตำแหน่งที่ถูกต้องและตั้งชื่อให้ถูกต้องตามแป้นพิมพ์ที่เราต้องการทำการแมปใหม่
sudo cp ~/my_keyboard.conf /etc/keyd/AT\ Translated\ Set\ 2\ keyboard.conf
จากนั้นเราก็เริ่มต้นใหม่ คีย์
ดังนั้นจึงโหลดการกำหนดค่าใหม่:
sudo systemctl รีสตาร์ท keyd
ตอนนี้คุณพร้อมใช้งานแล้ว :)
5. เคล็ดลับ: สร้างนามแฝงเพื่อคัดลอกการกำหนดค่าและเริ่มต้นคีย์ใหม่
ฉันลงเอยด้วยการเล่นไฟล์ปรับแต่งมากมาย ฉันแก้ไขในไดเร็กทอรีย่อยของโฮมโฟลเดอร์ของฉัน จากนั้นจึงคัดลอกและเริ่มต้นใหม่
เพื่อทำให้สิ่งนี้ยุ่งยากน้อยลงใน ~/.bash_aliases
ฉันเพิ่ม
นามแฝง rekeyd='sudo cp ~/my_keyboard.conf /etc/keyd/AT\ Translated\ Set\ 2\ keyboard.conf && sudo systemctl รีสตาร์ท keyd'