วิธีปิดการใช้งานการเปลี่ยน Alt-Arrow ของ Virtual Consoles


36

สิ่งต่อไปนี้เกิดขึ้นใน Linuces ต่าง ๆ :

เมื่อฉันอยู่ในคอนโซลเสมือนAltกดและกดหรือวงจร ttys เสมือน มันน่ารำคาญจริง ๆ เพราะฉันใช้ fish-shell ซึ่งก็ใช้คีย์ผสมนี้ด้วย ฉันสามารถทำการแมปสั้น ๆ ของปลาได้ แต่ไม่ต้องการ ฉันต้องการปิดการใช้งานฟังก์ชั่น linux หรือทำการแมปใหม่

ฉันจะปิดใช้งานหรือเปลี่ยน tty-cycling-key-combo ได้อย่างไร


2
คำตอบที่อาจช่วยคุณได้: superuser.com/questions/290115/…
Didi Kohen

คำตอบ:


14

คุณสามารถใช้loadkeysคำสั่งเพื่อทำการแมปคีย์ใหม่บนคอนโซล Linux บรรทัดต่อไปนี้กำหนดการเชื่อมโยงคีย์เพื่อสลับคอนโซล (บนแป้นพิมพ์ PC):

alt keycode 105 = Decr_Console
alt keycode 106 = Incr_Console

โหลดไฟล์ keymap ของคุณเองที่แทนที่การผูกเหล่านี้ด้วยลำดับการหลีกเลี่ยงที่ปลารู้จัก ที่จะทำให้คีย์ส่งลำดับหนีคุณจะต้องผูกให้เป็นชื่อที่สำคัญของรูปแบบและกำหนดลำดับตัวอักษรสำหรับFNUMBERFNUMBER

alt keycode 105 = F105
alt keycode 106 = F106
string F105 = "\033\033[D"
string F105 = "\033\033[C"

การแจกแจงที่แตกต่างกัน (และแพคเกจที่แตกต่างกันบางครั้งสำหรับการสนับสนุนคอนโซล) เก็บ keymap /etcระบบบูตเวลาในสถานที่ที่แตกต่างกันภายใต้ ค้นหาไฟล์ชื่อ*.kmapหรือ*.kmap.gzหรือ*.mapหรือ*.map.gzภายใต้/etcหรือศึกษาคู่มือการแจกจ่ายของคุณ การแจกแจงบางอย่างจะเก็บชื่อของ keymap ไว้/etcแทนและวาง keymap จริงไว้ที่อื่น ค้นหาการตั้งค่าที่เกี่ยวข้องกับ keymap ภายใต้/etc/sysconfigหรือไดเรกทอรีการกำหนดค่าอื่น ๆ

คุณสามารถเขียน keymap ของคุณเองและใช้include "/path/to/foo.map"เพื่ออ้างอิง keymap ของระบบหรือจัดการเพื่อโหลด keymap ของคุณเองที่มีเพียงการตั้งค่าที่คุณต้องการเปลี่ยนในระหว่างกระบวนการบูต


คุณแน่ใจเกี่ยวกับ.kmapส่วนขยายหรือไม่ ผมไม่สามารถที่จะหาไฟล์ใด ๆ บน Fedora 20 /lib/kbd/keymaps/legacy/i386/qwerty/us.map.gzแต่ในทางกลับกันผมพบว่า
Cristian Ciupitu

@CristianCiupitu ฉันไม่ดีฉันควรจะกล่าวถึงวิธีอื่น ๆ ที่สามารถทำได้ ฉันคิดว่าใน Fedora มีการตั้งค่าบางอย่าง/etc/sysconfigที่กำหนดชื่อของไฟล์ keymap ให้โหลดเมื่อเริ่มต้น
Gilles 'SO- หยุดความชั่วร้าย'

ฉันควรได้รับการตั้งค่าของฉันด้วยdumpkeysบันทึกเปลี่ยนแปลงและเปลี่ยนแปลงได้/etc/sysconfigหรือไม่ มันจะทำให้ขัดขืนหรือไม่?
Max Ried

@Gilles, อาจเป็น man page สำหรับsystemd-vconsole-setup.serviceและ [vconsole.conf] ( freedesktop.org/software/systemd/man/vconsole.conf.html ) สามารถลดแสงลงได้บ้าง
Cristian Ciupitu

@ MaxRied ฉันขอแนะนำให้แยกทั้งสองไว้มันจะง่ายกว่าในการรักษา เปลี่ยนการอ้างอิงใน/etc/sysconfigไฟล์ที่มีincludeคำสั่งเป็น keymap มาตรฐาน
Gilles 'หยุดชั่วร้าย'

44

นี่คือการแก้ไขครั้งเดียว:

sudo sh -c 'dumpkeys |grep -v cr_Console |loadkeys'

ฉันขอแนะนำให้เพิ่มสิ่งนี้เป็นคำสั่งใน 'แอปพลิเคชันเริ่มต้น'
Samy Bencherif

20

ฉันปรับโครงสร้างคำตอบของ Tobu ให้เปลี่ยนเฉพาะสิ่งที่จำเป็นอย่างยิ่งเท่านั้น:

sudo sh -c 'dumpkeys -k|grep -v Incr_Console|grep -v Decr_Console|grep -v Last_Console|loadkeys'

หมายเหตุ: ตามที่กล่าวมานี่เป็นการแก้ไขครั้งเดียวและอาจจะหายไปหลังจากการรีบูต


1
การแก้ไขสองวิธี: 1. ทิ้งการเชื่อมโยงคีย์เท่านั้นเพื่อหลีกเลี่ยงข้อผิดพลาดทางไวยากรณ์ใน loadkeys; 2. กำจัด Last_Console (Alt + Tab): sudo sh -c 'dumpkeys | grep -v Incr_Console | grep -v Decr_Console | loadkeys' ขอบคุณมากสำหรับสิ่งนี้!
รูเบนโทมัส

นอกเหนือจากความคิดเห็นก่อนหน้าของฉันฉันพบว่าไฟ Caps Lock ยังคงเปิดและปิดอยู่ (แม้ว่า Caps Lock จะถูกแมปกับการควบคุมบนระบบของฉัน) ในการแก้ไขปัญหานี้การกรองบรรทัดที่มี Caps_Lock ไม่ทำงานเนื่องจากเป็นเพียงการจับคู่รหัสคีย์ที่เกี่ยวข้องดังนั้นจะไม่ถูกเขียนทับเมื่อรายการการแมปที่กรองถูกโหลดใหม่ ในที่สุดโซลูชันที่ง่ายที่สุดคือการถ่ายโอนข้อมูลคีย์แมป "รู้จักดี" แล้วโหลดอย่างชัดเจน
รูเบนโทมัส

14

ฉันมีปัญหาบางครั้งกับ Ubuntu 18.04:

sudo kbd_mode -s

ทำหน้าที่ได้ดี (อย่างน้อยก็ชั่วคราว)

คุณสามารถค้นหายาวรายงานข้อผิดพลาดที่นี่ใน Launchpad


มันทำงานอย่างไร ฉันลังเลที่จะทดสอบเพราะหน้าคนบอกว่า "คำเตือน: การเปลี่ยนโหมดแป้นพิมพ์นอกเหนือจากระหว่าง ASCII และ Unicode อาจทำให้แป้นพิมพ์ของคุณใช้งานไม่ได้"
nshiff

1
สวัสดีฉันได้เพิ่มลิงค์
ม้วน

ขอบคุณ! สิ่งนี้ใช้ได้ผล ฉันพยายามคลิก "ใช่มันมีผลกับฉัน" ที่bugs.launchpad.net/ubuntu/+source/console-setup/+bug/520546แต่ฉันยังคงได้รับข้อผิดพลาดหมดเวลา ความคิดใดที่จะแก้ไขได้อย่างไร
6005

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