LINUX.ORG.RU
Ответ на: комментарий от burato

В man'е же всё написано. loadkeys загружает из файла раскладку клавиш. Файлы хранятся в /usr/lib/kbd/keymaps. Для IBM PC в /usr/lib/kbd/keymaps/i386/qwerty/. Стандартные русскоязычные расскладки:

ru1.map.gz
ru2.map.gz
ru3.map.gz
ru4.map.gz
ru4.uni.map.gz
ru_alt.map.gz
ru-cp1251.map.gz
ru_cplk.map.gz
ru_ctrl.map.gz
ru_ct_sh.map.gz
ru.map.gz
ru-ms.map.gz
ruwin_alt-CP1251.map.gz
ruwin_alt-KOI8-R.map.gz
ruwin_alt.map.gz
ruwin_alt_sh-UTF-8.map.gz
ruwin_alt-UTF-8.map.gz
ruwin_cplk-CP1251.map.gz
ruwin_cplk-KOI8-R.map.gz
ruwin_cplk.map.gz
ruwin_cplk-UTF-8.map.gz
ruwin_ctrl-CP1251.map.gz
ruwin_ctrl-KOI8-R.map.gz
ruwin_ctrl.map.gz
ruwin_ctrl-UTF-8.map.gz
ruwin_ct_sh-CP1251.map.gz
ruwin_ct_sh-KOI8-R.map.gz
ruwin_ct_sh.map.gz
ruwin_ct_sh-UTF-8.map.gz
ru_win.map.gz
ru-yawerty.map.gz
ru-yawerty.uni.map.gz
plaintext пожат gzip'ом, да. Можно скопировать, распаковать, подправить, запаковать и положить рядом. А потом загружать через loadkeys.

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

aarch64 в этом моменте совместима с IBM PC. Отличия здесь для архитектур amiga, atari, mac, ppc и sun.

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

Ну он же пророчески самоназвался.

burato ★★★★★
() автор топика

evdev+uinput тоже в ядерной консоли работать будет

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

Ну и что там написано? Как раз то, что оно умеет редактировать файлы в /usr/lib/kbd/keymaps , а потом грузить их через loadkeys.

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

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

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

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

Я вообще не понимаю содержимое этих файлов)

man 5 keymaps

по левой клавише с логотипом?

Сначала прочиать про dumpkeys, потом получить keycode для «левой клавише с логотипом». Потом убрать из файла всё, что связано с AltGr_Lock. У нужного keycode прописать ″= AltGr_Lock″. Или добавить строку с этим keycode, если для него нет строки (просто строки, без модификаторов ″alt″ и пр. в начале строки).

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

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

Ты как был тупым, так им и остался. Повторяю, собирай никому не нужные пакеты.

Для вас, лохов, дал ссылку на Neo. В чём отличие, скажешь ты?
В том, что это немцы, педанты. Всё максимально прозрачно для такого непростого дела, как написания своей раскладки. Всё полностью описано и разжевано. Бери и переделывай. Этот пример, в отличии от стандартных файлов, где чёрт ногу сломает, самый показательный.

И гдавное, что такого лошка, второй считает Гуру. Это Пять, ЯЩИТАЮ…

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

Я же выше уже написал:

в иксах/вейланде и ядерной консоли разные раскладки.

Ядро отвечает только за раскладку в ядерной консоли. В иксах/вейланде другие механизмы на более высоком относительно ядра уровне. Поэтому, например, в иксах раскладка задаётся через утилиту setxkbmap, которая совершенно не трогает ядро и раскладку ядерной консоли.

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

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

Зачем вся эта мышиная возня, когда можно инжектировать подправленные события через какой-нибудь /dev/uinput и горя не знать? Ах да, а зачем хаять чужой код исключительно на основании пустых фантазий о принципе его работы…

t184256 ★★★★★
()

Ребятки, а как мне узнать частоту опроса клавиатуры? Хочу чтоб как у мыша была 1000Hz

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

хаять чужой код

