[xorg] дворак и хоткеи

dangerr

Постил как-то такой же вопрос про windows, там даже Пенартур посоветовал использовать Linux. :grin:
Так вот. В иксах конечно все намного более радужно и если задать список раскладок так:
setxkbmap "us,us(dvorakru(winkeys)" -option grp:caps_toggle,grp_led:caps
то хоткеи всегда работают, ориентируясь на первую из заданных раскладок (то есть на qwerty). Переключение при этом идет само собой по циклу из 3-х раскладок, что неудобно. Хотелось бы либо вообще исключить из списка раскладку us, либо поставить перелючение на нее на другую клавишу - например scroll (Возможно ли средствами иксов?). При этом хоткеи оставить из qwerty. И при этом желательно qwerty не делать раскладкой по-умолчанию.

Serab

А можно вопрос?
Вот например ты видишь в программе, что хоткей Ctrl+F что-то там делает. И как ты его нажимаешь? Я лично уже не очень хорошо «помню», где там кнопки на QWERTY.
Т.е. тут проблема сводится (лично для меня) только к Ctrl+C, Ctrl+V, которые уж слишком под рукой, чтобы их «забыть».

dangerr

Я бы хотел, чтобы он был по варианту qwerty. Во-первых, я к этому привык, во-вторых тянуться до F в двораке (которая в qwerty Y) несколько дальше и неудобнее.
(на случай если совсем забуду qwerty, буквы на клаве написаны ;) )

Serab

Во-первых, я к этому привык, во-вторых тянуться до F в двораке (которая в qwerty Y) несколько дальше и неудобнее.
F я привел как пример. Вот буква P, скажем, на qwerty довольно далеко от левой руки.
Да, привык, я тоже некоторые хоткеи раньше по привычке нажимал, например ^S, те же ^C, ^V. Теперь уже привык к новым, не путаюсь.
Ладно, я ответа на сабж не знаю, все равно уже даже пароли научился в обе стороны переводить довольно быстро в уме и qwerty-раскладкой не пользуюсь =)

artimon

Кажется в твоём случае проще написать более сложную логику переключения раскладок, которая будет переключать только между второй и третьей.

dangerr

Ну с Р как раз хоткеи редко встречаются. А все потому, что хоткеи ориентируют на самую распространенную раскладку.

dangerr

Ну собственно вопрос, как это сделать? Я даже ключевых слов для гугла толком придумать не могу....

artimon

http://pascal.tsu.ru/other/xkb/example3.html
keywords: xkb xkeyboard
Там надо долго и вдумчиво читать. Логика этого модуля не очень человеческая…

dangerr

Мда, что-то там уныло
А если просто заставить переключаться между us(dvorak) и ru(winkeys) , обходя us, может проще сделать?

juliuzz

а можно вопрос?
нахрена дворак?
неужто ты набираешь столько текстов на английском, что становятся заметными приемущества одной раскладки перед другой?
или просто хочется выебнуться и попенартурить?

dangerr

Да, я набираю много текста на английском. Я часто пользуюсь консолью, а еще я программист (не 1С очевидно)
И Пенартур-то тут причем?

Serab

а можно вопрос?
нахрена дворак?
неужто ты набираешь столько текстов на английском, что становятся заметными приемущества одной раскладки перед другой?
или просто хочется выебнуться и попенартурить?
А можно вопрос? Тебе какое дело? Некоторые вообще с пеной у рта пытаются доказать, что десятью пальцами печатать не нужно учиться, что это понты. Недалекие люди.

juliuzz

А можно вопрос?
а нельзя! :p

dangerr

нахрена дворак?
Вообще вопрос сам по себе некорректен. Есть выбор печатать на qwerty или на dvorak. Дворак более удобен для печати, поэтому выбор, очевидно за ним.
Знание qwerty в мозг заранее не прописано. Поэтому более уместен вопрос: а нахрена qwerty?

Serab

Знание qwerty в мозг заранее не прописано
Конечно прописано, учились же все печатать на клавиатуре на qwerty, даже когда еще десятью пальцами не печатали.

dangerr

Не знаю, я лично так и не изучил слепой метод на qwerty. Только русский йцукенг. Сейчас поэтому решил, что лучше сразу дворака учить.

Serab

Завидую, тебе проще будет =)

hwh2010

