LINUX.ORG.RU

обработка нажатия клавиши, возвращающей несколько сканкодов

 ,


0

2

на клавиатуре есть клавиша LNG. По сканкоду возращается Control_R+Shift_R. У меня вопрос, можно ли назначить поведение этой клавише через xkb? Такой код не работает.

xkb_symbols {
    ...
    key <RTSH> {[Print]};
};

★★★

Последнее исправление: arrecck (всего исправлений: 1)

0. что за клавиатура?

1. куда ты данный код пихаешь и как пытаешься инициализировать?

2. запасть куда-нибудь

xkbcomp $DISPLAY -

до и после того, как п.1

lazyklimm ★★★★★
()
Ответ на: комментарий от lazyklimm

клавиатура defender c-925, вместо правого альта клавиша LNG
написал другой конфиг, чтобы было понятно
cat test_file

xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)" };
        xkb_types     { 
            include "complete"      
            type "LNG_MULTI" {
                modifiers= Control;
                map[Control]= Level2;
                level_name[Level1]= "Base";
                level_name[Level2]= "Control";

            };
        };
        xkb_compat    { include "complete"      };
        xkb_symbols   { 
            include "pc+us+ru(winkeys):2+inet(evdev)+capslock(grouplock)" 
            key <RTSH> {
                type= "LNG_MULTI",
                symbols= [Print, Escape]
            };
            key.type = "ONE_LEVEL";
            key <LWIN> {[Escape]};
        
        };
        xkb_geometry  { include "pc(pc104)"     };
};

xev выдает
на нажатие shift

62 Print

на нажатие ctrl+shift

62 Escape

на нажатие LNG

105 Control_R
62 Print (должен выдавать Escape, как это сделать?)

конфиг xkb
до
https://bpaste.net/show/f5c4d0be6563
после (xkbcomp test_file $DISPLAY)
https://bpaste.net/show/277ef34a2ce5

arrecck ★★★
() автор топика
Ответ на: комментарий от lazyklimm

test_file

это файл конфига xkb, выше его запостил

Ну и да, как раскладку применял?

xkbcomp test_file $DISPLAY
для возврата дефолтных значений

setxkbmap -model "evdev" -layout "us,ru" -variant ",winkeys" -option "grp:caps_toggle"


выложи дифф файлов

там весь дифф - это содержимое test_file

arrecck ★★★
() автор топика
28 марта 2017 г.

Ну и что в итоге ты смог эту клавиатуру нормально использовать?

Я подобную купил, дурак что не посмотрел на фотки с ее лейаутом, это супер неудобно. Вместо WinKey слева здесь Fn (которая включает доп. способности клавиатуры), вместо альта справа здесь эта LNG (при том что альтом я обычно пользуюсь в терминале для перемещения курсора по словам). И что самое непонятное любое CTRL+%ANYTHING% сочетание вводит клавиатуру в какой-то бесовский режим где как будто CTRL залипает и любое дальнешее нажатие клавиши не делает то что я ожидаю (тот же CTRL+R в терминале не дает мне искать ничего, если я после CTRL+R не нажму один раз на LNG).

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

nikita2206
()
Ответ на: комментарий от arrecck

Хех, я переставил эту клаву на виндовс-десктоп, а с него забрал клаву на тот где линукс стоит. Сейчас девушка сидела за виндовсом и не могла напечатать в адресной строке адрес сайта (т.к. то ли CTRL то ли SHIFT был «залипший», то о чем я говорил выше). Но в этот раз я даже не мог это залипание выключить нажатием на LNG, в какой-то момент я психанул и бросил ее (клавиатуру), после этого любые залипания вообще прошли, теперь все комбинации с CTRL и SHIFT работают нормально и правильно вызывают «отжатие» (key up) клавиш. Это наводит на мысль что это вовсе не фича клавиатуры, а больше похоже на систематичный брак в производстве дефендера.

nikita2206
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.