Làm cách nào để thay đổi bố cục bàn phím thành Dvorak giả định rằng bố cục bàn phím là QWERTY?


12

Tôi sử dụng Dvorak làm bố trí bàn phím chính của mình. Để viết bằng ngôn ngữ mẹ đẻ của tôi (tiếng Bengal), tôi muốn sử dụng bố cục của Probhat . Nhưng Probhat cho rằng bạn đang sử dụng bố cục QWERTY. Làm cách nào để tôi hiểu rằng tôi đang sử dụng Dvorak để nó khớp với các phím Dvorak tương ứng?

Làm rõ: Ví dụ: khi tôi nhấn 'E' ('D' trong QWERTY), bố cục của Probhat hiểu nó là 'D' (). Tôi muốn nó hiểu nó là 'E' ().


Theo câu trả lời được cung cấp trong một câu hỏi khác , tôi đã xem qua bố cục của Probhat ( /usr/share/X11/xkb/symbols/bd) và có vẻ như các ký tự được mã hóa cứng cho các phím bấm trong bàn phím. Bàn phím tự nó là một bàn phím QWERTY (macbook pro). Vì vậy, tôi đoán một trong những cách có thể là thay đổi các lần gõ phím riêng lẻ từ QWERTY sang dvorak.
Sayem

Câu trả lời:


5

Tệp tại location / usr / share / X11 / xkb /bols / bd chứa các dòng sau đây là dòng cuối cùng:

//
// 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)";
};

Trong trường hợp của bạn nếu tôi hiểu chính xác, bạn không nên chỉnh sửa tệp này mà thay vào đó là cách bố trí tệp tại location / usr / share / X11 / xkb /bols / in

Xác định vị trí các dòng:

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

Sau đó, bắt đầu bố trí lại ánh xạ mới.

Lưu ý rằng bạn không cần phải sắp xếp lại từng phím 1 lần nữa vì các unicodes cho ngôn ngữ của bạn đã được đặt cho bố cục này! Bạn chỉ cần sắp xếp lại các khóa và điều này hoạt động đối với bất kỳ ngôn ngữ và / hoặc bố cục nào có ngữ âm dựa trên qwerty và người dùng thay vì muốn ánh xạ nó sang dvorak tiêu chuẩn.

Trong trường hợp của bạn, tệp / usr / share / X11 / xkb /bols / in trông như thế này:

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  ] };

Điều này mang lại cho bố cục này

Bây giờ bạn chỉ cần sắp xếp lại các phím như thế này:

// 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 ] };

Vì vậy, nó trông giống như dưới đây trong tệp / usr / share / X11 / xkb /bols / 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  ] };

Cuối cùng đưa ra bố cục tôi giả sử bạn muốn

Lưu ý rằng bạn phải tạo bản sao lưu bố cục tệp gốc trước khi bắt đầu chỉnh sửa và lưu nó dưới dạng root hoặc nếu không, bạn sẽ phải tải xuống và khôi phục lại từ freedesktop.org/wiki/Software/XPalConfig

