LINUX.ORG.RU

Чем ребиндить клавиши в 2к18?

 , , , ,


0

2

Что хочу на вход - мышкотыкательный интуитивный интерфейс.

Что хочу на выход: забиндить на <super>+h,j,k,l - нажатия на стрелки курсора. Желательно, только для конкретного пользователя. Обязательно - не зависимое от DE и WM.



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

Ответ на: комментарий от Deleted

Чет сходу не сообразил, как с помощью xmodmap смэппить комбинацию клавиш. Можно же только перебиндить конкретные клавиши не? Поменять там caps и shift местами и т.п.

onhydro
() автор топика

Можешь попробовать xcape, но я его ещё толком не тыкал, потому если получится — расскажи здесь, мне интересно.

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

Пока сделал по уродски, через compiz и xdotool.

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

Судя по man - тот же xmodmap только вид сбоку...

Не совсем. Оно жрёт одну кнопку как in, и выплёвывает в том числе комбо на out. То есть твоя задача, но наоборот.

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

Ну типа того, да. Вход не подошёл а дальше я не читал.

onhydro
() автор топика
Ответ на: комментарий от Deleted

Вот когда займёшься - тогда и приходи. А то не разберутся в теме своей, а потом на лоре постят в топики.

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

Поменьше грубости, юноша.

Не хочешь получать советы - не создавай топики. Научись гуглить и эксперементировать.

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

Ой всё, ты я вижу уже нагуглил. Советы типа твоих - даром не нужны, иди где нить ещё скор надрачивай.

onhydro
() автор топика
Ответ на: комментарий от Im_not_a_robot

Так этож фрон к xmodmap. Мне бы что-то типа xbindkeys, только, похоже, что бы с компизом дружило лучше.

onhydro
() автор топика
Ответ на: комментарий от anonymous

При xdotool. Не то, не удобно, но всё что придумалось.

На всякий случай подробно:

  • unity
  • Надо, вместо того, что бы тянуться к стрелкам (на недосайтах типа google'a, вмето tab'a) уметь жать <super/akaWin/aka/Super_L/akaChooseYourself>+<vim навигация по тексту>
  • В компиз есть способ биндить клавиши(compiz-extras)
  • xdotool умеет послать клавишу
  • => Работает, но по уродски
onhydro
() автор топика

Проще всего изменить в прошивке клавиатуры - тогда работает абсолютно везде и носится с собой.

Рекомендую клавиатуры на базе QMK/TMK.

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

Проще всего изменить в прошивке клавиатуры - тогда работает абсолютно везде

Истина.

и носится с собой.

Фу таким быть.

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

Т.е. нет софтверных вариантов до сих пор совсем? Но как? Но почему?

onhydro
() автор топика
Ответ на: комментарий от t184256

Это тот самый мышкотыкательный, из всех тех, великолепных инструментов, которые остаются рядовому линуксоиду? С тем же успехом, можно в десяточке пару макросов на cmd написать которые win32api дёргают?

onhydro
() автор топика
Ответ на: комментарий от t184256

Фу таким быть.

А что такого?

Не вижу ничего плохого в том, чтобы в сумке держать какой-нибудь Planck(или еще какую клавиатурку) с нормальными биндами на клавиши и, если хочется, аппаратным колемаком/доварком.

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

Гдето в РФ есть момент такое пощупать не покупая, или покупая задёшево? Насколько сложно вкорячить в такое блюпуп?

onhydro
() автор топика

Чем забивать гвозди в 2к18 вы же не спрашиваете, надеюсь. Старые инструменты имеют недостаточный функционал, или не работают вообще, м?

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

Кстати про гвозди тоже интересный пример, решил я тут сарай построить в 2к18ом и надо 3к гвоздей забить. Молотком? А если 5 сараев?

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

В СПб знаю ребят, кстати, они вроде планировали митап и в Москве - у них есть образцы почти всех механических свичей, да и клавиатур много.

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

Я не знаю о чем ты, но я говорил о модуле ядра uinput. Его интерфейс в userspace - файл, куда ты там собрался тыкать - без понятия.

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

Не вижу ничего плохого в том, чтобы в сумке держать какой-нибудь Planck

+ масса ноута? + неудобство жонглирования? вся соль ноута была в портативности, массе и монолитности, ты 2/3 теряешь.

(или еще какую клавиатурку) с нормальными биндами на клавиши

это и на встроенной можно

и, если хочется, аппаратным колемаком/доварком.

и это и на встроенной можно. у меня wide-angle-mod Colemak + кнопки под большими пальцами замаплены через evdev/uinput, и че-то я не вижу плюсов в аппаратном ремаппинге клавиатуры, насмерть приделанной к одному девайсу с подконтрольной мне ОС. но и тут, если прям очень хочется, можно было перепрошить EC и получить аппаратный ремаппинг.

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

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

Ну, я как бы восхитился развитием юзабилити в онтопике.

onhydro
() автор топика

https://github.com/baskerville/sxhkd - сам не пользовался (биндит только глобально вроде бы)

