ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² ASCII-ΠΊΠΎΠ΄Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈ Π² ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, ΡΠ°Π±Π»ΠΈΡΠ° ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΎΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°Ρ Π½Π΅ ΡΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ ΡΠ° ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π΅Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ.
9.3.4. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°
Π Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ Red Hat Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°Π±Π»ΠΈΡΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΠ½ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ /etc/rc.d/rc.sysinit. ΠΠΎ Π»Π΅Π·ΡΡ Π² ΡΡΠΎΡ ΡΠ°ΠΉΠ» ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /lib/kbd/keymaps/i386/qwerty ΠΈΠ»ΠΈ /usr/lib/kbd/keymaps/i386/qwerty, Π° Π²ΡΠ±ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ Π·Π°Π΄Π°Π΅ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠΌ /etc/sysconfig/keyboard. ΠΡΠΎΡ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡΡΠ½ΡΡ, Π° ΠΌΠΎΠΆΠ½ΠΎ - Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ kbdconfig.
ΠΠΎΠΌΠ°Π½Π΄Π° kbdconfig ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΉΠ» /etc/sysconfig/keyboard ΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ. Π’ΠΎΠ³ΠΎ ΠΆΠ΅ ΡΡΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΠΈΠΌΡ Π½ΠΎΠ²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π² ΡΠ°ΠΉΠ» /etc/sysconfig/keyboard ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
[root]# /etc/rc.d/init.d/keytable start
ΠΠ±Π° ΡΡΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π½ΠΎΠ²ΡΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΡ "Π½Π° Ρ ΠΎΠ΄Ρ".
ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° /etc/sysconfig/keyboard, ΡΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°Π±Π»ΠΈΡΡ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠ° ΠΈΠ· ΡΠ°ΠΉΠ»Π° ru-win.map):
[root]# loadkeys /usr/lib/kbd/keymaps/i386/qwerty/ru-win.map
ΠΠΏΡΠΎΡΠ΅ΠΌ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ "Π½Π° Ρ ΠΎΠ΄Ρ" Π²ΡΡΠ΄ Π»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π΅Π»Π°ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΏΡΠΈΠ²ΡΠΊΠ°Π΅Ρ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠ΅, ΠΈ ΠΏΠ°Π»ΡΡΡ ΡΠ°ΠΌΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ, ΡΠ°ΠΊ ΡΡΠΎ Π²ΡΡΠΊΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ»ΠΎΠΆΠ½ΠΈΡ ΡΠ°Π±ΠΎΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ, Π²ΡΠ±ΡΠ°ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΡ (ΡΡΠΈΡΠ°ΠΉ, ΠΏΡΠΈΠ²ΡΡΠ½ΡΡ) ΠΈ Π½Π° ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ.
ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Linux (ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ Black Cat) ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠ° ru1 (ΡΠΎΡΠΊΠ° Π½Π° βΉShiftβΊ+βΉ7βΊ, Π·Π°ΠΏΡΡΠ°Ρ Π½Π° βΉShiftβΊ+βΉ6βΊ). ΠΠ»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΠΏΡΠΈΠ²ΡΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Windows, ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΉ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠ° ΠΊΠ°ΠΊ Π² Windows (Π² ΡΡΡΡΠΊΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅ ΡΠΎΡΠΊΠ° ΠΈ Π·Π°ΠΏΡΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΡΡΠ΄ΠΎΠΌ Ρ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ βΉShiftβΊ). ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠ° ru_ms. ΠΡΠ»ΠΈ Π²Π°Ρ Π½Π΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΡΡΠΈ Π²Π°ΡΠΈΠ°Π½ΡΡ, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Π»ΡΠ±ΡΡ ΠΈΠ· ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π»ΠΈΠ±ΠΎ Π½Π°ΠΉΡΠΈ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Ρ Π½Π°ΡΠ»ΠΈ ΠΈ ΡΠΊΠ°ΡΠ°Π»ΠΈ ΡΠ°ΠΉΠ» ru_win_ctrl.map.gz ΠΎΡ IP Labs (http://www.iplabs.ru/Linux/ru_win_ctrl.map.gz). ΠΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π² /usr/lib/kbd/keytables/i386/qwerty/, Π·Π°ΠΏΡΡΡΠΈΡΡ kbdconfig ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ru_win_ctrl.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½ΠΎΠ²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠ°Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ»Π°Π²ΠΈΡΠ° ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ· ΡΠ΅ΠΆΠΈΠΌΠ° Π²Π²ΠΎΠ΄Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠ΅ΠΆΠΈΠΌ Π²Π²ΠΎΠ΄Π° ΡΡΡΡΠΊΠΈΡ . ΠΠ°Π΄Π°ΡΡ ΡΡΡ Π½Π΅ Π½Π°Π΄ΠΎ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°ΠΉΠ» ΡΠ°Π±Π»ΠΈΡΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ. ΠΠ±ΡΡΠ½ΠΎ Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ ΡΠ°ΠΉΠ»Π° ΡΡΠ° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ, ΠΏΡΠ°Π²Π΄Π°, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΌ. (ΠΡΠ»ΠΈ Π²Ρ Π·Π°Π±ΡΠ»ΠΈ, ΠΊΠ°ΠΊΠ°Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π±Π»ΠΈΡΠ° Π·Π°Π³ΡΡΠΆΠ΅Π½Π°, ΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ» /etc/sysconfig/keyboard).
9.3.5. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ
ΠΡΠ»ΠΈ Π²Π°Ρ Π½Π΅ ΡΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ Π½ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ΅Ρ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΎΠΊ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /usr/lib/kbd/keytables/i386/qwerty/, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΏΡΠ°Π²ΠΈΡΡ ΡΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±Π»ΠΈΠΆΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΠΈΠ΄Π΅Π°Π»Ρ. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ, Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΠ±ΠΎΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΡΠΊΠΎΠΉ ΠΈ Π»Π°ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ (ΡΡΠΎΡ ΡΠΎΠ²Π΅Ρ ΠΏΠΎΠ·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ Ρ Π ΠΎΠΌΠ°Π½Π° ΠΠΈΠ½Π°ΠΊΠΎΠ²Π°, [email protected]).
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΡΠΊΠΎΠΉ ΠΈ Π»Π°ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠ°Π²Π°Ρ ΠΊΠ»Π°Π²ΠΈΡΠ° βΉCtrlβΊ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π½Π° Π»ΡΠ±ΠΎΠΉ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ IBM-ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅ Π΅ΡΡΡ ΡΡΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π² Linux Π½Π΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ. ΠΠΎΡ ΠΎΠ΄Π½Ρ ΠΈΠ· Π½ΠΈΡ ΠΈ ΠΏΡΠΈΡΠΏΠΎΡΠΎΠ±ΠΈΠΌ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π°Π»ΡΠ°Π²ΠΈΡΠΎΠ². ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°Π΄ΠΎ ΡΠ·Π½Π°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ Ρ Π½ΠΈΡ ΠΊΠΎΠ΄. ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ showkey Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ -keycodes (Π·Π°ΠΏΡΡΠΊ showkey, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΉΡΠΈ ΠΈΠ· mc) ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ (ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ) Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΡΡΠΈ ΡΡΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΠΈΡ ΠΊΠΎΠ΄Ρ:
[root]# showkey -keycodes
kb mode was XLATE
press any key (program terminates after 10s of last keypress)β¦
keycode 125 press
keycode 125 release
keycode 126 press
keycode 126 release
keycode 127 press
keycode 127 release
Π§ΠΈΡΠ»Π° 125, 126, 127 ΠΈ Π΅ΡΡΡ ΠΊΠΎΠ΄Ρ ΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ. ΠΠ°Π»Π΅Π΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /usr/lib/kbd/keytables/i386/qwerty, Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ (ΡΡΠΎ-ΡΠΎ ΡΠΈΠΏΠ° ru1.map, Π΅ΡΠ»ΠΈ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /usr/lib/kbd/keytables/i386/qwerty Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ru1.map.gz, ΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·Π°ΡΡ ΠΈΠ²Π°ΡΠΈΡ: gunzip ru1.map.gz).
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ Ρ ΡΡΡΡΠΊΠΎΠ³ΠΎ Π½Π° Π»Π°ΡΠΈΠ½ΡΠΊΠΈΠΉ (ΠΏΠΎΠΊΠ° ΠΊΠ»Π°Π²ΠΈΡΠ° ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ), Π½Π°Π΄ΠΎ ΠΏΡΠΈΠ΄Π°ΡΡ Π΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ AltGr, Π° ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΉ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ - AltGr_Lock. ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π²Π½ΡΡΡΠΈ ru1.map:
keycode 125 =
keycode 126 =
keycode 127 =
ΠΈ ΠΌΠ΅Π½ΡΠ΅ΠΌ Π½Π°:
keycode 125 =
keycode 126 = AltGr
keycode 127 = AltGr_Lock
ΠΠ°Π»Π΅Π΅ Π½Π°Π΄ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅Ρ ΠΊΠ»Π°Π²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΠ° βΉCtrlβΊ (ΠΊΠΎΠ΄ ΠΊΠ»Π°Π²ΠΈΡΠΈ 97), Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΡΡΡΠΎΠΊΡ
keycode 97 =
ΠΈ Π²ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ:
keycode 97 = Control
Π ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ: ΠΊΠ»Π°Π²ΠΈΡΠ°, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π²ΠΎΠ·Π»Π΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ βΉCtrlβΊ, - ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ "ΡΡΡ/Π»Π°Ρ", Π° ΡΠ° ΡΡΠΎ ΡΡΠ΄ΠΎΠΌ Ρ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠ΅ΠΉ βΉAltβΊ - Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ "ΡΡΡ/Π»Π°Ρ" (Ρ. Π΅. Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΠΊΠ° ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² Π½Π°ΠΆΠ°ΡΠΎΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΠΊΠ»Π°Π²ΠΈΡΠ°).
ΠΠΎΡΠ»Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» ΠΏΠΎΠ΄ Π½ΠΎΠ²ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, mymap.kmap) ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΡΠΎ ΠΈΠΌΡ Π² /etc/sysconfig/keyboard.
9.3.6. Π Π°Π±ΠΎΡΠ° Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅
Π Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠΌ (Π½ΠΎ, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΄Π½ΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ) ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅ ΠΠ²Π°Π½Π° ΠΠ°ΡΠΊΠ°Π»Ρ "X Keyboard Extension" [Π11.6]. ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΎΡΠ΅Π½Ρ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΠΏΠ΅ΠΊΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°.
ΠΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ X Window ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΈΡΡΡΠ΅ ΡΠΊΠ°Π½-ΠΊΠΎΠ΄Ρ. ΠΠ»Π°Π²ΠΈΠ°ΡΡΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ X-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π½Π°ΠΆΠ°ΡΠΈΠΈ (ΠΈ ΠΎΡΠΏΡΡΠΊΠ°Π½ΠΈΠΈ) ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. Π ΡΡΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π½-ΠΊΠΎΠ΄ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ "ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ" - Π½Π°Π±ΠΎΡ Π±ΠΈΡΠΎΠ²ΡΡ "ΡΠ»Π°Π³ΠΎΠ²", ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡ-ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² (βΉShiftβΊ, βΉControlβΊ, βΉAltβΊ, βΉCapsLockβΊ ΠΈ Ρ.ΠΏ.). "ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ" ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°ΠΌΠ° ΡΠ΅ΡΠΈΡΡ - ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»Π°, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΊΠ°Π½-ΠΊΠΎΠ΄Ρ, Π½Π°Π΄ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Π±ΠΈΡΠΎΠ²-ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ². Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΠΏΠΈΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΊΠ°Π½-ΠΊΠΎΠ΄ΠΎΠ². ΠΠ»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ X-lib. ΠΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈΠ· X-lib, Π·Π½Π°Ρ ΡΠΊΠ°Π½-ΠΊΠΎΠ΄ ΠΈ "ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ", Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² X-ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ "Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ" Ρ X-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ° ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ xmodmap. ΠΠ΅ΠΉΡΡΠ²ΡΡΡΠ°Ρ ΡΠ°Π±Π»ΠΈΡΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ xmodmap -pk.
9.3.7. ΠΠΎΠ΄ΡΠ»Ρ XKB
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Linux ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ - XKB. ΠΠΎΠ΄ΡΠ»Ρ XKB ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π½-ΠΊΠΎΠ΄ ΠΈ ΡΠ²ΠΎΠ΅ "ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅". ΠΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ "ΡΡΠ°ΡΠΎΠ³ΠΎ" ΠΌΠΎΠ΄ΡΠ»Ρ (ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°ΡΡ "core protocol", ΠΈΠ»ΠΈ "core-ΠΌΠΎΠ΄ΡΠ»Ρ") XKB ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π΄ΡΡΠ³ΠΎΠΉ Π½Π°Π±ΠΎΡ "ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ²" ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ "ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ". ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ XKB, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° X-lib Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΊΠ°Π½-ΠΊΠΎΠ΄ΠΎΠ² (ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, "Π·Π½Π°ΡΡΠΈΠ΅" ΠΎ XKB). ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ X-Window, Ρ ΠΊΠΎΡΠΎΡΡΡ X-ΡΠ΅ΡΠ²Π΅Ρ "ΡΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠΎΠ²Π°Π½" ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ XKB, ΠΈΠΌΠ΅ΡΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ X-lib. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, XKB ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π΅Π»ΠΈΡΡΡ Π½Π° Π΄Π²Π΅ ΡΠ°ΡΡΠΈ - ΠΌΠΎΠ΄ΡΠ»Ρ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² X-ΡΠ΅ΡΠ²Π΅Ρ, ΠΈ Π½Π°Π±ΠΎΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ X-lib.
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ°ΡΡΡΠΈΡΠ°Π½Ρ Π½Π° ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΠ°ΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ X-lib, "Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°ΡΡΠ΅ΠΉ" ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ XKB, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ "ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ". Π’ΠΎ Π΅ΡΡΡ, ΠΌΠΎΠ΄ΡΠ»Ρ XKB Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠΎ "ΡΠ²ΠΎΠ΅ΠΉ" X-lib, ΡΠ°ΠΊ ΠΈ ΡΠΎ "ΡΡΠ°ΡΠΎΠΉ" (ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΉ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ "core protocol"). ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, "ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅" Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎ Π½Π°ΠΆΠ°ΡΠΈΠΈ/ΠΎΡΠΏΡΡΠΊΠ°Π½ΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡ. ΠΡΠΎΡΠ΅Π΄ΡΡΡ X-lib ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ X-ΡΠ΅ΡΠ²Π΅ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ - Π²Π·ΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²) ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π² ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²). ΠΠ° Π²ΡΠ΅ ΡΡΠΈ Π·Π°ΠΏΡΠΎΡΡ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠ΄ΡΠ»Ρ XKB Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π΄Π°ΠΆΠ΅ "ΡΡΠ°ΡΠ°Ρ" X-lib ΠΌΠΎΠ³Π»Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ (Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ).
ΠΡΠΈ ΡΡΠ°ΡΡΠ΅ X-ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΌΠΎΠ΄ΡΠ»Ρ XKB Π·Π°ΡΠΈΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ°Π·ΡΡΡ "Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ " Π½Π°ΡΡΡΠΎΠ΅ΠΊ XKB. Π‘ΡΡΠΎΠ³ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ°ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ XKB Π½Π΅ ΡΠΈΡΠ°Π΅Ρ. ΠΠ½ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ xkbcomp, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ, ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ XKB. ΠΠΎ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ ΡΠΆ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ·ΠΎΠ² xkbcomp ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.