Mặc dù tôi không hiểu gì về bảng chữ cái, tôi hy vọng điều này có thể giúp ích vì tôi đã sử dụng bố cục dvorak trong nhiều năm và tôi hy vọng rằng một ngày nào đó nó có thể thay thế bố cục qwerty luôn luôn là tiêu chuẩn :(


1
Đây chính xác là những gì tôi yêu cầu. Đạo cụ để thêm ảnh chụp màn hình. Cảm ơn bạn.
Sayem

7

Phương pháp 1: sử dụng trình soạn thảo văn bản

  1. Mở tệp /etc/default/keyboarddưới dạng root. Ví dụ: bạn có thể chạysudo nano /etc/default/keyboard
  2. Thay đổi dòng XKBMODEL="pc105"với mô hình bàn phím của bạn (danh sách đầy đủ ở đây , bắt đầu từ dòng 2).
  3. Thay đổi dòng XKBLAYOUT="en"với bố cục của bạn (có thể là "bd". Xem danh sách đầy đủ ở trên, bắt đầu từ dòng 189).
  4. Thay đổi dòng XKBVARIANT=""với biến thể của bạn (Xem danh sách đầy đủ ở trên, bắt đầu từ dòng 284).
  5. Lưu tệp ( Ctrl+ Xvà nhấn Y).
  6. Khởi động lại cấu hình bàn phím với sudo service keyboard-setup restart

Cách 2: sử dụng keyboard-configurationcông cụ.

  1. Cài đặt với sudo apt-get install keyboard-configuration(bạn có thể đã cài đặt nó)
  2. Chạy chương trình cấu hình, bằng cách gõ sudo dpkg-reconfigure keyboard-configuration
  3. Làm theo hướng dẫn để chọn kiểu bàn phím, bố cục , biến thể , v.v.
  4. Khởi động lại cấu hình bàn phím với sudo service keyboard-setup restart

Nguồn: phỏng theo đây .


Câu trả lời tốt duy nhất! +1
Fabby

Cảm ơn bạn đã trả lời chi tiết. Tuy nhiên, tôi không có vấn đề với việc thay đổi bố cục.
Sayem

Bố cục của Probhat đặt các ký tự tương tự như các đối tác tiếng Anh của chúng theo kiểu QWERTY. Để vẽ một sự tương tự, nếu tôi đang sử dụng bố cục Dvorak bằng tiếng Anh và sau đó tôi chuyển sang bố cục tiếng Pháp, các chữ cái tiếng Pháp được đặt theo kiểu QWERTY.
Sayem

1
Lạ thật. Chắc chắn một số kết hợp của các tùy chọn phải làm việc. Nếu người Viking giả định QWERTY, thì tại sao không chọn bất kỳ mô hình QWERTY nào làm mặc định? (ngay cả khi bạn không phải)

Có vẻ như nếu có một cách để thiết lập XKBLAYOUT=dvorakthì nó sẽ chuyển đổi tất cả các bố cục giả định bố cục QWERTY sang bố cục Dvorak. Thật không may, đó không phải là một giá trị hợp lệ (dù sao tôi cũng đã thử đặt nó nhưng nó không hoạt động). Có vẻ như tùy chọn duy nhất mà tôi còn lại là thay đổi ánh xạ các khóa riêng lẻ để tương ứng với bố cục Dvorak.
Sayem

3

Bạn có đầu tiên để cài đặt ibus-avrogói. Bạn sẽ tìm thấy một mô tả tốt làm thế nào để làm điều đó ở đây . Bạn phải mở một thiết bị đầu cuối, làm cd /usr/srcvà làm theo hướng dẫn.

Sau đó, bạn phải chọn bố cục bàn phím từ GUI như được mô tả.


Tôi không muốn sử dụng Avro. Tôi muốn sử dụng một bố cục khác (Probhat) trong khi các chữ cái tương ứng với Dvorak thay vì QWERTY.
Sayem

Hơn, tôi chỉ biết SCIMđó là ngôn ngữ châu Á. Nhưng nó không phải là một bố trí bàn phím chính. Có một báo cáo lỗi trong Ubuntu cho tiếng Bengal (Jatiya / National) ( bug.launchpad.net/ubfox/+source/console-setup/+orms/1570233 ). Nhưng tôi không biết sự khác biệt giữa `Jatiya` và` Probhat`. Tôi hy vọng rằng nó sẽ giúp.
musbach

3

Cách dễ nhất cho bạn là chỉnh sửa bố cục dvorak hiện có.

có một số phiên bản bố trí dvorak có sẵn trong X11:

  • Tiếng Anh (Dvorak)
  • Tiếng Anh (Dvorak, quốc tế với các phím chết)
  • Tiếng Anh (Dvorak thay thế quốc tế không có chìa khóa chết) vv

Tìm kiếm chúng trong tệp / usr / share / X11 / xkb /bols / us hoặc / usr / share / X11 / xkb /bols / gb.

Ý tưởng là chọn một thứ bạn không sử dụng - chọn một thứ tiện lợi nhất trong danh sách, gần nhất với Dvorak bạn đang sử dụng - và thay thế các ký tự tiếng Anh trong tệp đó bằng các ký tự bengali bạn muốn gán chìa khóa để. (đừng quên lưu một bản sao của tệp bạn đang chỉnh sửa)

Nó sẽ giống như thế này

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)"

Để sử dụng ví dụ bạn đã đưa ra, trên dòng: key <AC03>thay thế ebằng U2496, đó là mã UTF tương ứng . Trong tệp / usr / share / X11 / xkb / biểu tượng / bd họ sử dụng mã hóa như mật 0x10009EA, nhưng tôi nghĩ bạn có thể sử dụng mã UTF bạn có thể tìm thấy trên trang này.

Khi bạn đã hoàn tất, bạn có thể lưu trực tiếp trong / usr / share / X11 / xkb /bols / us hoặc / usr / share / X11 / xkb /bols / gb mà bạn đang chỉnh sửa (nó hoạt động tốt, nó chỉ có nghĩa là bạn có bố cục bengali bên trong tệp bố cục tiếng Anh) hoặc bạn chỉ có thể sao chép kết quả vào tệp / usr / share / X11 / xkb /bols / bd và thay thế bố cục mặc định bằng bố cục bạn vừa tạo. chỉ cần cẩn thận và để lại tất cả các mã này như sau:

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

Sau đó, tất cả những gì bạn cần làm là xóa tất cả các tệp .xkm khỏi "/ var / lib / xkb" và bạn đã hoàn tất, bố cục bạn vừa chỉnh sửa đã sẵn sàng để sử dụng.

Khi tôi tạo bố cục của riêng mình bằng hướng dẫn này (sử dụng bố cục tiếng Pháp bépo làm cơ sở cho bố cục tiếng Nga tương ứng với bépo tôi đã sử dụng), tôi không thể tìm thấy cách tạo bố cục mới, vì vậy đó là cách tôi đã sử dụng để làm cho nó xảy ra.

Để minh họa rõ hơn cho lời giải thích này, đây là những gì tập tin / usr / share / X11 / xkb /bols / fr của tôi trông như thế nào. đầu tiên bạn có bố cục bépo mặc định, và sau đó bạn có bố cục bépo / nga của tôi. Lưu ý rằng chỉ có hàng thứ hai, thứ ba và thứ tư được chỉnh sửa. mã include "fr(bepo)"đảm nhiệm việc đó, sao cho hàng đầu tiên của bố cục này là hàng đầu tiên của bố cục bépo mặc định.

// 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 Tôi chưa bao giờ sử dụng ngôn ngữ này nhưng trong cài đặt của bạn, bạn có thể vào bàn phím nhấp vào cài đặt bố cục, trên + nhỏ, sau đó tìm kiếm tiếng Bengal và tôi có thể thấy loại probhat khác nhau, bạn có thể tìm kiếm Dvorak bên trong, nhưng sau đó Một vài thử nghiệm bạn nên tìm thấy những gì bạn muốn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.