Как я уже говорил, при загруженной (или встроенной) русской раскладке клавиатуры клавиша [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
Дело сделано.
Модификатор meta в раскладке клавиатуры отсутствует. Если вам кажется, что он будет вам очень полезен, надо найти подходящую клавишу и присвоить ей значение meta.
Если у вас "микрософтовская" клавиатура, то под met'у можно задействовать одну из кнопок с "окошками", напрмер - левую. Если вы не знаете ее скан-код (вообще-то, это 105), можно найти ее по значению - "по умолчанию" она имеет значение fkey62
105 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 OПросто замените значения во всех колонках на meta
105 meta meta meta meta meta meta meta meta OЕсли у вас русская раскладка клавиатуры, то не забудьте ту же операцию проделать для той же кнопки в "альтернативной" части раскладки
233 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 OЕсли же "микрософтовских" кнопок у вас нет, то можно под met'у выделить одну из "парных" кнопок ([Shift], [Ctrl] или [Alt]). Поскольку, для syscons нет разницы - какую из них вы нажмете для получения нужного эффекта, можно, напрмер, в качестве alt оставить только левую кнопку (та строчка, где значения - lalt), а правую кнопку (значения - ralt) изменить на meta.
083 del '.' '.' '.' 174 174 boot boot N 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O 211 del '.' '.' '.' 174 174 boot boot N 231 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O
Просто замените слово boot на что-нибудь другое - nop ("пустая" клавиша) или bel ("писк").
Кстати, если вы боитесь, что враги могут восстановить эту клавишу и все-таки "отправить в перезагрузку" вашу машину, в последних версиях syscons появилось более радикальное средство.
Надо пересобрать ядро с "option SC_DISABLE_REBOOT", и куда бы вы (или злоумышленники) ни назначили значение boot, оно просто не окажет никакого действия на машину.
Иван Паскаль pascal@tsu.ru