можно. Я делал так: во-первых мапил клавиши на "действия":
// using japanese gavno
// to toggle groups.
partial modifier_keys
xkb_symbols "hktg_toggle" {
virtual_modifiers AltGr;
key <NFER> {
virtualMods= AltGr,
symbols[Group1] = [ ISO_First_Group ]
};
key <XFER> {
virtualMods= AltGr,
symbols[Group1] = [ ISO_Last_Group ]
};
key <HKTG> {
virtualMods= AltGr,
symbols[Group1] = [ ISO_Next_Group ]
};
};
во-вторых придавал этим "действиям" нестандартные интерпретации:
    interpret ISO_Next_Group {
action= LockGroup(group=3);
};
interpret ISO_First_Group {
action= LockGroup(group=1);
};

interpret ISO_Last_Group {
action= LockGroup(group=2);
};
Ботал по упомянутым текстам Паскаля

dangerr

Сделал я значит следующее: добавил в /usr/share/X11/xkb/symbols/us после строк:
xkb_symbols "basic" {
    name[Group1]= "USA";
свою строку:
key <CAPS> { [NoSymbol],[NoSymbol],[NoSymbol], actions[Group1]= [ LockGroup(group=2)], actions[Group2]= [ LockGroup(group=3)], actions[Group3]= [ LockGroup(group=2)] };
в .xinitrc перед запуском wm такая строчка:
setxkbmap 'us,us(dvpru(typewriter)'
Стало работать как надо - переключение идет после первого раза между двораком и русским. Но теперь наблюдается странное: в некоторых программах (сам wm - ion, djveiw, gimp, inkscape) хоткеи работают по кверти, то есть как я и хотел. В то же время в других программах (xterm, OOo, FF, eclipse) хоткеи стали работать по двораку. А напирмер с epdfview вообще что-то странное случилось: ctrl+f (поиск) ctrl+w (выход) работают по кверти, а ctrl+O (открыть файл ctrl+R (переоткрыть ctrl+P (печать) работают по двораку.
кж. а еще если поставить -option grp_led:caps то капс будет постоянно гореть :(

dangerr

up

dangerr

Я несколько неправильно сформулировал предыдущий пост.
Даже если я ничего не меняю в /usr/share/X11/xkb/symbols/ а просто пишу в консоли или .xinitrc
setxkbmap 'us,us(dvpru(typewriter)' -option grp:caps_toggle
то некоторые программы при us и ru(typewriter) имеют одни хоткеи, а при us(dvp) - другие. Их не так много, но они есть. В частности это Firefox - но там без проблем все решится правкой .vimperratorc; это Eclipse - там даже в русской раскладке оказывается хоткеи никогда и не работали, но это решаемо через его настройки; это 2 вьювера картинок: gqview и gpicview - думаю им просто можно найти замену (посоветуйте).
И наконец это эмуляторы терминалов - xterm, aterm, urxvt. Вот это действительно проблема. Что с ней делать я не знаю. Повторюсь, в русской раскладке хоткеи из кверти в них работают нормально.

vall

И наконец это эмуляторы терминалов
xfce4-terminal попробуй

dangerr

Замечательно, работает!
А есть что-нибудь без блекджека (виде менюшек и табов)?

dangerr

Поустанавливал всякие терминалы. Понял следующее: таким свойством обладают все терминалы, использующие библиотеку vte. Поэтому вопрос сводится к вопросу есть ли терминал на основе vte без табов и менюшек?
Есть подозрение, что к таким можно отнести evilvte - у него хоть и есть по дефолту это все, но в его config.h есть строчки
#define MENU TRUE
#define TAB TRUE
однако в use-flags как-то опции это почему-то не вынесены :(

vall

меню там выключается, а табы не показываются пока он один, расположение табулятора тоже можно задать.
в принципе могу прикрутить и убирание табов, если попросишь хорошенько — в фулл-скрин режиме они только мешают.

dangerr

Я нашел то, что мне надо - в саму либу vte входит терминал, который так и называется vte. Он мне подходит.
Спасибо :)

vall

ещё есть roxterm он тоже всё это умеет

Bibi

еще есть sakura. у нее есть меню по правому клику, и в ней можно отключить все лишнее. некоторое время я ей пользовался, но потом (не помню, почему) перешел на urxvt
Оставить комментарий
Имя или ник:
Комментарий: