ฉันจะหารายการของxkb_symbolsและความหมายได้อย่างไร
หากต้องการชี้แจงให้ฉันยกตัวอย่างบางอย่างสำหรับxkb_symbols :
dead_acute
dollar
Down
Delete
adiaeresis
Adiaeresis
dead_circumflex
KP_0
(KP_
น่าจะเป็นคำนำหน้าสำหรับสัญลักษณ์ "แผ่นตัวเลข")KP_divide
- .... (อื่น ๆ อีกมากมาย)
อ่านArch Wikiนี้ฉันเข้าใจว่าxkb_symbolsเป็นตัวเลขจริง หมายเลขเหล่านั้นสำหรับxkb_symbolsถูกกำหนดให้กับการแทนค่าสตริงบางแห่ง ( นี่คือคำถามหลัก: ที่ไหน? ) ตัวอย่างเช่นเราสามารถดูได้/usr/include/X11/keysymdef.h
ว่าหลาย ๆ คน#defines
มีคุณสมบัติต่อไปนี้:
#define XK_KP_0 0xffb0
ในขณะที่อย่างน้อยฉันสามารถหาXK_KP_0
ซึ่งดูเหมือนว่าจะ resample KP_0
(เป็นที่เรียบง่ายอีกครั้งนำหน้า) ผมยังมีข้อมูลเกี่ยวกับไม่มีสัญลักษณ์อื่น ๆ เช่น (เช่นdead_circumflex
, dollar
ฯลฯ ... )
ฉันต้องการรายการการแทนค่าสตริงที่กำหนดเช่นเพื่อสร้างปรับหรือแก้ไขเค้าโครงแป้นพิมพ์ แน่นอนว่าฉันสามารถรับข้อมูลเชิงลึกบางอย่างจากการดูไฟล์เค้าโครงแป้นพิมพ์ที่มีอยู่แล้ว แต่จำเป็นต้องมีการอ้างอิงถึง ด้วยเหตุนี้ฉันจึงขอคนที่นี่เพื่อชี้ให้ฉันเห็น
พื้นหลังเพิ่มเติม
ในแฟ้มซึ่งใช้ในการกำหนดปรับและปรับเปลี่ยนรูปแบบแป้นพิมพ์ตั้งอยู่ที่นี่/usr/share/X11/xkb/symbols/
เช่นตัวอย่างde
(ภาษาเยอรมัน) แป้นพิมพ์เค้าโครงxkb_symbolsถูกนำมาใช้อย่างหนัก/usr/share/X11/xkb/symbols/de
ในหลักการนี้เป็นลักษณะไฟล์ดังกล่าว (การเป็นส่วนหนึ่งของde
ไฟล์):
// อ้างอิงจากคีย์บอร์ดแม็พจากไฟล์ 'xkb / symbols / de' ค่าเริ่มต้น xkb_symbols "พื้นฐาน" { รวมถึง "ละติน (type4)" ชื่อ [กลุ่มที่ 1] = "เยอรมัน"; สำคัญ {[2, ที่ยกมา bl, twosuperior, oneeighth]}; คีย์ {[3, ส่วน, threesuperior, sterling]}; คีย์ {[4, ดอลลาร์, หนึ่งค่าใช้จ่าย, สกุลเงิน]}; .... .... };
ฉันอยากจะรู้ว่ารายการของ xkb_symbols เหมือนquotedbl
, twosuperior
ใช้ในตัวอย่างข้างต้น
/usr/include/X11/keysymdef.h
circle, downstile, upstile, downtack, uptack, quad, jot, identical
พวกเขาทำงานในไคลเอนต์ X11 ส่วนใหญ่ แต่ไม่ได้อยู่ในคนอื่น ๆ (เช่นurxvt
) ดังนั้นฉันจึงแทนที่พวกเขาด้วยหมายเลข Unicode ของพวกเขาUXXXX
และตอนนี้พวกเขาทำงานในลูกค้าทั้งหมด
/usr/include/X11/keysymdef.h
มีทั้งหมด หลังจากนั้นคุณมีอะไรอีก