https://github.com/autokey/autokey - пользовался (можно забиндить, чтобы работало только в определенных программах + есть графический интерфейс, висит в трее)

StillSteal
()
Последнее исправление: StillSteal (всего исправлений: 1)
Ответ на: комментарий от StillSteal

> https://github.com/autokey/autokey

This is an X11 application, and as such will not function 100% on distributions that default to using Wayland instead of Xorg.

Восхитительно. Вот примерно за это не любят вяленый. картинка_о_необходимости_15ого_стандарта.jpg И так было через жопу, а с вяленым стало через две жопы.

Deleted
()
Ответ на: комментарий от t184256

ваши бы усилия, да в полезное бы русло, пилить ортолинейную клаву для существущих ноутов...

Для каких?

Все что влезет в гейбук - просто отвратительно. Из-за того, скоро они там места оставили.

А дальше вопрос, на кого ещё делать?

У меня делл латитуда, у кого то синкпад, у кого высусь. И стоить букет кастомная мембранная клавиатура для ноута будет больше, чем механика.

Нет смысла в этом.

А в том, что юзабельно, а что нет решает сам человек.

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

У меня делл латитуда, у кого то синкпад, у кого высусь.

Сначала на того, на кого проще, потом на остальных.

И стоить букет кастомная мембранная клавиатура для ноута будет больше, чем механика.

Зато юзабельна.

А в том, что юзабельно, а что нет решает сам человек.

Но не всегда правильно =)

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

картинка_о_необходимости_15ого_стандарта.jpg

он всегда был, назывался evdev/uinput и работал хоть в иксах, хоть в вяленом, хоть в VT. то, что его кто-то по дурости не заюзал, не означает, что со стандартами какие-то проблемы.

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

evdev/uinput

Насколько я понимаю, распознавание нажания именно комбинаций клавиш, включая вариации их отжатия или нажания, дублирования сочетания, происходит уровнем выше, чем evdev. (Этим как раз занимается libinput или что там было в xorg ?)

Сам же evdev будет ловить с клавиатуры только сканкоды отдельных кнопок. И всё веселье по распознаванию сочетаний придётся костылить, это нетривиально.

Это решение не тянет на простенький конфиг для смены биндинга. Хотел бы ошибаться.

Со стороны uinput понятно, на нем можно сделать кликер, ну и для дела сгодится. Но со стороны получения сочетаний с клавиатуры у меня не срастается.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от Deleted

Чисто морально поддержать или с техническим уклоном? =)

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

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

Да прост. У меня похожие желания возникали, как у ТС. С пользовательской точки зрения.

И к тому же, показалось забавным, что вяленый опять не решает очередную (мою) проблему. Кому-то может показаться это надуманным. Но меня это удручает.

Интересно было почитать топик

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

И к тому же, показалось забавным, что вяленый опять не решает очередную (мою) проблему.

Есть мнение, что это вообще не его дело, вот и не решает.

Да прост. У меня похожие желания возникали, как у ТС. С пользовательской точки зрения.

Да у всех возникали, у меня, например, доросли до того, что мне нужен маппер сразу нескольких устройств ввода. Надо будет как-то выделить еще несколько выходных и допилить свою поделку: https://github.com/t184256/irwir

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

Подскажи чего почитать на тему чтения с клавиатуры через uinput.

В частности, есть ли способ - читать события от всех устройств в системе? Только открыв все файлы?

Задача: если на любой из клавиатур произошёл хоткей, то на виртуальной клавиатуре - нажать клавишу.

Как посылать события, нагуглилось очень быстро, а вот как читать, что-то сходу не нашлось.

Хотелось бы пока без libevdev.

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

В частности, есть ли способ - читать события от всех устройств в системе? Только открыв все файлы?

Да.

Задача: если на любой из клавиатур произошёл хоткей, то на виртуальной клавиатуре - нажать клавишу.

Если все еще нужны независимость от DE, WM, то тебя ждет довольно жирная задача. Соболезную.

а вот как читать, что-то сходу не нашлось.

Хотелось бы пока без libevdev.

Можно, конечно, и просто структуру из устройства вычитывать, но зачем?

Мой совет - дважды удостоверься, насчет постановки задачи, выбери ЯП попроще (например Python) и спиши какой-нибудь пример, например мой: https://gist.github.com/t184256/f4994037a2a204774ef3b9a2b38736dc

Как застрянешь, спроси, авось подскажу что. Только поконкретнее.

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

Хотелось бы пока без libevdev.

Можно, конечно, и просто структуру из устройства вычитывать, но зачем?

Хочется портабельно и без зависимостей. Правда, я видел, что там отличается код начиная с uinput 5.x, но надеюсь хотя бы обратная совместимость нигде не поломана.

Я не буду делать комбайн, а хочу сделать конкретный кейс win+j,k,l,h => down,up,left,right

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

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

В принципе, можно и все устройства пролистать и на селекте их диспетчеризировать

можно

но казалось бы где то всё равно должна быть общая очередь.

ага, только уже внутри иксов где-то.

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