คีย์แมพในเดเบียนอยู่ที่ไหน (การใช้ loadkeys เพื่อเปลี่ยน keymap)


12

จากคอนโซลที่เกิดขึ้นจริง (เช่นCtrl- Alt- F3) ผมต้องการใช้เช่นในอูบุนตูsudo loadkeys dvorak ในขณะที่การทำงานอัตโนมัติใน Ubuntu นั้น Debian ต้องการให้ฉันค้นหาไฟล์ keymap /usr/share/keymapsบางครั้งฉันก็ไม่ได้รับคำตอบ find / -type f -name '*dvorak*'เปิดขึ้นสองสามไฟล์ซึ่งloadkeysจะไม่ใช้ ในขณะที่คำตอบอื่น ๆฉันไม่console-configต้องการที่จะทำให้การเปลี่ยนแปลงอย่างถาวรกับระบบของฉันโดยใช้ ฉันต้องการเขียนสคริปต์อย่างง่ายที่สามารถเปลี่ยน keymap ได้ทันที

มีแพ็คเกจที่ฉันสามารถติดตั้งได้หรือเปล่า?

เนื่องจากฉันต้องการแลกเปลี่ยน Caps-Lock and Escape ในที่สุดฉันอาจทำคีย์แมปที่กำหนดเองของฉันเองถูกต้องหรือไม่

คำตอบ:


15

1) ตรวจสอบให้แน่ใจว่าconsole-dataได้ติดตั้งแพ็คเกจแล้ว:

# loadkeys dvorak
Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz

$ dpkg --search /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz
console-data: /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz

$ cat /etc/debian_version 
wheezy/sid

2) IMHO ใช่dumpkeys > test.keymap && edit test.keymap && loadkeys testเป็นวิธีที่ง่ายที่สุด


1

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

สันนิษฐานว่าใช้รูปแบบ 'us' kbd จนถึงปัจจุบันรูปแบบแป้นพิมพ์ใหม่จะถูกเรียกว่า 'sjas' ที่นี่

หนึ่งในสายการบิน:

apt install console-data -y; TMP=$(loadkeys us | awk {'print $2'}); TMP2=$(dirname $TMP)/sjas.kmap.gz; cp -vaf $TMP $TMP2; gzip -d $TMP2; TMP3=${TMP2%%.gz}; sed -i -e 's/us.map/sjas.map/' -e 's/.*58.*/keycode  58 = Control/' $TMP3; gzip -c $TMP3 > $TMP2; rm $TMP3; sed -i 's/"us"/"sjas"/g' /etc/default/keyboard

ไม่ใช่ในบรรทัดเดียวดังนั้นจึงสามารถอ่านได้ง่ายขึ้น:

apt install console-data -y
TMP=$(loadkeys us | awk {'print $2'})
TMP2=$(dirname $TMP)/sjas.kmap.gz
cp -vaf $TMP $TMP2
gzip -d $TMP2
TMP3=${TMP2%%.gz}
sed -i -e 's/us.map/sjas.map/' -e 's/.*58.*/keycode  58 = Control/' $TMP3
gzip -c $TMP3 > $TMP2
rm $TMP3
sed -i 's/"us"/"sjas"/g' /etc/default/keyboard

แทนที่ 'sjas' และ 'us' เป็นสตริงที่เกิดขึ้นตามที่เลย์เอาต์ปัจจุบันของคุณแตกต่างและวิธีที่คุณต้องการโทรหาอันใหม่

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