วิธีการเปลี่ยนเค้าโครงแป้นพิมพ์เป็น Dvorak ที่สมมติว่ารูปแบบแป้นพิมพ์คือ QWERTY?


12

ฉันใช้Dvorakเป็นรูปแบบแป้นพิมพ์หลักของฉัน สำหรับการเขียนในภาษาพื้นเมืองของฉัน (เบงกาลี) ฉันต้องการใช้เค้าโครงProbhat แต่ Probhat สมมติว่าคุณกำลังใช้เลย์เอาต์ QWERTY ฉันจะทำให้เข้าใจได้อย่างไรว่าฉันใช้ Dvorak เพื่อให้ตรงกับคีย์ Dvorak ที่เกี่ยวข้อง?

การชี้แจง: ตัวอย่างเช่นเมื่อฉันกด 'E' ('D' ใน QWERTY) เค้าโครง Probhat เข้าใจว่าเป็น 'D' (ড) ฉันต้องการให้มันเข้าใจว่าเป็น 'E' (ী)


ตามคำตอบที่ให้ไว้ในคำถามอื่นฉันลองดูที่รูปแบบ Probhat ( /usr/share/X11/xkb/symbols/bd) และดูเหมือนว่าตัวละครจะถูก hardcoded ไปยังข้อเสนอในแป้นพิมพ์ ตัวคีย์บอร์ดเองถือว่าเป็นคีย์บอร์ด (macbook pro) ดังนั้นฉันคิดว่าวิธีหนึ่งที่อาจเป็นได้คือเปลี่ยนการแมปคีย์แต่ละรายการจาก QWERTY เป็น dvorak
Sayem

คำตอบ:


5

ไฟล์ที่ตำแหน่ง / usr / share / X11 / xkb / symbols / bd มีดังต่อไปนี้เป็นบรรทัดสุดท้าย:

//
// XKB symbol :: Probhat Bangla/Bengali Keyboard Layout
// Ref: www.ankurbangla.org/images/probhat_layout.png
//

xkb_symbols "probhat" {
include "in(ben_probhat)"
name[Group1]= "Bangla (Probhat)";
};

ในกรณีของคุณถ้าฉันเข้าใจถูกต้องคุณไม่ควรแก้ไขไฟล์นี้ แต่แทนเค้าโครงไฟล์ที่ตำแหน่ง / usr / share / X11 / xkb / symbols / in

ค้นหาบรรทัด:

xkb_symbols "ben_probhat" {
name[Group1]= "Bangla (India, Probhat)";

จากนั้นเริ่มการแมปโครงร่างใหม่

โปรดทราบว่าคุณไม่จำเป็นต้องทำการแมปแต่ละคีย์ 1 ต่อ 1 อีกครั้งเนื่องจากยูนิโค้ดสำหรับภาษาของคุณถูกตั้งค่าสำหรับเค้าโครงนี้แล้ว! คุณต้องเรียงลำดับคีย์ใหม่และใช้งานได้กับภาษาใด ๆและ / หรือเลย์เอาต์ที่มีการออกเสียงตาม qwerty และผู้ใช้ต้องการที่จะแมปกับ dvorak มาตรฐาน

ในกรณีของคุณไฟล์ / usr / share / X11 / xkb / symbols / in มีลักษณะดังนี้:

xkb_symbols "ben_probhat" {
name[Group1]= "Bangla (India, Probhat)";
key <ESC>  { [ Escape ] };

// numbers
key <TLDE> { [ U200D, asciitilde   ] };
key <AE01> { [ U09E7, exclam       ] };
key <AE02> { [ U09E8, at           ] };
key <AE03> { [ U09E9, numbersign   ] };
key <AE04> { [ U09EA, U09F3    ] };
key <AE05> { [ U09EB, percent      ] };
key <AE06> { [ U09EC, asciicircum  ] };
key <AE07> { [ U09ED, U099E    ] };
key <AE08> { [ U09EE, U09CE    ] };
key <AE09> { [ U09EF, parenleft    ] };
key <AE10> { [ U09E6, parenright   ] };
key <AE11> { [ minus,     underscore   ] };
key <AE12> { [ equal,     plus         ] };
key <BKSP> { [ BackSpace               ] };

// tab, q to ] 
key <TAB>  { [   Tab,  ISO_Left_Tab     ] };
key <AD01> { [   U09A6,  U09A7  ] };
key <AD02> { [   U09C2,  U098A  ] };
key <AD03> { [   U09C0,  U0988  ] };
key <AD04> { [   U09B0,  U09DC  ] };
key <AD05> { [   U099F,  U09A0  ] };
key <AD06> { [   U098F,  U0990  ] };
key <AD07> { [   U09C1,  U0989  ] };
key <AD08> { [   U09BF,  U0987  ] };
key <AD09> { [   U0993,  U0994  ] };
key <AD10> { [   U09AA,  U09AB  ] };
key <AD11> { [   U09C7,  U09C8  ] };
key <AD12> { [   U09CB,  U09CC  ] };
key <RTRN> { [   Return                 ] };

// caps, a to ' 
//   key <CAPS> { [   Caps_Lock              ] };
key <AC01> { [   U09BE,  U0985  ] };
key <AC02> { [   U09B8,  U09B7  ] };
key <AC03> { [   U09A1,  U09A2  ] };
key <AC04> { [   U09A4,  U09A5  ] };
key <AC05> { [   U0997,  U0998  ] };
key <AC06> { [   U09B9,  U0983  ] };
key <AC07> { [   U099C,  U099D  ] };
key <AC08> { [   U0995,  U0996  ] };
key <AC09> { [   U09B2,  U0982  ] };
key <AC10> { [   semicolon,  colon      ] };
key <AC11> { [   apostrophe, quotedbl   ] };

// shift, z to /
//   key <LFSH> { [   Shift_L                ] };
key <AB01> { [   U09DF,  U09AF  ] };
key <AB02> { [   U09B6,  U09DD  ] };
key <AB03> { [   U099A,  U099B  ] };
key <AB04> { [   U0986,  U098B  ] };
key <AB05> { [   U09AC,  U09AD  ] };
key <AB06> { [   U09A8,  U09A3  ] };
key <AB07> { [   U09AE,  U0999  ] };
key <AB08> { [   comma,      U09C3  ] };
key <AB09> { [   U0964,  U0981  ] };
key <AB10> { [   U09CD,  question   ] };
key <BKSL> { [   U200C,  U0965  ] };

สิ่งนี้ทำให้เค้าโครงนี้

ตอนนี้คุณเพียงแค่ต้องเรียงลำดับคีย์ใหม่ดังนี้:

// numbers
key <TLDE> { [ grave,   asciitilde, voidsymbol, voidsymbol ] };
key <AE01> ==> key <AE01> <== NO CHANGE!
key <AE02> ==> key <AE02> <== NO CHANGE!
key <AE03> ==> key <AE03> <== NO CHANGE!
key <AE04> ==> key <AE04> <== NO CHANGE!
key <AE05> ==> key <AE05> <== NO CHANGE!
key <AE06> ==> key <AE06> <== NO CHANGE!
key <AE07> ==> key <AE07> <== NO CHANGE!
key <AE08> ==> key <AE08> <== NO CHANGE!
key <AE09> ==> key <AE09> <== NO CHANGE!
key <AE10> ==> key <AE10> <== NO CHANGE!
key <AE11> ==> key <AC11>
key <AE12> ==> key <AD12>
key <BKSP> { [ BackSpace ] };

// key <TAB>  { [ Tab,  ISO_Left_Tab ] };
key <AD01> ==> key <AB02>
key <AD02> ==> key <AB08>
key <AD03> ==> key <AC03>
key <AD04> ==> key <AD09>
key <AD05> ==> key <AC08>
key <AD06> ==> key <AD05>
key <AD07> ==> key <AC04>
key <AD08> ==> key <AC05>
key <AD09> ==> key <AC02>
key <AD10> ==> key <AD04>
key <AD11> ==> key <AE11>
key <AD12> ==> key <AE12>
key <RTRN> { [ Return ] };

// key <CAPS> { [ Caps_Lock ] };
key <AC01> ==> key <AC01> <== NO CHANGE!
key <AC02> ==> key <AC10>
key <AC03> ==> key <AC06>
key <AC04> ==> key <AD06>
key <AC05> ==> key <AD07>
key <AC06> ==> key <AC07>
key <AC07> ==> key <AB03>
key <AC08> ==> key <AB04>
key <AC09> ==> key <AD10>
key <AC10> ==> key <AB01>
key <AC11> ==> key <AD01>

// key <LFSH> { [ Shift_L ] };
key <AB01> ==> key <AB10>
key <AB02> ==> key <AB05>
key <AB03> ==> key <AD08>
key <AB04> ==> key <AB09>
key <AB05> ==> key <AB06>
key <AB06> ==> key <AC09>
key <AB07> ==> key <AB07> <== NO CHANGE!
key <AB08> ==> key <AD02>
key <AB09> ==> key <AD03>
key <AB10> ==> key <AD11>
key <BKSL> { [ backslash,   bar,        voidsymbol, voidsymbol ] };

เพื่อให้ดูเหมือนว่าด้านล่างในไฟล์ / usr / share / X11 / xkb / symbols / in

xkb_symbols "ben_probhat" {
name[Group1]= "Bangla (India, Probhat)";
key <ESC>  { [ Escape ] };

// numbers
key <TLDE> { [ U200D, asciitilde   ] };
key <AE01> { [ U09E7, exclam       ] };
key <AE02> { [ U09E8, at           ] };
key <AE03> { [ U09E9, numbersign   ] };
key <AE04> { [ U09EA, U09F3    ] };
key <AE05> { [ U09EB, percent      ] };
key <AE06> { [ U09EC, asciicircum  ] };
key <AE07> { [ U09ED, U099E    ] };
key <AE08> { [ U09EE, U09CE    ] };
key <AE09> { [ U09EF, parenleft    ] };
key <AE10> { [ U09E6, parenright   ] };
key <AC11> { [ minus,     underscore   ] };
key <AD12> { [ equal,     plus         ] };
key <BKSP> { [ BackSpace               ] };

// tab, q to ] 
key <TAB>  { [   Tab,  ISO_Left_Tab     ] };
key <AB02> { [   U09A6,  U09A7  ] };
key <AB08> { [   U09C2,  U098A  ] };
key <AC03> { [   U09C0,  U0988  ] };
key <AD09> { [   U09B0,  U09DC  ] };
key <AC08> { [   U099F,  U09A0  ] };
key <AD05> { [   U098F,  U0990  ] };
key <AC04> { [   U09C1,  U0989  ] };
key <AC05> { [   U09BF,  U0987  ] };
key <AC02> { [   U0993,  U0994  ] };
key <AD04> { [   U09AA,  U09AB  ] };
key <AE11> { [   U09C7,  U09C8  ] };
key <AE12> { [   U09CB,  U09CC  ] };
key <RTRN> { [   Return                 ] };

// caps, a to ' 
//   key <CAPS> { [   Caps_Lock              ] };
key <AC01> { [   U09BE,  U0985  ] };
key <AC10> { [   U09B8,  U09B7  ] };
key <AC06> { [   U09A1,  U09A2  ] };
key <AD06> { [   U09A4,  U09A5  ] };
key <AD07> { [   U0997,  U0998  ] };
key <AC07> { [   U09B9,  U0983  ] };
key <AB03> { [   U099C,  U099D  ] };
key <AB04> { [   U0995,  U0996  ] };
key <AD10> { [   U09B2,  U0982  ] };
key <AB01> { [   semicolon,  colon      ] };
key <AD01> { [   apostrophe, quotedbl   ] };

// shift, z to /
//   key <LFSH> { [   Shift_L                ] };
key <AB10> { [   U09DF,  U09AF  ] };
key <AB05> { [   U09B6,  U09DD  ] };
key <AD08> { [   U099A,  U099B  ] };
key <AB09> { [   U0986,  U098B  ] };
key <AB06> { [   U09AC,  U09AD  ] };
key <AC09> { [   U09A8,  U09A3  ] };
key <AB07> { [   U09AE,  U0999  ] };
key <AD02> { [   comma,      U09C3  ] };
key <AD03> { [   U0964,  U0981  ] };
key <AD11> { [   U09CD,  question   ] };
key <BKSL> { [   U200C,  U0965  ] };

ในที่สุดฉันก็คิดว่าคุณต้องการเลย์เอาต์

โปรดทราบว่าคุณต้องสำรองข้อมูลของเค้าโครงไฟล์ต้นฉบับก่อนที่จะเริ่มแก้ไขและบันทึกเป็นรูทมิฉะนั้นคุณจะต้องดาวน์โหลดและกู้คืนจาก freedesktop.org/wiki/Software/XKeyboardConfig

แม้ว่าฉันไม่เข้าใจอะไรเลยจากตัวอักษรฉันหวังว่านี่จะช่วยได้เพราะฉันใช้เลย์เอาต์ dvorak เช่นกันเป็นเวลาหลายปีและฉันหวังว่าสักวันหนึ่งมันจะสามารถแทนที่เลย์เอาต์ qwerty ได้เหมือนเดิม :(


1
นี่คือสิ่งที่ฉันขอ อุปกรณ์ประกอบฉากสำหรับการเพิ่มภาพหน้าจอ ขอขอบคุณ.
Sayem

7

วิธีที่ 1: ใช้ตัวแก้ไขข้อความ

  1. เปิดไฟล์/etc/default/keyboardในฐานะรูท ตัวอย่างเช่นคุณสามารถเรียกใช้sudo nano /etc/default/keyboard
  2. เปลี่ยนบรรทัดXKBMODEL="pc105"ด้วยแป้นพิมพ์ของคุณ (รายการทั้งหมดอยู่ที่นี่เริ่มจากบรรทัดที่ 2)
  3. เปลี่ยนบรรทัดXKBLAYOUT="en"ด้วยเลย์เอาต์ของคุณ (น่าจะเป็น "bd" ดูรายการทั้งหมดด้านบนเริ่มจากบรรทัดที่ 189)
  4. เปลี่ยนบรรทัดXKBVARIANT=""ด้วยชุดตัวเลือกของคุณ (ดูรายการทั้งหมดด้านบนเริ่มต้นจากบรรทัด 284)
  5. บันทึกไฟล์ ( Ctrl+ XและกดY)
  6. รีสตาร์ทการกำหนดค่าคีย์บอร์ดด้วย sudo service keyboard-setup restart

วิธีที่ 2: ใช้keyboard-configurationเครื่องมือ

  1. ติดตั้งด้วยsudo apt-get install keyboard-configuration(คุณอาจติดตั้งไว้แล้ว)
  2. เรียกใช้โปรแกรมกำหนดค่าโดยพิมพ์ sudo dpkg-reconfigure keyboard-configuration
  3. ทำตามคำแนะนำในการเลือกรูปแบบของแป้นพิมพ์ที่รูปแบบที่แตกต่างกันฯลฯ
  4. รีสตาร์ทการกำหนดค่าคีย์บอร์ดด้วย sudo service keyboard-setup restart

ที่มา: ดัดแปลงมาจากที่นี่


คำตอบที่ดีเท่านั้น! +1
Fabby

ขอบคุณสำหรับคำตอบโดยละเอียด อย่างไรก็ตามฉันไม่มีปัญหากับการเปลี่ยนเค้าโครง
Sayem

เค้าโครง Probhat วางอักขระที่คล้ายกับคู่ภาษาอังกฤษในรูปแบบ QWERTY ในการวาดภาพเปรียบเทียบถ้าฉันใช้เค้าโครง Dvorak เป็นภาษาอังกฤษแล้วฉันเปลี่ยนเป็นเค้าโครงภาษาฝรั่งเศสตัวอักษรภาษาฝรั่งเศสจะถูกจัดวางในรูปแบบ QWERTY
Sayem

1
แปลก. การรวมกันของตัวเลือกบางอย่างต้องทำงาน หากบังคลาเทศถือว่า QWERTY แล้วทำไมไม่เลือกรุ่น QWERTY ใด ๆเป็นค่าเริ่มต้น (แม้ว่าคุณจะไม่ใช่)

ดูเหมือนว่ามีวิธีการตั้งค่าXKBLAYOUT=dvorakแล้วมันจะแปลงเค้าโครงทั้งหมดที่สมมติว่ารูปแบบ QWERTY เป็นรูปแบบ Dvorak น่าเสียดายที่นั่นไม่ใช่ค่าที่ถูกต้อง (ฉันลองตั้งค่าใหม่ แต่ไม่ได้ผล) ดูเหมือนว่าตัวเลือกเดียวที่ฉันทิ้งไว้คือเปลี่ยนการแมปแต่ละคีย์เพื่อให้สอดคล้องกับเค้าโครงของ Dvorak
Sayem

3

คุณต้องติดตั้งibus-avroแพ็กเกจก่อน คุณจะพบคำอธิบายที่ดีว่าจะทำที่นี่ คุณต้องเปิดเทอร์มินัลทำcd /usr/srcและทำตามคำแนะนำ

หลังจากนั้นคุณต้องเลือกรูปแบบแป้นพิมพ์จาก GUI ดังอธิบาย


ฉันไม่ต้องการใช้รว์ ฉันต้องการใช้เลย์เอาต์ที่แตกต่าง (Probhat) ในขณะที่ตัวอักษรตรงกับ Dvorak แทนที่จะเป็น QWERTY
Sayem

กว่าฉันเพิ่งรู้ว่าSCIMสำหรับภาษาเอเชีย แต่มันไม่ใช่เค้าโครงปุ่มกดของ Bengaline มีรายงานข้อผิดพลาดใน Ubuntu สำหรับ Bengali (Jatiya / National) ( bugs.launchpad.net/ubuntu/+source/console-setup/+bug/1570233 ) แต่ฉันไม่รู้ความแตกต่างระหว่าง "Jatiya" และ "Probhat" ผมหวังว่ามันจะช่วย.
musbach

3

วิธีที่ง่ายที่สุดสำหรับคุณคือแก้ไขเค้าโครง dvorak ที่มีอยู่

มีเค้าโครง dvorak หลายรุ่นใน X11:

  • อังกฤษ (Dvorak)
  • อังกฤษ (Dvorak, นานาชาติพร้อมกุญแจล็อค)
  • ภาษาอังกฤษ (Dvorak ทางเลือกระหว่างประเทศไม่มีกุญแจล็อค) เป็นต้น

มองหาพวกเขาในไฟล์ / usr / share / X11 / xkb / symbols / us หรือ / usr / share / X11 / xkb / symbols / gb

แนวคิดคือการเลือกตัวที่คุณไม่ได้ใช้ - เลือกอันที่สะดวกที่สุดในรายการใกล้กับ Dvorak ที่คุณใช้อยู่แล้วและเพื่อแทนที่ตัวอักษรภาษาอังกฤษในไฟล์นั้นด้วยตัวอักษรเบงกาลีที่คุณต้องการมอบหมายให้แต่ละตัว กุญแจสำคัญในการ (อย่าลืมบันทึกไฟล์ที่คุณกำลังแก้ไข)

ควรมีลักษณะเช่นนี้

key <TLDE> { [dead_grave, dead_tilde,         grave,       asciitilde ] };

key <AE01> { [     1,     exclam,    exclamdown,      onesuperior ] };
key <AE02> { [     2,         at,   twosuperior, dead_doubleacute ] };
key <AE03> { [     3, numbersign, threesuperior,      dead_macron ] };
key <AE04> { [     4,     dollar,      currency,         sterling ] };
key <AE05> { [     5,    percent,      EuroSign,     dead_cedilla ] };
key <AE06> { [    6, dead_circumflex,    onequarter,      asciicircum ] };
key <AE07> { [     7,  ampersand,       onehalf,    dead_horn ] };
key <AE08> { [     8,   asterisk, threequarters,      dead_ogonek ] };
key <AE09> { [     9,  parenleft, leftsinglequotemark, dead_breve ] };
key <AE10> { [     0, parenright, rightsinglequotemark, dead_abovering ] };
key <AE11> { [ bracketleft,  braceleft,  guillemotleft, leftdoublequotemark ] };
key <AE12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] };

key <AD01> { [dead_acute, dead_diaeresis, apostrophe,        quotedbl ] };
key <AD02> { [     comma,       less,      ccedilla,         Ccedilla ] };
key <AD03> { [    period,    greater, dead_abovedot,       dead_caron ] };
key <AD04> { [     p,          P,    odiaeresis,       Odiaeresis ] };
key <AD05> { [     y,          Y,    udiaeresis,       Udiaeresis ] };
// key <AD06> { [      f,   F       ]   };
// key <AD07> { [      g,   G       ]   };
key <AD08> { [     c,          C,     copyright,             cent ] };
key <AD09> { [     r,          R,    registered,       registered ] };
key <AD10> { [     l,          L,        oslash,         Ooblique ] };
key <AD11> { [     slash,   question,  questiondown,        dead_hook ] };
// key <AD12> { [     equal,       plus,      multiply,         division ] };

key <AC01> { [     a,          A,        aacute,           Aacute ] };
key <AC02> { [     o,          O,        oacute,           Oacute ] };
key <AC03> { [     e,          E,        eacute,           Eacute ] };
key <AC04> { [     u,          U,        uacute,           Uacute ] };
key <AC05> { [     i,          I,        iacute,           Iacute ] };
key <AC06> { [     d,          D,           eth,              ETH ] };
// key <AC07> { [      h,   H       ]   };
key <AC08> { [     t,          T,         thorn,            THORN ] };
key <AC09> { [     n,          N,        ntilde,           Ntilde ] };
key <AC10> { [     s,          S,        ssharp,          section ] };
// key <AC11> { [     minus, underscore,           yen,    dead_belowdot ] };

key <AB01> { [ semicolon,      colon,     paragraph,           degree ] };
key <AB02> { [     q,          Q,    adiaeresis,       Adiaeresis ] };
// key <AB03> { [      j,   J       ]   };
key <AB04> { [     k,          K,            oe,               OE ] };
// key <AB05> { [      x,   X       ]   };
// key <AB06> { [      b,   B       ]   };
key <AB07> { [     m,          M,            mu,               mu ] };
key <AB08> { [     w,          W,         aring,            Aring ] };
// key <AB09> { [      v,   V       ]   };
key <AB10> { [     z,          Z,            ae,               AE ] };

key <BKSL> { [ backslash,        bar,       notsign,        brokenbar ] };

include "level3(ralt_switch)"

เพื่อใช้ในการยกตัวอย่างเช่นคุณให้อยู่บนเส้น: key <AC03>แทนที่eด้วยU2496ซึ่งเป็นรหัส UTF ที่สอดคล้องกัน ในไฟล์ / usr / share / X11 / xkb / symbols / bd พวกเขาใช้การเข้ารหัสเช่น“ 0x10009EA” แต่ฉันคิดว่าคุณสามารถใช้รหัส UTF ที่คุณสามารถหาได้ในหน้านี้

เมื่อคุณทำเสร็จแล้วคุณสามารถบันทึกโดยตรงใน / usr / share / X11 / xkb / symbols / us หรือ / usr / share / X11 / xkb / symbols / gb ที่คุณแก้ไข (ซึ่งใช้ได้ดีมันก็หมายความว่าคุณ มีเลย์เอาต์บังคลาเทศภายในไฟล์ของเลย์เอาต์ภาษาอังกฤษ) หรือคุณสามารถคัดลอกผลลัพธ์ลงในไฟล์ / usr / share / X11 / xkb / symbols / bd และแทนที่เลย์เอาต์เริ่มต้นด้วยรูปแบบที่คุณเพิ่งสร้างขึ้น เพียงแค่ระมัดระวังและปล่อยให้รหัสนี้ทั้งหมดเป็น:

default  partial alphanumeric_keys
xkb_symbols "basic" {
   name[Group1]= "Bangla";
   key <ESC>  { [ Escape ] };

จากนั้นสิ่งที่คุณต้องทำคือการลบไฟล์. xkm ทั้งหมดจาก "/ var / lib / xkb" และคุณทำเสร็จแล้วเค้าโครงที่คุณเพิ่งแก้ไขพร้อมใช้งาน

เมื่อฉันสร้างเลย์เอาต์ของตัวเองโดยใช้บทช่วยสอนนี้ (การใช้เลย์เอาต์ฝรั่งเศสbépoเป็นฐานของเลย์เอาต์รัสเซียที่สอดคล้องกับบีเปย์ที่ฉันคุ้นเคย) ฉันหาไม่เจอเพื่อสร้างเลย์เอาต์ใหม่ดังนั้นนั่นคือวิธีที่ฉันใช้ เพื่อให้มันเกิดขึ้น

เพื่ออธิบายคำอธิบายนี้ให้ดียิ่งขึ้นนี่คือรูปลักษณ์ของไฟล์ / usr / share / X11 / xkb / symbols / fr ของฉัน ก่อนอื่นคุณมีเค้าโครงbépoเริ่มต้นจากนั้นคุณมีเค้าโครงbépo / รัสเซียของฉัน โปรดสังเกตว่ามีการแก้ไขเฉพาะแถวที่สองสามและสี่ รหัสinclude "fr(bepo)"จะคอยดูแลเพื่อให้แถวแรกของโครงร่างนี้เป็นแถวแรกของโครงร่างbépoเริ่มต้น

// Bépo : Improved ergonomic french keymap using Dvorak method.
// Built by community on 'Dvorak Fr / Bépo' :
// see http://www.clavier-dvorak.org/wiki/ to join and help.
// XOrg integration (1.0rc2 version) in 2008
// by Frédéric Boiteux <fboiteux at free dot fr>
//
// Bépo layout (1.0rc2 version) for a pc105 keyboard (french) :
// ┌─────┐
// │ S A │   S = Shift,  A = AltGr + Shift
// │ s a │   s = normal, a = AltGr
// └─────┘
//
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ # ¶ │ 1 „ │ 2 “ │ 3 ” │ 4 ≤ │ 5 ≥ │ 6   │ 7 ¬ │ 8 ¼ │ 9 ½ │ 0 ¾ │ ° ′ │ ` ″ ┃ ⌫ Retour┃
// │ $ – │ " — │ « < │ » > │ ( [ │ ) ] │ @ ^ │ + ± │ - − │ / ÷ │ * × │ = ≠ │ % ‰ ┃  arrière┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃       ┃ B ¦ │ É ˝ │ P § │ O Œ │ È ` │ !   │ V   │ D Ð │ L   │ J IJ │ Z Ə │ W   ┃Entrée ┃
// ┃Tab ↹  ┃ b | │ é ˊ │ p & │ o œ │ è ` │ ˆ ¡ │ v ˇ │ d ð │ l / │ j ij │ z ə │ w ̆  ┃   ⏎   ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
// ┃        ┃ A Æ │ U Ù │ I ˙ │ E ¤ │ ; ̛  │ C ſ │ T Þ │ S ẞ │ R ™ │ N   │ M º │ Ç , ┃      ┃
// ┃Maj ⇬   ┃ a æ │ u ù │ i ̈  │ e € │ , ’ │ c © │ t þ │ s ß │ r ® │ n ˜ │ m ¯ │ ç ¸ ┃      ┃
// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃       ┃ Ê   │ À   │ Y ‘ │ X ’ │ : · │ K   │ ? ̉  │ Q ̣  │ G   │ H ‡ │ F ª ┃             ┃
// ┃Shift ⇧┃ ê / │ à \ │ y { │ x } │ . … │ k ~ │ ' ¿ │ q ˚ │ g µ │ h † │ f ˛ ┃Shift ⇧      ┃
// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃       ┃       ┃       ┃ Espace inséc.   Espace inséc. fin ┃       ┃       ┃       ┃
// ┃Ctrl   ┃Meta   ┃Alt    ┃ ␣ (Espace)      _               ␣ ┃AltGr ⇮┃Menu   ┃Ctrl   ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
partial alphanumeric_keys
xkb_symbols "bepo" {

    include "level3(ralt_switch)"
    include "keypad(oss)"

    name[Group1]= "French (Bepo, ergonomic, Dvorak way)";

    // First row
    key <TLDE> { [          dollar,   numbersign,        endash,       paragraph ] }; // $ # – ¶
    key <AE01> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        quotedbl,            1,         emdash, doublelowquotemark ] }; // " 1 — „
    key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [   guillemotleft,            2,           less,  leftdoublequotemark ] }; // « 2 < “
    key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [  guillemotright,            3,        greater, rightdoublequotemark ] }; // » 3 > ”
    key <AE04> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [       parenleft,            4,    bracketleft,      lessthanequal ] }; // ( 4 [ ≤
    key <AE05> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [      parenright,            5,   bracketright,   greaterthanequal ] }; // ) 5 ] ≥
    key <AE06> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [              at,            6,    asciicircum                 ] }; // @ 6 ^
    key <AE07> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [            plus,            7,      plusminus,        notsign ] }; // + 7 ± ¬
    key <AE08> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           minus,            8,          U2212,     onequarter ] }; // - 8 − ¼
    key <AE09> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [           slash,            9,       division,        onehalf ] }; // / 9 ÷ ½
    key <AE10> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [        asterisk,            0,       multiply,  threequarters ] }; // * 0 × ¾
    key <AE11> { [           equal,       degree,       notequal,        minutes ] }; // = ° ≠ ′
    key <AE12> { [         percent,        grave,          U2030,        seconds ] }; // % ` ‰ ″

    // Second row
    key <AD01> { [               b,            B,            bar,      brokenbar ] }; // b B | ¦
    key <AD02> { [          eacute,       Eacute,     dead_acute, dead_doubleacute ] }; // é É ˊ ˝
    key <AD03> { [               p,            P,      ampersand,        section ] }; // p P & §
    key <AD04> { [               o,            O,             oe,             OE ] }; // o O œ Œ
    key <AD05> { [          egrave,       Egrave,     dead_grave,          grave ] }; // è È ` `
    key <AD06> { [ dead_circumflex,       exclam,     exclamdown                 ] }; // ^ ! ¡
    key <AD07> { [               v,            V,     dead_caron                 ] }; // v V ˇ
    key <AD08> { [               d,            D,            eth,            ETH ] }; // d D ð Ð
    key <AD09> { [               l,            L,    dead_stroke                 ] }; // l L /
    key <AD10> { [               j,            J,          U0133,          U0132 ] }; // j J ij IJ
    key <AD11> { [               z,            Z,          schwa,          SCHWA ] }; // z Z ə Ə
    key <AD12> { [               w,            W,     dead_breve                 ] }; // w W ̆

    // Third row
    key <AC01> { [               a,            A,             ae,             AE ] }; // a A æ Æ
    key <AC02> { [               u,            U,         ugrave,         Ugrave ] }; // u U ù Ù
    key <AC03> { [               i,            I, dead_diaeresis,  dead_abovedot ] }; // i I ̈ ˙
    key <AC04> { [               e,            E,       EuroSign,  dead_currency ] }; // e E € ¤
    key <AC05> { [           comma,    semicolon, rightsinglequotemark, dead_horn ] }; // , ; ’ ̛
    key <AC06> { [               c,            C,      copyright,          U017F ] }; // c C © ſ
    key <AC07> { [               t,            T,          thorn,          THORN ] }; // t T þ Þ
    key <AC08> { [               s,            S,         ssharp,          U1E9E ] }; // s S ß ẞ
    key <AC09> { [               r,            R,     registered,      trademark ] }; // r R ® ™
    key <AC10> { [               n,            N,     dead_tilde                 ] }; // n N ~
    key <AC11> { [               m,            M,    dead_macron,      masculine ] }; // m M ̄ º
    key <BKSL> { [        ccedilla,     Ccedilla,   dead_cedilla, dead_belowcomma ] }; // ç Ç ¸ ,

    // Fourth row
    key <LSGT> { [     ecircumflex,  Ecircumflex,          slash                 ] }; // ê Ê /
    key <AB01> { [          agrave,       Agrave,      backslash                 ] }; // à À \
    key <AB02> { [               y,            Y,      braceleft, leftsinglequotemark  ] }; // y Y { ‘
    key <AB03> { [               x,            X,     braceright, rightsinglequotemark ] }; // x X } ’
    key <AB04> { [          period,        colon,       ellipsis, periodcentered ] }; // . : … ·
    key <AB05> { [               k,            K,     asciitilde                 ] }; // k K ~
    key <AB06> { [      apostrophe,     question,   questiondown,      dead_hook ] }; // ' ? ¿ ̉
    key <AB07> { [               q,            Q, dead_abovering,  dead_belowdot ] }; // q Q ˚ ̣
    key <AB08> { [               g,            G,     dead_greek                 ] }; // g G µ
    key <AB09> { [               h,            H,         dagger,   doubledagger ] }; // h H † ‡
    key <AB10> { [               f,            F,    dead_ogonek,    ordfeminine ] }; // f F ̨ ª

    key <SPCE> { [           space, nobreakspace,     underscore,          U202F ] }; // ␣ (espace insécable) _ (espace insécable fin)
};

// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┲━━━━━━━━━━━━━━━┓
// │ #   ¶ │ 1   „ │ 2   “ │ 3   ” │ 4   ≤ │ 5   ≥ │ 6     │ 7   ¬ │ 8   ¼ │ 9   ½ │ 0   ¾ │ °   ′ │ `   ″ ┃               ┃
// │ $   – │ "   — │ «   < │ »   > │ (   [ │ )   ] │ @   ^ │ +   ± │ -   − │ /   ÷ │ *   × │ =   ≠ │ %   ‰ ┃      <--      ┃
// ┢━━━━━━━┷━━━┱───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┴───┬───┺━━━┳━━━━━━━━━━━┫
// ┃    |<-    ┃ Б   ¦ │ Ы   Ѝ │ П   § │ О   І │ Ь   Ї │ !     │ В     │ Д   Ђ │ Л   Љ │ Ж   Ј │ З   Ѕ │ Ш     ┃      |    ┃
// ┃    ->|    ┃ б   | │ ы   ѝ │ п   & │ о   і │ ь   ї │ №   ¡ │ в   ˇ │ д   ђ │ л   љ │ ж   ј │ з   ѕ │ ш   ˘ ┃    <-'    ┃b é p o è ^ v d l j z w
// ┣━━━━━━━━━━━┻━┱─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┺━┓         ┃
// ┃             ┃ А   Ѣ │ У   Ў │ И   Й │ Е   Ё │ ;    ̛ │ Ц   ſ │ Т   Ћ │ С   ẞ │ Р   ™ │ Н   Њ │ М   º │ Щ   Џ ┃         ┃
// ┃    CAPS     ┃ а   ѣ │ у   ў │ и   й │ е   ё │ ,   ’ │ ц   © │ т   ћ │ с   ß │ р   ® │ н   њ │ м   ¯ │ щ   џ ┃         ┃a u i e , c t s r n m ç
// ┣━━━━━━━┳━━━━━┹─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┲━━━━━┷━━━━━━━┻━━━━━━━━━┫
// ┃   ^   ┃ Э   Є │ Я     │ Ю   ‘ │ Х   ’ │ :   · │ К   Ќ │ ?    ̉ │ Ъ    ̣ │ Г   Ѓ │ Ч   Ґ │ Ф   ª ┃           ^           ┃
// ┃   |   ┃ э   є │ я   \ │ ю   { │ х   } │ .   … │ к   ќ │ '   ¿ │ ъ   ° │ г   ѓ │ ч   ґ │ ф   ˛ ┃           |           ┃ê à y x . k ' q g h f
// ┣━━━━━━━┻━━━┳━━━┷━━━━━┳━┷━━━━━━━╈━━━━━━━┷━━━━━━━┷━━━━━━━┷━━━━━━━┷━━━━━━━┷━━━━━┳━┷━━━━━━━╈━━━━━━━┻━┳━━━━━━━━━┳━━━━━━━━━━━┫
// ┃           ┃         ┃         ┃           ␣                   NNBSP         ┃         ┃         ┃         ┃           ┃
// ┃   Ctrl    ┃  WinG   ┃   Alt   ┃           ⍽                     _           ┃  AltGr  ┃  WinD   ┃  WinM   ┃   Ctrl    ┃
// ┗━━━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━━━┛

