netch: (Default)
[personal profile] netch
Caps - лат<->рус, Ctrl+Caps - укр->рус<->укр.
Не по Паскалю.


# cat types/nx_types 
partial default xkb_types "nx_types" {
  include "complete"
  type "CAPS" {
    modifiers = Shift+Control;
    map[Shift] = Level2;
    map[Control] = Level3;
    level_name[Level1] = "Base";
    level_name[Level2] = "Shift";
    level_name[Level3] = "Control";
  };
};



# cat symbols/nx_group 
partial modifier_keys
xkb_symbols "nx_caps_toggle" {
  key   <CAPS> {
    type = "CAPS",
    actions[Group1] = [ LockGroup(group=2), LockMods(mods=Lock), LockGroup(group=3) ],
    actions[Group2] = [ LockGroup(group=1), LockMods(mods=Lock), LockGroup(group=3) ],
    actions[Group3] = [ LockGroup(group=1), LockMods(mods=Lock), LockGroup(group=2) ]
  };
};


В конфиге иксов писать:


  XkbKeycodes "xfree86+aliases(qwerty)"
  XkbTypes "nx_types"
  XkbCompat "complete+leds(scroll)"
## для xorg 6.9.0 надо писать: complete+ledscroll(group_lock). -- 2006-07-12
  XkbSymbols "pc/pc(pc105)+pc/us+pc/ru:2+pc/ua:3+nx_group(nx_caps_toggle)"
## для xorg 7.2 надо писать: pc+us+ru:2+ua:3+nx_group(nx_caps_toggle). -- 2007-08-10
  XkbGeometry "pc(pc105)"


Или подключать на ходу:
/usr/local/bin/xkbcomp ~/lib/xkbmap1 "$DISPLAY"

$ less lib/xkbmap1
xkb_keymap {
        xkb_keycodes  { include "xfree86+aliases(qwerty)"       };
        xkb_types     { include "nx_types"      };
        xkb_compat    { include "complete+ledscroll(group_lock)" };
        xkb_symbols   { include "pc+us+ru:2+ua:3+nx_group(nx_caps_toggle)" };
        xkb_geometry  { include "pc(pc105)"     };
};


У xxkb не забыть выключить two_state.

P.S. А всё-таки путаница этот ваш XKB.

P.P.S. До досовского драйвера не дотянул - там запоминалось, какая из местных групп была выбрана перед латинской, и восстанавливалась она же; у меня всегда переходит на русскую. Но сначала мне было облом думать это, а потом я чуть переделал схему и решил, что мне это не нужно.

UPD: P.S.[3]: странно себя ведут приложения если на эту раскладку переключено на ходу: SIGSEGV, однако.

UPD[2006-07-12]: см. выше про 6.9.0

UPD[2007-08-10]: для Xorg 7.2 на фряхе путь - /usr/local/share/X11/xkb

UPD[2012-09-13]: OpenSuSE: /var/lib/xkb/compiled удалять - залипает скомпилированная версия
From: [identity profile] erra.livejournal.com
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc104"
Option "XkbLayout" "us,ru,uk"
Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"
EndSection

Левый CS крутит цикл в одну сторону, правый - в другую

Date: 2006-03-19 10:58 pm (UTC)
From: [identity profile] neveripe.livejournal.com
А без xxkb?

Date: 2006-03-19 11:03 pm (UTC)
From: [identity profile] ysae.livejournal.com
А как с набором слов в верхнем регистре?
"Десятипальцыевый" набор используется?

Date: 2006-03-19 11:04 pm (UTC)
From: [identity profile] neveripe.livejournal.com
Дык, xkb сам по себе делает раздельные состояния.
Насчёт индикатора - по лампочкам всегда видно.

Date: 2006-03-19 11:05 pm (UTC)
From: [identity profile] neveripe.livejournal.com
Вообще-то набор слов в верхнем регистре - Shift+CapsLock.

Date: 2006-03-19 11:07 pm (UTC)
From: [identity profile] neveripe.livejournal.com
Caps - русский - Scroll - украинский. Немного только переделать твоё.

Date: 2006-03-19 11:16 pm (UTC)
From: [identity profile] ysae.livejournal.com
да, без раздельного состояния от xxkb давно не представляю себе, как работать.
только почему-то mplayer имеет свойство менять свое состояние в зависимости от состояния последнего окна, на котором побывал "фокус". хотя, не сильно-то и анноит.

Date: 2006-03-19 11:29 pm (UTC)
From: [identity profile] neveripe.livejournal.com
xkb раздельно сам по себе для каждого окна делает.

Date: 2006-03-19 11:32 pm (UTC)
From: [identity profile] neveripe.livejournal.com
АХЗ, я как-то не заметил :)
Возможно с собственно x.org, хотя не уверен.

Date: 2006-03-19 11:32 pm (UTC)
From: [identity profile] ysae.livejournal.com
это просто термин мне на язык случайно прилип.
печать "слепым методом". все пальцы задействованы.
назначение каждому пальцу строго определенного набора клавиш.

да почти все тренажеры клавиатурные на это положение пальцев упор делают: solo, babytype, gtypist... .

всмысле, используете этот метод, или печатаете как привыкли сами по себе?

Date: 2006-03-20 02:05 am (UTC)
From: [identity profile] dottedmag.livejournal.com
>там запоминалось, какая из местных групп была выбрана перед латинской

Я сделал, но у меня xkb-конфиг переписан полностью. Можно попробовать отодрать.

А слать нужно не Паскалю а в xkb-devel

Date: 2006-03-20 06:35 am (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
А где строки соответствующего конфига?

Date: 2006-03-20 07:24 am (UTC)
From: [identity profile] geovit.livejournal.com
А когда в WindowMaker'е появилась доб. кнопка в заголовке окна, отображающая состояние XKB? По-моему, в версии 0.61, так что, вполне возможно, XKB умел это с самого рождения.

Date: 2006-03-20 07:36 am (UTC)
From: [identity profile] dottedmag.livejournal.com
1) не будет. extension нужно будет редизайнить, а это вам не хрен собачий, ибо compatibility, кля.
2) не понял
3) Ну почему же изврат? Переключалка как переключалка.
From: [identity profile] http://users.livejournal.com/_adept_/
... я это помню очень хорошо.

Появилась она там в районе 0.20, именно из-за того, что xkb этого не умел.

Date: 2006-03-20 08:54 pm (UTC)
From: [identity profile] helge9210.livejournal.com
Я думал, связки страшнее XKB+XXkb+XEmacs не бывает.
From: [identity profile] andy-shev.livejournal.com
У нас недавно на конторе благодаря вопросам пользователей октрыли для себя lwin & rwin. Левую задействуем под крутилку языков с залипанием, а правую - под временную. При этом в KDE нормально работают сочетания с Ctrl + Shift.

Date: 2006-03-30 02:22 am (UTC)
From: [identity profile] ark-devil.livejournal.com
Все равно приходится помнить/узнавать состояние. Stateless переключатели мне милее

Date: 2009-06-26 03:30 pm (UTC)
From: [identity profile] netch80.livejournal.com
Alt 5.0 с иксами 7.4:

xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "nx_types" };
xkb_compat { include "complete+ledscroll(group_lock)" };
xkb_symbols { include "pc+us+ru:2+ua:3+nx_group(nx_caps_toggle)" };
xkb_geometry { include "pc(pc104)" };
};

Profile

netch: (Default)
netch

December 2023

S M T W T F S
     12
3456789
10111213141516
171819 20212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 03:39 pm
Powered by Dreamwidth Studios