ฉันกำลังทำงานกับรูปแบบแป้นพิมพ์ที่กำหนดเองของฉันเอง และส่วนหนึ่งคือการสลับ Caps Lock และแป้น Escape เลย์เอาต์ดูเหมือนจะทำงานได้ค่อนข้างดี คีย์อื่นๆ ทั้งหมดดูเหมือนจะได้รับการแมปใหม่อย่างถูกต้อง ยกเว้นเมื่อฉันกดแป้น Caps Lock บนแป้นพิมพ์จริง คีย์ดังกล่าวจะเปิดใช้งาน Escape ตามที่คาดไว้ แต่ยังสลับ Caps Lock ในเวลาเดียวกัน
การกด Escape ทางกายภาพเป็นเพียงการเปิดใช้งาน Caps Lock ฉันหวังว่าจะได้รับปุ่ม Caps Lock จริงเพื่อเปิดใช้งาน Escape
ฉันลองใช้แป้นพิมพ์อื่นเพื่อดูว่าแล็ปท็อปของฉันผิดปกติหรือไม่ ปัญหายังคงอยู่ การกด Caps Lock ใน xev จะแสดงสิ่งนี้:
เหตุการณ์ KeyPress, อนุกรม 34, NO สังเคราะห์, หน้าต่าง 0x1800001,
รูท 0x236, subw 0x0, เวลา 680957, (77,65), รูท:(299,279),
สถานะ 0x2000, คีย์โค้ด 66 (keysym 0xff1b, Escape), same_screen ใช่
XKeysymToKeycode ส่งคืนรหัส: 9
XLookupString ให้ 1 ไบต์: (1b) "
mbLookupString ให้ 1 ไบต์: (1b) "
FilterEvent ส่งคืน: False
นี่คือไฟล์ของฉันใน /usr/share/X11/xkb/ symbols
// ขึ้นอยู่กับการแมปแป้นพิมพ์จากไฟล์ 'xkb/ symbols/de'
ค่าเริ่มต้น
xkb_ symbols "พื้นฐาน" {
รวม "ละติน (type4)"
ชื่อ[Group1]="การเข้ารหัส";
// หนี
ปุ่ม <ESC> {[Caps_Lock]};
// ปุ่มฟังก์ชัน
ปุ่ม <FK01> {[F1]};
ปุ่ม <FK02> {[F2]};
ปุ่ม <FK03> {[F3]};
ปุ่ม <FK04> {[F4]};
ปุ่ม <FK05> {[F5]};
ปุ่ม <FK06> {[F6]};
ปุ่ม <FK07> {[F7]};
ปุ่ม <FK08> {[F8]};
ปุ่ม <FK09> {[F9]};
ปุ่ม <FK10> {[F10]};
ปุ่ม <FK11> {[F11]};
ปุ่ม <FK12> {[F12]};
// แถวแรก (ตัวเลข/สัญลักษณ์)
แป้น <TLDE> {[แถบ เครื่องหมายและ]};
คีย์ <AE01> {[exclam, 1]};
คีย์ <AE02> {[numbersign, 2]};
แป้น <AE03> {[บวก, 3]};
คีย์ <AE04> {[ลบ, 4]};
แป้น <AE05> {[ขีดล่าง, 5]};
คีย์ <AE06> {[เท่ากับ 6]};
คีย์ <AE07> {[parenleft, 7]};
คีย์ <AE08> {[braceleft, 8]};
แป้น <AE09> {[วงเล็บปีกกาซ้าย, 9]};
คีย์ <AE10> {[น้อยกว่า, 0]};
คีย์ <AE11> {[parenright, วงเล็บปีกกา]};
คีย์ <AE12> {[วงเล็บปีกกา, มากกว่า]};
ปุ่ม <BKSP> {[BackSpace]};
// แถวที่สอง
คีย์ <TAB> {[หลุมฝังศพ, คำถาม]};
คีย์ <AD01> {[v, V]};
แป้น <AD02> {[k, K]};
คีย์ <AD03> {[y, Y]};
คีย์ <AD04> {[แท็บ]};
ปุ่ม <AD05> {[f, F]};
แป้น <AD06> {[g, G]};
คีย์ <AD07> {[จุด, จุลภาค]};
แป้น <AD08> {[b, B]};
แป้น <AD09> {[o, O]};
คีย์ <AD10> {[เครื่องหมายอัญประกาศเดี่ยว, quotedbl]};
คีย์ <AD11> {[เปอร์เซ็นต์, เครื่องหมายดอกจัน]};
คีย์ <AD12> {[asciitilde, at]};
// แถวที่สาม
ปุ่ม <CAPS> {[Escape]};
ปุ่ม <AC01> {[r, R]};
ปุ่ม <AC02> {[n, N]};
ปุ่ม <AC03> {[i, I]};
ปุ่ม <AC04> {[e, E]};
คีย์ <AC05> {[u, U]};
ปุ่ม <AC06> {[l, L]};
ปุ่ม <AC07> {[t, T]};
ปุ่ม <AC08> {[a, A]};
ปุ่ม <AC09> {[o, O]};
ปุ่ม <AC10> {[s, S]};
แป้น <AC11> {[ทวิภาค, อัฒภาค]};
ปุ่ม <RTRN> {[ย้อนกลับ]};
// แถวที่สี่
แป้น <LFSH> {[Shift_L]};
แป้น <AB01> {[z, Z]};
คีย์ <AB02> {[w, W]};
แป้น <AB03> {[c, C]};
แป้น <AB04> {[h, H]};
คีย์ <AB05> {[d, D]};
คีย์ <AB06> {[m, M]};
แป้น <AB07> {[p, P]};
แป้น <AB08> {[x, X]};
คีย์ <AB09> {[j, J]};
ปุ่ม <AB10> {[แบ็กสแลช, ทับ]};
ปุ่ม <RTSH> {[Shift_R]};
รวม "kpdl (จุลภาค)"
รวม "ระดับ 3 (ralt_switch)"
};
ฉันจะแก้ไขปัญหานี้ได้อย่างไร ฉันต้องทำให้สิ่งนี้ใช้ได้ผลกับเวย์แลนด์ ซึ่งมันทำได้ แต่ฉันสงสัยว่าโซลูชัน xmodmap ใด ๆ จะใช้งานได้
ขอบคุณสำหรับความช่วยเหลือใด ๆ