LINUX.ORG.RU

Zoom на MS natural ergonomic keyboard 4000 - реально ли заставить его заработать не пересобирая ядро ручками?


0

1

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

★★★★★

Забить нельзя пересобирать.

roman77 ★★★★★
()

Напиши мантейнеру письмо, попроси его включить в сборке нужный тебе параметр.

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

Напиши мантейнеру письмо, попроси его включить в сборке нужный тебе параметр.

Там не параметр, я не совсем корректно выразился. Не работают эти кнопки из-за дремучего бага в иксах (не читаются keycodes больше 256). Поэтому приходится править input.h и переносить нужные кнопки на свободные коды из рабочего диапазона. Это грязный костыль, и ни один майнтейнер так делать не будет, тем более под всего один не слишком популярный девайс.

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

Поэтому приходится править input.h и переносить нужные кнопки на свободные коды из рабочего диапазона.

Эээ… Не поможет что-то типа этого:

~ > grep setkey /etc/rc.local 
setkeycodes E023 163
setkeycodes E02F 175
setkeycodes E026 167
setkeycodes E007 135
setkeycodes E005 133
setkeycodes E00A 138
setkeycodes E006 134

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

А что надо указывать setkeycodes в качестве первого аргумента? В input.h нужные строки выглядят так:

#define KEY_ZOOMIN		0x1a2	/* AC Zoom In */
#define KEY_ZOOMOUT		0x1a3	/* AC Zoom Out */

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

На непатченном ядре жми на кнопки и смотри в messages. Но если там ничего не будет, то вряд ли способ сработает.

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

Поэтому приходится править input.h и переносить нужные кнопки на свободные коды из рабочего диапазона.

какая чушь

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

На непатченном ядре жми на кнопки и смотри в messages. Но если там ничего не будет, то вряд ли способ сработает.

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

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

гуглить никак?

Описанный мой способ и нагуглился. За ваш вариант спасибо, хотя это те же яйца, по сути, только в профиль. Ну да evdev пореже обновляется, так что это проще.

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

править ядро и-за проблем иксов - не чушь? о_О

Чушь, конечно, потому и ищу другие способы. Но работает же, однако.

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

ЕМНИП, это не баг, а стандарт. Просто некоторые, не будем показывать пальцем, на стандарты кладут. Так что только пересобирать.

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

ЕМНИП, это не баг, а стандарт.

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

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

видимо, он

Ясно, спасибо. Буду пробовать его.

Axon ★★★★★
() автор топика
KeyPress event, serial 40, synthetic NO, window 0x3800001,
    root 0x15a, subw 0x0, time 3048104, (-916,476), root:(540,499),
    state 0x0, keycode 247 (keysym 0x1008ff8b, XF86ZoomIn), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x3800001,
    root 0x15a, subw 0x0, time 3048208, (-916,476), root:(540,499),
    state 0x0, keycode 247 (keysym 0x1008ff8b, XF86ZoomIn), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x3800001,
    root 0x15a, subw 0x0, time 3048560, (-916,476), root:(540,499),
    state 0x0, keycode 248 (keysym 0x1008ff8c, XF86ZoomOut), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x3800001,
    root 0x15a, subw 0x0, time 3048704, (-916,476), root:(540,499),
    state 0x0, keycode 248 (keysym 0x1008ff8c, XF86ZoomOut), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Способ megabaks'а сработал. Большое ему спасибо.

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