Linux Pengaturan keyboard

Mengapa saya perlu menyesuaikan keyboard?


Anda dapat menggunakan pengaturan standar, tetapi kadang-kadang perubahan memungkinkan untuk mengetik lebih cepat (ini, tentu saja, bukan cetak buta, tapi tetap saja), membuat lebih sedikit kesalahan, mengganti tata letak lebih sedikit ...


Mengapa saya ingin mengganti keyboard saya?


Pertama, ketika saya mulai menggunakannya vimsebagai editor utama, saya menyadari bahwa saya tidak ingin menjangkau setiap kali ESC. Selain itu, saya menulis terutama dengan python, jadi saya ;menekan lebih jarang :, dan vimperbedaannya menjadi lebih jelas.


Kedua, setelah beberapa saat saya mulai menggunakan kombinasi Vimov untuk bernavigasi di browser, kemudian window manager ubin i3, di mana mereka juga digunakan, dan saya ingin beralih ke mana-mana (bukan panah biasa, misalnya, di file manager).


Ketiga, ketika saya mulai menulis catatan pada TeXdi vim, saya menyadari bahwa saya benar-benar bisa mempermudah dan mempercepat proses ini; jika tata letak bahasa Inggris dan Rusia lebih mirip satu sama lain, maka saya dapat memasukkan karakter yang sama (misalnya, titik, koma, tanda kutip, dolar) dengan cara yang sama. Plus, Anda sering harus mengubah bahasa, jadi Anda harus melakukan ini dengan cepat, andal, dan mudah.


Pengaturan Sakelar Tata Letak


Baiklah, mari kita mulai. Pertama, mari kita cari tahu bagaimana Anda dapat mengkonfigurasi perubahan tata letak keyboard.


  • Cara pertama. Anda dapat menggunakan beberapa program, misalnya gnome-tweaks: di
    sini kita dapat memilih salah satu opsi yang ditawarkan oleh pengembang.
    Contoh `gnome-tweaks` untuk Ubuntu
    Yang utama adalah kita tidak bisa membuat versi kita sendiri. Mari kita belajar untuk melakukannya juga.


  • .
    , , .
    Alt ( AltGr):


    $ setxkbmap -layout us,ru -option grp:toggle

    , , ? /usr/share/X11/xkb/symbols/. /usr/share/X11/xkb/symbols/group. :


    partial modifier_keys
    xkb_symbols "toggle" {
    virtual_modifiers AltGr;
    key <RALT> {
        symbols[Group1] = [ ISO_Next_Group ],
        virtualMods = AltGr
    };
    };

    , , , , , .




AltGr : AltGr , Shift+AltGr — .


- , :


$ setxkbmap -layout us,ru -print

- (pc105 ):


xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+us+ru:2+inet(evdev)"  };
    xkb_geometry  { include "pc(pc105)" };
};

~/.config/xkb/config.


/usr/share/X11/xkb/symbols/group CapsLock, , us ISO_First_Group, ruISO_Second_Group.



key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] }; 

, <CAPS> ISO_First_Group, ShiftISO_Last_Group.


xkb_symbols:


xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_geometry  { include "pc(pc105)" };

    xkb_symbols "my"  { 
    include "pc+us+ru:2+inet(evdev)"  

    key <RALT> { [ ISO_First_Group, ISO_Last_Group ] }; 
    };
};

, . :


$ xkbcomp $HOME/.config/xkb/config $DISPLAY

.



, , (, TeX), , , , , , . , .


— .




. , . /usr/share/X11/xkb/symbols/. us :


key <AC10> { [ semicolon, colon ] };      

.


ESC CapsLock


ESC CapsLock. capslock :


hidden partial modifier_keys
xkb_symbols "swapescape" {
    key <CAPS> { [ Escape ] };
    key <ESC>  { [ Caps_Lock ] };
};
hidden partial modifier_keys
xkb_symbols "escape" {
    key <CAPS> { [ Escape ] };
};

partical — , .
include "swapescape", .


Alt Win


, , Alt Win, i3wm, Win, , Alt (, ...).



? , - - , , .


: level3, level5. Shift.


, CapsLock h, j, k, l . .


( ESC, : ):


key <CAPS> { [ ISO_Level3_Shift ] };

, :


name[group1] = "English (US)";
name[group2] = "Russian";


key <CAPS> {
    symbols[group1] = [ ISO_Level3_Shift ],
    symbols[group2] = [ Caps_Lock ]
}

h, j, k, l. — , . <AC06>,… <AC09>. . :


key <AC06> { [ h, H, KP_Left  ] };
key <AC07> { [ j, J, KP_Down  ] };
key <AC08> { [ k, K, KP_Up    ] };
key <AC09> { [ l, L, KP_Right ] };

, — , — .



.
, CapsLockESC.


xcape, , , . : , .


, , CapsLock ESC, .



$ xcape -t <  > -e " = "

500 . :


$ xcape -t 500 -e "ISO_Level3_Shift=Escape"


TeX, , . . , , , , , ...


:


  1. .
    :



    ( /, , , ):


    key <AD03> {                                            
    type = "ALPHABETIC",
    type[group2] = "FOUR_LEVEL",
    symbols[group2] = [Cyrillic_u, Cyrillic_U, Cyrillic_yu, Cyrillic_YU]
    };

    , .
    , ( ), , . .


  2. : , , .
    , (, - , , ).
    :


    key <AD11> {
    type[group2]="FOUR_LEVEL",
    symbols[group2]=[Cyrillic_ha, Cyrillic_HA, bracketleft, braceleft]
    };
    key <AD12> {
    type[group2]="FOUR_LEVEL",
    symbols[group2]=[Cyrillic_hardsign, Cyrillic_HARDSIGN, bracketright, braceright]
    };
    key <AC10> {
    type[group2]="FOUR_LEVEL",
    symbols[group2]=[Cyrillic_zhe, Cyrillic_ZHE, colon, semicolon]
    };
    key <AC11> {
    type[group2]="FOUR_LEVEL",
    symbols[group2]=[Cyrillic_e, Cyrillic_E, apostrophe, quotedbl]
    };
    key <AB08> {
    type[group2]="FOUR_LEVEL",
    symbols[group2]=[Cyrillic_be, Cyrillic_BE, comma, less]
    };
    key <AB09> {
    type[group2]="FOUR_LEVEL",
    symbols[group2]=[Cyrillic_yu, Cyrillic_YU, period, greater]
    };

    , .


    key <AB10> {
    symbols[group2]=[slash, question]
    };

    , , , .


    key <AE03> { [ 3, numbersign, number, apostrophe ] };
    key <AE04> { [ 4, dollar ] };
    key <AE06> { [ 6, asciicircum ] };
    key <AE07> { [ 7, ampersand ] };

    , .




Demikian pula, Anda dapat menambahkan lapisan kelima, meskipun sejauh ini saya pribadi tidak merasa perlu - lapisan ketiga sudah cukup.


Versi BackSpace yang menarik pada akhirnya


Dan mungkin cukup untuk menjangkau jauh, jauh ke pojok keyboard?
Taruh BackSpacedi $mod3+Space( $mod3pengubah tingkat ketiga kami)!


key <SPCE> { [ space, space, BackSpace, BackSpace ] };

PS


Semua pengaturan, pada prinsipnya, berlaku untuk setiap distribusi Linux menggunakan X.


Konfigurasi penuh dapat ditemukan di GitHub .


Posting ini telah menjadi titik awal bagi saya untuk memahami bagaimana keyboard dapat dan harus dikonfigurasi.

Source: https://habr.com/ru/post/undefined/


All Articles