Re[2]: Убунта окончательно задрала, на что сменить?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 13.04.20 09:55
Оценка: +1 -1
Здравствуйте, Sheridan, Вы писали:

scf>>- переключение раскладок по winkey+space, хочу ctrl+shift, и чтобы раскладка переключалась при ОТПУСКАНИИ комбинации, а не при нажатии

S>Ну так смени, setxkbmap тебе в помощь.
S>Не уверен насчёт второго юзкейза... Ты уверен, что клавиша клавиатуры отправляет два кода — при нажатии и при отпускании?

Все современные клавиатуры отправляют, да, код и при нажатии, и при отпускании. Странно, что ты этого не знаешь.
Вот как это выглядит на уровне сканкодов — `showkey -s` показывает Ctrl+Shift:

0x1d (LCtrl нажат)
0x2a (LShift нажат)
0xaa (LShift отжат)
0x9d (LCtrl отжат)

Вот что рассказывает `xev`:

  Скрытый текст
KeyPress event, serial 40, synthetic NO, window 0xf600001,
    root 0x292, subw 0x0, time 528861220, (651,-169), root:(651,553),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0xf600001,
    root 0x292, subw 0x0, time 528861394, (651,-169), root:(651,553),
    state 0x4, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0xf600001,
    root 0x292, subw 0x0, time 528861609, (651,-169), root:(651,553),
    state 0x5, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0xf600001,
    root 0x292, subw 0x0, time 528861648, (651,-169), root:(651,553),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False


То есть если захотеть, то можно.
Но никому в Unix мире этого явно настолько не потребовалось. А xkb очень древняя штука и при этом очень сложная штука, точить её под это — то ещё развлечение. Мне лично точно не надо искать соответствие маразму винды, особенно при том, что он никак не обоснован её внутренней структурой или чем-то ещё, это просто легаси-глупость

Есть тулзы типа названных в треде, что садятся следить за событиями клавиатуры, но они и реагировать могут с задержкой.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.