Score:5

ทำให้ลูกศรขึ้น/ลง, Pos1, End, Del ... ง่ายขึ้น

ธง in

ฉันพิมพ์ด้วยสิบนิ้วโดยใช้นิ้วชี้ที่ "F" และ "J"

ด้วยวิธีนี้ฉันสามารถพิมพ์ตัวอักษรด้วยเค้าโครง QWERTZ ได้ง่ายและรวดเร็ว

แต่ปุ่มอื่น ๆ อีกมากมายเข้าถึงได้ยาก ตัวอย่างเช่น:

Pos1, End, Del, ลูกศรขึ้น/ลง, Page-Up/Down, ESC, Backspace

มีวิธีทำให้ปุ่มเหล่านี้ใช้งานได้โดยที่นิ้วชี้อยู่ที่ "F" และ "J" หรือไม่

ฉันพอใจกับ "A" ถึง "Z" และไม่ต้องการเปลี่ยนไปใช้เค้าโครงอื่น (เช่น โคลมัก)

อาจโดยทำให้ CapsLock เป็นตัวปรับแต่งใหม่ เพื่อให้ (ตัวอย่าง) CapsLock-u เป็นลูกศรขึ้น และ CapsLock-n เป็นลูกศรลง

ฉันใช้อูบุนตูลินุกซ์

ฉันสร้างคำถามติดตามผล: Hype-key u --> ชอบ PageUp

guettli avatar
in flag
@LiorPollak คุณพูดว่า "มีปลั๊กอินมากมายสำหรับหลายโปรแกรม" ฉันต้องการแก้ปัญหานี้ครั้งเดียวในระดับเดสก์ท็อป ไม่ใช่ครั้งแล้วครั้งเล่าสำหรับทุกโปรแกรม
guettli avatar
in flag
@UnKNOWn ขอบคุณสำหรับคำตอบของคุณ ความคิดเห็นของคุณยังเกี่ยวข้องอยู่หรือไม่?
guettli avatar
in flag
@UnKNOWn ระดับที่สาม นี่ไม่ใช่ AltGr ใช่ไหม ในการปรับแต่งคำพังเพย ฉันพบวิธีทำให้ CapsLock เป็นไฮเปอร์คีย์ ตอนนี้ฉันต้องการวิธีกำหนดค่า hyper-u, hyper-n ... เพื่อให้ทำงานเหมือนขึ้น/ลง ....
Score:4
ธง br

จาก ลิงก์วิกิอาร์ค ฉันทำตามขั้นตอนและประสบความสำเร็จในระบบปฏิบัติการ "Arch Linux" และ "Ubuntu 20.04" สำหรับปุ่ม Keeping Caps Lock + u, h, j,n ฯลฯ วิธีนี้ช่วยให้เน้นข้อความด้วยปุ่ม Shift+Caps+h ตามที่ระบุในลิงก์

ก่อนดำเนินการต่อ โปรดอ่าน ลิงค์ข้อควรระวังและการเตรียมการ

ขั้นตอนที่ 1

แก้ไขไฟล์ /usr/share/X11/xkb/types/complete
เนื้อหาต้นฉบับใน Ubuntu 20.04

xkb_types เริ่มต้น "สมบูรณ์" {
    รวม "พื้นฐาน"
    รวม "mousekeys"
    รวม "พีซี"
    รวม "iso9995"
    รวม "ระดับ 5"
    รวม "พิเศษ"
    รวม "แป้นตัวเลข"
};

หลังจากแก้ไข

xkb_types เริ่มต้น "สมบูรณ์" {
    รวม "พื้นฐาน"
    รวม "mousekeys"
    รวม "พีซี"
    รวม "iso9995"
    รวม "ระดับ 5"
    รวม "พิเศษ"
    รวม "แป้นตัวเลข"
    
       พิมพ์ "CUST_CAPSLOCK" {
       ตัวดัดแปลง = Shift + Lock; 
       แผนที่[Shift] = ระดับ 2; // แผนที่เลื่อนและไม่มีการล็อคShift+Alt ไปที่นี่ด้วย เพราะ Alt ไม่ได้อยู่ในตัวดัดแปลง
       แผนที่[ล็อค] = ระดับ 3;
       แผนที่[Shift+Lock] = ระดับ 3; // แผนที่เลื่อนและล็อค Shift+Lock+Alt ไปที่นี่เช่นกัน
       level_name[Level1]= "พื้นฐาน";
       level_name[Level2]= "เลื่อน";
       level_name[Level3]= "ล็อค";
   };
};

