Как переназначить переключение раскладки клавы

Обсуждается все что связано с Юниксоподобными системами - от дистрибутивов до разбора ядра и конфигурации сервера.

Сообщение Ciber SLasH » Сб июл 17, 2004 6:55 pm

Блин не получается назначить Ctrl+Shift на переключение раскладок. Изображение
Делал вот так:

заменяю секцию для клавы в файле /etc/X11/XF86Config-4 на вот эту:
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
Section "InputDevice"
    Identifier "Keyboard1"
    Driver "Keyboard"
    Option "XkbModel" "pc104"
    Option "XkbLayout" "us,ru(winkeys)"
    Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"
EndSection
<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
но нифига это не работает, раскладка как не менялась по Ctrl+Shift, так и не меняется. Изображение

Система: Linux Mandrake 10.0
Последний раз редактировалось Ciber SLasH Сб июл 17, 2004 7:14 pm, всего редактировалось 1 раз.
Ciber SLasH
Майор
 
Сообщений: 314
Зарегистрирован: Пн ноя 24, 2003 11:28 am
Откуда: Питер
Пункты репутации: 0

Сообщение panda » Вс июл 18, 2004 12:39 am

есть же стандартная тулза...
<div align="center">Панды занесены в Книгу рекордов Гиннеса как самые привлекательные из редких животных</div>
panda
Генерал-майор
 
Сообщений: 2459
Зарегистрирован: Вс авг 10, 2003 7:35 pm
Откуда: Владивосток
Пункты репутации: 0

Сообщение Ciber SLasH » Вс июл 18, 2004 2:28 am

<!--QuoteBegin-J0hn+Jul 18 2004, 04:39--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата (J0hn @ Jul 18 2004, 04:39)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> есть же стандартная тулза... <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
Стандартная тулза у меня тоже не работает. Изображение
Ciber SLasH
Майор
 
Сообщений: 314
Зарегистрирован: Пн ноя 24, 2003 11:28 am
Откуда: Питер
Пункты репутации: 0

Сообщение MAPA3bM » Вс июл 18, 2004 4:43 am

Стандартная тулза - та ещё жопа. Есть подозрение, что во многих дистрибутах (в частности, в редхатах ) без приложения напильника она не работает.
А я сделал так:
в X86Config:
Option "XkbKeymap" "xfree86(ru)"

в /usr/X11R6/lib/X11/xkb/keymap/xfree86:
xkb_keymap "ru" {
xkb_keycodes { include "xfree86" };
xkb_types { include "default" };
xkb_compatibility { include "default+leds(scroll)"}; # юзаем Scroll Lock как индикакер раскладок
xkb_symbols { include "en_US(pc105)+ru(winkeys)+inet(mitsumi)+group(alt_shift_toggle)" };
# юзаем win-клавиши, дополнительные инет-клавиши и <alt><shift> как переключатель
xkb_geometry { include "pc(pc102)" };

};

inet(mitsumi) - это дополнительная конфига, чтоб инет-клавиши работали. Делается таким образом: переключаешься в текстовый(именно текстовый!) режим, жмёшь первую клавишу, смотришь /var/log/messages - там появится строка "Unknown scancode ## " - это и есть код клавиши. Первый байт (0Е) отбрасываешь, второй записываешь. Выяснив коды всех клавиш, лезешь в файл /usr/X11R6/lib/X11/xkb/symbols/inet , берёшь там любую существующую конфигурацию и правишь под свои сканы - думаю, значения параметров типа XF86AudioPlay затруднений в понимании не вызовут. А еси посмотреть получше - возможно, что твоя клава там уже есть.
Единственный недостаток данной схемы - это то, что устанавливаемая раскладка глобальна по умолчанию, т.е. не зависит от переключения между окнами. Сколько я уже добрых слов сказал в адрес этой хрени - не сосчитать Изображение но в текущем дистрибуте это не победить..

По желанию - можно не юзать keymap, а соответствующие строки воткнуть напрямую в X86Config. Я так делал, но на другой машине - здесь примера нет.
MAPA3bM
Полковник
 
Сообщений: 1270
Зарегистрирован: Вт дек 31, 2002 12:54 am
Откуда: Приморье
Пункты репутации: 0

Сообщение Ciber SLasH » Пн июл 19, 2004 8:11 pm

Всё сделал как ты написал, но результата никакого (я только параметр "inet(mitsimi)" не юзал). :(

Посмотрел я лог /var/log/XFree86.9.log и нашёл вот такие строки:
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
(++) Using config file: "/etc/X11/XF86Config.test"
(==) ServerLayout "layout1"
(**) |-->Screen "screen1" (0)
(**) |  |-->Monitor "monitor1"
(**) |  |-->Device "device1"
(**) |-->Input Device "Keyboard1"
(**) Option "XkbModel" "pc105"
(**) XKB: model: "pc105"
(**) Option "XkbLayout" "us_intl"
(**) XKB: layout: "us_intl"
(WW) Option "XkbOptions" requires an string value
(==) Keyboard: CustomKeycode disabled
<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
1) не понятный файл какой-то в 1-ой строке (его нет)
2) в предпоследней строке какое-то предупреждение, типа нужен строковый параметр

Блин запарился я с этой проблемой... :(:(:(
Ciber SLasH
Майор
 
Сообщений: 314
Зарегистрирован: Пн ноя 24, 2003 11:28 am
Откуда: Питер
Пункты репутации: 0


Вернуться в Unix/Linux/*nix

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

cron