Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Linux для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 68

Автор Π’ΠΈΠΊΡ‚ΠΎΡ€ ΠšΠΎΡΡ‚Ρ€ΠΎΠΌΠΈΠ½

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π΅ΠΆΠΈΠΌ прСобразования Π² 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 происходит автоматичСски, Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.