ขั้นตอนที่ 2

แก้ไขไฟล์ /usr/share/X11/xkb/compat/comple

หลังจากแก้ไข

xkb_compatibility เริ่มต้น "สมบูรณ์" {
    รวม "พื้นฐาน"
    เพิ่ม "iso9995"
    เพิ่ม "mousekeys"
    เพิ่ม "accessx (เต็ม)"
    เพิ่ม "เบ็ดเตล็ด"
    เพิ่ม "xfree86"
    เพิ่ม "ระดับ 5"
    เพิ่ม "หมวก (caps_lock)"
    
       ตีความ Caps_Lock+AnyOfOrNone(ทั้งหมด) {
       การกระทำ = SetMods (ตัวดัดแปลง = ล็อค);
   };
};

ขั้นตอนที่ 3

แก้ไขไฟล์ /usr/share/X11/xkb/ symbols/us #เปลี่ยน เรา ด้วยไฟล์สัญลักษณ์จริงของคุณ

เนื้อหาบางส่วนที่แก้ไข

    ปุ่ม <AC05> { [ g, G ] };
// ปุ่ม <AC06> { [ h, H ] };
    คีย์ <AC06> {
       พิมพ์= "CUST_CAPSLOCK",
       สัญลักษณ์[Group1]= [ h, H, ซ้าย],
       การกระทำ[Group1]= [ NoAction(), NoAction(), RedirectKey(keycode=<LEFT>, clearmods=Lock) ]
  };
    ปุ่ม <AC07> { [ j, J ] };
    ปุ่ม <AC08> { [ k, K ] };

แก้ไขไฟล์สัญลักษณ์ตามความต้องการของคุณ สามารถรับสัญลักษณ์สำคัญได้โดย

xev | grep คีย์ซิม สั่งการ

$ xev | grep คีย์ซิม
    สถานะ 0x0, คีย์โค้ด 36 (keysym 0xff0d, Return), same_screen ใช่
    สถานะ 0x0, คีย์โค้ด 112 (keysym 0xff55, ก่อนหน้า), same_screen ใช่
    สถานะ 0x0, คีย์โค้ด 112 (keysym 0xff55, ก่อนหน้า), same_screen ใช่
    สถานะ 0x0, คีย์โค้ด 117 (keysym 0xff56, ถัดไป), same_screen ใช่
    สถานะ 0x0, คีย์โค้ด 117 (keysym 0xff56, ถัดไป), same_screen ใช่
    สถานะ 0x0, คีย์โค้ด 22 (keysym 0xff08, BackSpace), same_screen ใช่
    สถานะ 0x0, คีย์โค้ด 22 (keysym 0xff08, BackSpace), same_screen ใช่
    สถานะ 0x0, คีย์โค้ด 9 (keysym 0xff1b, Escape), same_screen ใช่
    สถานะ 0x0, คีย์โค้ด 9 (keysym 0xff1b, Escape), same_screen ใช่
    สถานะ 0x0, คีย์โค้ด 110 (keysym 0xff50, หน้าแรก), same_screen ใช่
    สถานะ 0x0, คีย์โค้ด 110 (keysym 0xff50, หน้าแรก), same_screen ใช่
    สถานะ 0x0, คีย์โค้ด 115 (keysym 0xff57, End), same_screen ใช่
    สถานะ 0x0, คีย์โค้ด 115 (keysym 0xff57, End), same_screen ใช่
$ 

ขั้นตอนที่ 4
เรียกใช้คำสั่งด้านล่างเพื่อใช้การเปลี่ยนแปลงทันที

sudo udevadm ทริกเกอร์ --subsystem-match=input --action=change

แหล่งที่มาของคำสั่งข้างต้นคือ https://askubuntu.com/a/1075707/739431

guettli avatar
in flag
มีวิธีที่ง่ายกว่าในการเปลี่ยนแปลงไฟล์เหล่านี้โดยไม่ต้องออกจากระบบและเข้าสู่ระบบหรือไม่?
br flag
@guetti คำสั่งนี้ดูเหมือนว่าจะทำงานโดยไม่ต้อง "ออกจากระบบและเข้าสู่ระบบ" `sudo udevadm trigger --subsystem-match=input --action=change`
guettli avatar
in flag
วิธีแก้ปัญหาที่ฉันต้องการจะไม่แก้ไขไฟล์ระบบ อาจเป็นไปได้ที่จะตั้งค่า capsLock เป็นไฮเปอร์คีย์ (ผ่าน gnome-tweaks) แล้วแก้ไข .xmodmaprc?
guettli avatar
in flag
@Unkown: ฉันสร้างคำถามติดตามผล: https://askubuntu.com/questions/1382762/hype-key-u-like-pageup
user.dz avatar
ng flag
@guettli คุณสามารถใช้โซลูชันนี้ (จากคำตอบของ UnKNOWn) โดยไม่ต้องแก้ไขไฟล์ต้นฉบับ แต่ให้สร้างเลย์เอาต์ที่สืบทอดใหม่ของคุณเองแทน ฉันได้ลองใช้สัญลักษณ์ XKB ที่สืบทอดมาในคำตอบของฉันที่นี่ https://askubuntu.com/q/482678/26246 หรือจากคนอื่น ๆ ใน https://askubuntu.com/q/510024/26246 สำหรับประเภท XKB ฉันคาดว่าจะเป็นแบบเดียวกัน โครงสร้างอธิบายไว้ในลิงค์ก่อนหน้า ด้วยวิธีนี้ คุณสามารถจัดแพคเกจเลย์เอาต์ใหม่และคัดลอกลงในเครื่องอื่นได้
Score:2
ธง kr

เพื่อแก้ปัญหาประเภทนี้ เลย์เอาต์ของแป้นพิมพ์บางตัวจึงมีเลเยอร์พิเศษนอกเหนือจากที่มีให้โดย shift/capslock และคีย์ตัวปรับแต่งปกติ ตัวอย่างหนึ่งคือ Neo (วิกิพีเดีย; เอกสาร (ในภาษาเยอรมัน); เอกสาร (แปลโดย Google)).

