Настройка и работа в Linux

         

Переключатель "альтернативной клавиатуры" (Рус/Лат)


Как я уже говорил, при загруженной (или встроенной) русской раскладке клавиатуры клавиша [CapsLock] начинает работать как "переключатель языка" - русский/латинский.

Если вам это не нравится, можно изменить раскладку так, чтобы [CapsLock]

всегда оставалась CapsLock'ом. А "переключатель языка" присвоить какой-нибудь другой клавише или комбинации клавиш.

Первым делом вернем CapsLock на место. Для этого надо в файле раскладки найти строчки, в которых содержится значение alock.

058 alock clock clock clock clock clock clock clock O 084 alock alock alock alock alock alock alock alock O 186 alock clock clock clock clock clock clock clock O 212 alock alock alock alock alock alock alock alock O

Строчки со скан-кодами 84 и 212 нас мало интересуют. (Честно говоря, я не знаю - что это за клавиша.) А вот строчки 58 и 186 - это как раз клавиша [CapsLock] в "нормальной" и "альтернативной" (русской) клавиатурах.

Как видите, без модификаторов (shift, ctrl или alt) она действует как alock (alt group), а с любым из модификаторов - как clock (caps lock).

Просто исправьте alock на clock.

058 clock clock clock clock clock clock clock clock O 186 clock clock clock clock clock clock clock clock O

Теперь надо придумать - чем мы будем переключаться на русскую клавиатуру и обратно.

Если у вас есть незадействованные клавиши, например, "окошки" на "микрософтовской" клавиатуре, то можно занять одну из них. Это достаточно просто и я не буду подробно рассматривать этот случай. Можете посмотреть пример с клавишей Meta - это делается практически так же.

Если же свободных клавиш нет, то можно переключатель alock "подвесить" на какую-нибудь комбинацию клавиш. Например - "два шифта". То есть, каждая кнопка [Shift] должна работать как shift, а если их нажать одновременно, должен получится alock.

Для начала, найдем строчки в которых есть слово shift

042 lshift lshift lshift lshift lshift lshift lshift lshift O 054 rshift rshift rshift rshift rshift rshift rshift rshift O


170 lshift lshift lshift lshift lshift lshift lshift lshift O 182 rshift rshift rshift rshift rshift rshift rshift rshift O

Учтем, что даже при "одновременном" нажатии этих кнопок, все равно одна из них будет нажата чуть-чуть раньше. Поэтому, та кнопка которая будет нажата раньше, переведет клавиатуру в состояние shift, при котором выбирается вторая колонка значений (точнее, все четные), а уже вторая - должна выполнить нужное нам действие.

Если мы хотим, чтобы последовательность нажатия была не важна, нам надо исправить значение и для клавиши lshift во второй колонке (считаем, что правый shift мы нажали чуть раньше) и для клавиши rshift (на тот случай, если первым будет нажат левый shift).

042 lshift alock lshift lshift lshift lshift lshift lshift O 054 rshift alock rshift rshift rshift rshift rshift rshift O

170 lshift alock lshift lshift lshift lshift lshift lshift O 182 rshift alock rshift rshift rshift rshift rshift rshift O

Дело сделано.


Содержание раздела