Я ничего не хаю. Сначала я просто прочитал описание неправильно, как тулзы для «Wayland, X11, and every WM/DE you throw at them» (авторам следовало бы более ясно выражаться), а потом я просто говорю, что в любом случае можно обойтись и без этого демона.

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

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

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

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

Через kbdrate для ядерной консоли и xset для иксов.

В иксах узнать частоту можно командой

xset -q | grep delay
А задать через
xset r rate delay [rate]
, где delay и rate конкретные числа.

Например,

xset r rate 250 100

И, да, 1000 Hz здесь, по ходу, будет значить, что если нажать и держать клавишу одну секунду, то за это время напечатается 1000 одинаковых символов.

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

На общем уровне - нет. Механизмы же, говорю, разные и независимые.

Для «и там и там сделать с одного конфа», вон, отдельные высокоуровневые вещи пишут: https://github.com/snyball/Hawck .

Можно и без этих Hawck'ов обойтись, но тогда придётся разные конфиги править. Отдельно для ядерной консоли и отдельно для иксов/вейланда.

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

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

Конечно нравятся такие демоны. Забадяжить так, как это делают в KMonad твоими костылями (а тем более знаниями) очень и очень сложно.

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

Первое сообщение говорит, как сделать всё одинаково там и там. Хз, что вы тут тему развели непонятно о чём.

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

О, наконец-то что-то не на Haskell. А то и KMonad, и xlib-keys-hack от @unclechu на нём. При том, что Мы собрались вообще вынести нахрен жирные ghc/cabal из системы и свою единственную поделку на хаскелле переписать на приличный ЯП, после которого не надо огромные бинари UPX’ом паковать и который может в кросс-компиляцию.

Много лет хотим сделать отдельные Ctrl и Cmd, как на макоси, чтоб работало во всех приложениях. Тогда и главная причина хейтить Qt в пользу GTK+2 отпадёт. Пытались через xbindkeys+xdotool накостылять, но оно тормозило и модификаторы залипали.

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

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

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

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

ну ты и овощ. это вообще разные вещи…

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

Что Вас удивляет? ЛОР по сути своей, описанной на пикрилейтед <= — притягивает тех, кто патологически не могут осилить инглиш, и отсеивает остальных. Что — вот так сюрприз! — сильно коррелирует с необучаемостью в принципе.

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

И что тебе там не понятно? Вроде всё максимально доступно разжевал.

Legioner ★★★★★
()

bormant ещё может чего сказать?

burato ★★★★★
() автор топика

есть uinput, ./Documentation/input/uinput.rst. Есть биндинги для python, я на нем писал.

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

Ядрёны видеодрайвера тоже не использовали, пока вялендофанатики драйвер modesetting не запилили. Надо развиваться.

mertvoprog
()

На самом низком уровне это делается через udev вообще-то.

Например:

/etc/udev/hwdb.d/99-kbd-remap.hwdb

evdev:input:b0011v0001p0001*
 KEYBOARD_KEY_b7=menu
 KEYBOARD_KEY_e3=fn

Потом udevadm hwdb -u

Формат такой:

evdev:input:b<bus_id>v<vendor_id>p<product_id>e<version_id>-<modalias>
KEYBOARD_KEY_<scancode>=<keycode>
KEYBOARD_KEY_<scancode>=<keycode>

<bus_id>, <vendor_id>, <product_id> и <version_id> смотрим в выхлопе cat /proc/bus/input/devices типа

I: Bus=0011 Vendor=0001 Product=0001 Version=ab54
N: Name="AT Translated Set 2 keyboard"

В селекторе девайса можно использовать wildcard (*)

сканкоды KEYBOARD_KEY_** можно посмотреть при помощи evtest выбрав нужный девайс и жамкая кнопки

Event: time 1633024334.924572, type 4 (EV_MSC), code 4 (MSC_SCAN), value b7

имена кейкодов можно посмотреть в /usr/include/linux/input-event-codes.h в виде KEY_<name>

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