// based on a keyboard map from http://forum.bepo.fr/viewtopic.php?id=695

partial alphanumeric_keys
xkb_symbols "bepo_latin9" {

    // Restricts the fr(bepo) layout to latin9 symbols

    include "fr(bepo)"

    name[Group1]="French (Bepo, ergonomic, Dvorak way, Latin-9 only)";

    // Second row
    key <AD01> { [       Cyrillic_be,       Cyrillic_BE,                       bar,                   brokenbar ] }; // б Б | ¦
    key <AD02> { [       Cyrillic_yeru,     Cyrillic_YERU,                   U045D,                       U040D ] }; // ы Ы ѝ Ѝ
    key <AD03> { [       Cyrillic_pe,       Cyrillic_PE,                 ampersand,                     section ] }; // п П & §
    key <AD04> { [        Cyrillic_o,        Cyrillic_O,               Ukrainian_i,                  Ukrainian_I] }; // о О і І 
    key <AD05> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN,              Ukrainian_yi,                Ukrainian_YI ] }; // ь Ь ї Ї
    key <AD06> { [        numerosign,            exclam,                exclamdown                              ] }; // № ! ¡
    key <AD07> { [       Cyrillic_ve,       Cyrillic_VE,                dead_caron                              ] }; // в В ˇ
    key <AD08> { [       Cyrillic_de,       Cyrillic_DE,               Serbian_dje,                 Serbian_DJE ] }; // д Д ђ Ђ
    key <AD09> { [       Cyrillic_el,       Cyrillic_EL,              Cyrillic_lje,                Cyrillic_LJE ] }; // л Л љ Љ
    key <AD10> { [      Cyrillic_zhe,      Cyrillic_ZHE,                Cyrillic_je,                 Cyrillic_JE] }; // ж Ж ј Ј
    key <AD11> { [       Cyrillic_ze,       Cyrillic_ZE,             Macedonia_dse,               Macedonia_DSE ] }; // з З ѕ Ѕ
    key <AD12> { [      Cyrillic_sha,      Cyrillic_SHA,                dead_breve                              ] }; // ш Ш ˘

    // Third row
    key <AC01> { [        Cyrillic_a,        Cyrillic_A,                     U0463,                        U0462] }; // а А ѣ Ѣ
    key <AC02> { [        Cyrillic_u,        Cyrillic_U,       Byelorussian_shortu,          Byelorussian_SHORTU] }; // у У ў Ў
    key <AC03> { [        Cyrillic_i,        Cyrillic_I,           Cyrillic_shorti,              Cyrillic_SHORTI] }; // и И й Й
    key <AC04> { [       Cyrillic_ie,       Cyrillic_IE,               Cyrillic_io,                  Cyrillic_IO] }; // е Е ё Ё
    key <AC06> { [      Cyrillic_tse,      Cyrillic_TSE,                 copyright,                       U017F ] }; // ц Ц © ſ
    key <AC07> { [       Cyrillic_te,       Cyrillic_TE,              Serbian_tshe,                 Serbian_TSHE] }; // т Т ћ Ћ
    key <AC08> { [       Cyrillic_es,       Cyrillic_ES,                    ssharp,                        U1E9E] }; // с С ß ẞ
    key <AC09> { [       Cyrillic_er,       Cyrillic_ER,                registered,                   trademark ] }; // р Р ® ™
    key <AC10> { [       Cyrillic_en,       Cyrillic_EN,              Cyrillic_nje,                 Cyrillic_NJE] }; // н Н њ Њ
    key <AC11> { [       Cyrillic_em,       Cyrillic_EM,               dead_macron,                   masculine ] }; // м М ¯ º
    key <BKSL> { [    Cyrillic_shcha,    Cyrillic_SHCHA,             Cyrillic_dzhe,                Cyrillic_DZHE] }; // щ Щ џ Џ

    // Fourth row
    key <LSGT> { [        Cyrillic_e,        Cyrillic_E,              Ukrainian_ie,                Ukrainian_IE ] }; // э Э є Є
    key <AB01> { [       Cyrillic_ya,       Cyrillic_YA,                 backslash                              ] }; // я Я \
    key <AB02> { [       Cyrillic_yu,       Cyrillic_YU,                 braceleft,         leftsinglequotemark ] }; // ю Ю { ‘
    key <AB03> { [       Cyrillic_ha,       Cyrillic_HA,                braceright,        rightsinglequotemark ] }; // х Х } ’
    key <AB05> { [       Cyrillic_ka,       Cyrillic_KA,             Macedonia_kje,               Macedonia_KJE ] }; // к К ќ Ќ
    key <AB07> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN,            dead_abovering,               dead_belowdot ] }; // ъ Ъ °  ̣
    key <AB08> { [      Cyrillic_ghe,      Cyrillic_GHE,             Macedonia_gje,               Macedonia_GJE ] }; // г Г ѓ Ѓ
    key <AB09> { [      Cyrillic_che,      Cyrillic_CHE, Ukrainian_ghe_with_upturn,   Ukrainian_GHE_WITH_UPTURN ] }; // ч Ч ґ Ґ
    key <AB10> { [       Cyrillic_ef,       Cyrillic_EF,               dead_ogonek,                 ordfeminine ] }; // ф Ф ˛ ª

1

Sooo ฉันไม่เคยใช้ภาษานี้ แต่ในการตั้งค่าของคุณคุณสามารถไปที่แป้นพิมพ์คลิกที่การตั้งค่าเค้าโครงบน + เล็กน้อยจากนั้นค้นหาภาษาเบงกาลีและฉันสามารถเห็น probhat ชนิดต่าง ๆ คุณสามารถค้นหา Dvorak ภายในได้ แต่หลังจาก การทดสอบเล็กน้อยคุณควรค้นหาสิ่งที่คุณต้องการ

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