Neo มี 6 เลเยอร์ และเลเยอร์คีย์การเคลื่อนไหวที่คุณต้องการคือเลเยอร์ที่สี่ (เลเยอร์ประกอบด้วย 1 ตัวพิมพ์เล็ก, 2 ตัวพิมพ์ใหญ่, 3 ตัวอักขระพิเศษ, 4 การเคลื่อนไหว+ตัวเลข, 5 ตัวอักขระกรีก (สำหรับสูตร), สัญลักษณ์คณิตศาสตร์ 6 ตัว+ตัวพิมพ์กรีก

เช่นเดียวกับสิ่งที่เกิดขึ้นกับ กะ ที่นำคุณจากเลเยอร์ 1 ไปยังเลเยอร์ 2 (ข้อความปกติตัวพิมพ์เล็กถึงตัวพิมพ์ใหญ่) การกดแป้นเพียงครั้งเดียวถึง ม.4 คีย์ (ที่แสดงในรูปภาพ ดูเหมือนว่าจะเทียบเท่ากับของ qwertz < และ alt-gr) นำคุณไปสู่เลเยอร์ที่สี่

ชั้นที่ 4 ของ Neo:

รูปแบบแป้นพิมพ์นีโอชั้นที่สี่ (ภาพจากเว็บไซต์อย่างเป็นทางการ)

เป็นไปได้ที่จะเห็นว่าตัวอย่างการขึ้น-ลงไม่ใช่เสียงเรียกเข้า แต่เป็นคีย์บอร์ดธรรมดาทั่วไป

ตำแหน่งหลักของการเคลื่อนไหวบนเลเยอร์ที่สี่ของนีโอ:

ความเคลื่อนไหว กุญแจ
บ้าน
จบ
เดล
ขึ้น อี
ลง
pgUp ถาม
หน้าลง ที
เอสซี ซี
ช่องว่างด้านหลัง

สองชั้นแรกเหมาะสำหรับภาษาเยอรมัน แต่เนื่องจากคุณยังคงต้องการใช้เค้าโครง qwertz จึงมีรูปแบบที่เรียกว่า นีโอเคิร์ตซ์โดยที่เลเยอร์ 1 และ 2 เหล่านั้นจะเป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ qwertz ปกติตามลำดับ ด้วยวิธีนี้คุณจะรู้สึกเหมือนอยู่บ้านมากขึ้นตามที่คุณต้องการ

ตามเอกสารของพวกเขา สิ่งเหล่านี้รวมอยู่ในระบบปฏิบัติการหลักแล้ว รวมถึง Linux (ติดตั้งคำแนะนำ) (ซึ่งติดตั้งเป็นตัวแปรแป้นพิมพ์) แต่ฉันจะไม่รับประกันว่าพวกเขาจะทำงานนอกกรอบ - ในกรณีของฉัน (ubuntu/xfce) ไม่จำเป็น ฉลาด หรือติดตั้งอะไร ผมแค่ตั้งค่า เมื่อทำตามคำแนะนำของพวกเขา แตกต่างจากที่ระบุไว้ มันใช้งานได้หลังจากรีเซ็ตและเฉพาะในหน้าจอเข้าสู่ระบบเท่านั้น หลังจากล็อกอิน qwerty กลับมา ดังนั้นจำเป็นต้องมีการปรับแต่งเพิ่มเติม localectl list-x11-keymap-variants รายการเท่านั้น นีโอ และไม่ นีโอ_ควอตซ์. การเข้าสู่ระบบแบบกราฟิกมีลักษณะการทำงานของแป้นพิมพ์ที่แตกต่างกันเล็กน้อยเมื่อเทียบกับ tty1-6 ระวังอย่าใช้ neo แทน neo_quertz มิฉะนั้นคุณจะต้องพยายามพิมพ์ชื่อผู้ใช้และรหัสผ่านในรูปแบบที่คุณไม่มีเงื่อนงำว่าตำแหน่งอยู่ที่ไหน และอย่าลืม: กะ ร่วมกับคีย์ประเภทอื่น ๆ เป็นตัวพิมพ์ใหญ่ ในขณะที่ แคปล็อค สัญลักษณ์เลเยอร์ 3 ร่วมกับคีย์ประเภทอื่น (หากคุณมีสัญลักษณ์ในรหัสผ่าน คุณจะต้องรู้เรื่องนี้)

guettli avatar
in flag
ขอบคุณสำหรับคำตอบนี้ น่าเสียดายที่ฉันเห็นเฉพาะ "neo-querty" ไม่ใช่ "neo-quertz"
brunoff avatar
kr flag
ฉันอยู่ในสถานการณ์ตรงกันข้าม จำเป็นต้องกำจัด neo-quertz ในกรณีของฉัน `localectl list-x11-keymap-variants` แสดงเฉพาะ 'neo' แต่ 'neo-quertz' ได้รับการยอมรับเพราะ `locatectl` แสดง 'neo_qwertz' และอย่างน้อยเมื่อฉันออกจากระบบ มันทำหน้าที่เป็น `neo` และในชื่อ `qwertz` แต่เป็น Ubuntu 21.4 และ xfce ดังนั้นสิ่งต่าง ๆ อาจแตกต่างกัน
Score:1
ธง cn

คุณสามารถแก้ไขการแมปแป้นพิมพ์ของคุณเองได้โดยแก้ไขหรือสร้างแมปสัญลักษณ์ใหม่จากแมปที่มีอยู่แล้วใน /usr/share/X11/xkb/ symbols

และคุณสามารถรับค่าปัจจุบันของแต่ละปุ่มบนแป้นพิมพ์ได้โดยใช้คำสั่งต่อไปนี้:

xev | grep คีย์ซิม

นี่คือแผนผังที่อยู่ของแป้นคีย์บอร์ดฮาร์ดแวร์แต่ละแป้น แป้นคีย์บอร์ด

เล่นคีย์บอร์ดเก่ง!

vanadium avatar
cn flag
คำตอบที่ดี แต่มันไม่ได้บอกว่าใครทำสิ่งนี้ได้อย่างไร
daniel assayag avatar
cn flag
@vanadium คำตอบของฉันอาจไม่สมบูรณ์ แต่ก็ให้ข้อมูลเชิงลึกเกี่ยวกับวิธีดำดิ่งสู่ปัญหา คำตอบของฉันยังใช้อีกอันหนึ่งด้านบน เพราะคุณไม่ชอบคำตอบของฉัน จำเป็นต้องลงคะแนนฉันหรือไม่
vanadium avatar
cn flag
ฉันไม่ค่อยลงคะแนน แต่ฉันคิดว่าคำตอบของคุณแทบจะไม่ได้ให้ข้อมูลเชิงลึกเกี่ยวกับการทำงานของสิ่งต่าง ๆ และแทบจะไม่ให้เงื่อนงำเลยเกี่ยวกับวิธีคิดออก "แก้ไขหรือสร้างแผนที่สัญลักษณ์ใหม่": ฉันคิดว่า OP สามารถบอกได้โดยไม่มีคำตอบของคุณเช่นกัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา