LINUX.ORG.RU

Caps Lock вешает ноут: можно ли обмануть систему через ядро

 ,


0

1

Довольно странная проблема: на китаеноуте Maibenben Jinmai 6 pro, верой и правдой проработавшем 3 года, в какой-то момент сошло с ума что-то, связанное с Caps Lock.

При включении Caps Lock всегда ON, при попытке его выключить в консоли выдаётся последовательность S|MHGDDDD… и D до бесконечности, Caps Lock больше не включается. Ещё на этапе Grub то же.

В xorg Caps Lock просто не выключается, точнее выключается, и сразу включается заново, то же, если пытаться выключать программно (например, через xdotool или вызов XkbLockModifiers() ). Если при этом добавить ctrl:nocaps, то происходит то же, что в консоли, т.е. иксы тупо без ввода виснут ещё на этапе логина. Еще правда одна странность в X, что xev фиксирует нажатие Caps Lock (0xffe5), а потом сразу 0xffe2 (Shift_R).

В остальном, с таким образом постоянно включенным Caps Lock всё работает, кроме hibernate-ram: сразу просыпается, и иногда выдаёт ту же последовательность [спецсимволы]MHGDD, прерванную на 1-4 символе D.

Вопросы:

  1. это скорее всего клавиатуре крышка?
  2. чинить его, наверное, слишком дорого. А нельзя в коде ядра что-то поменять, чтобы было Caps Lock всегда off, и нет такой клавиши? Может, подскажут знающие люди, где смотреть? Я на С могу писать, но в устройстве ядра не разбираюсь..
★★

Купи новую клаву и поменяй. Они меньше 1000р вроде стоят, главное модель ту же взять (или её копию), она на задней её стороне после снятия будет наверно ну или по (точной) модели ноута найти.

Ядро тут ни при чём, ему клава мусор шлёт, а нужное не шлёт.

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

Да спасибо, очевидный совет. Но вот не факт, что они вообще через 4 года есть такие же, это ж Китай. А мусор от одной клавиши только (ее состояния), может проще программно исправить.

Так-то машина свои 350 баксов давно отработала, но жалко из-за клавиши выкидывать.

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

Если Китай - тем вероятнее что там что-то серийное стандартное.

Одна клавиша может запросто портить работу «соседей», причём соседи не обязательно те кто геометрически рядом, а те кто с ней общие проводники для связи с контроллером используют.

Можешь попробовать отломать капслок и устранить замыкание (вдруг оно там механическое и заметное), кнопкой после этого пользоваться уже не получится но мешать она перестанет. Хотя так тоже можно «соседей» повредить.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 2)

попробуй в веб-браузере открыть такую ссылку

https://www.google.com/search?q=how to disable key with xmodmap
если не поможет, значит проблема действительно аппаратная (соринка там какая-нибудь залетела или капелька дешёвого пива засохла)

d00fy ★★★
()
Последнее исправление: d00fy (всего исправлений: 2)

Не надо в ядро лезть, чтобы поток событий ввода подправить (evdev/uinput). Вопрос в том, можно ли по нему восстановить, что ты напечатать-то хотел.

t184256 ★★★★★
()

Загрузиться в live какого-нибудь bsd/haiku/kolibri/... (ну в общем не linux) посмотреть есть там эта проблема иил нет не пробовал? если беда аппаратная, то врятли ты ее програмно починишь.

Kolins ★★★★★
()

Проблема точно аппаратная, она проявляется и в консоли grub, и в досе (при перепрошивке uefi, что тоже пробовал). Поэтому предлагаемые решения, которые я перепробовал ещё до поста, связанные с X, не работают.

Занятно, что проблема проявляется при ioctl(fd, KDSETLED, 0), т.е. при выключении диода, а не при ioctl(fd, KDSKBLED, 0), т.е. при сбросе самого флага состояния Caps Lock. Поэтому, к сожалению, отключение клавиши через udev не работает, потому что при загрузке этот ioctl где-то дергается, и всё виснет при старте иксов.

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

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

Раз зашла речь о капсе у моей клавы тоже бзик на эту клавишу. В теме, где я спрашивал про aктивацию Led, сделал через шорткат + brightnrssctl,a капс опять вырубает подсветку. Точно на железе завязано

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

ИМХО, проблема может быть в контроллере клавиатуры, а он в ноутах отдельно и находится на материнской плате. То есть не факт, что замена клавиатуры поможет.

Если подоздрения, что Caps что-то коротит при нажатии, наверно, можно до покупки новой клавы сначала как-то посмотреть мультиметром изменение сопротивления между контактами шлейфа или включить ноут без клавиатуры и с USB-клавиатуры попробовать включить CapsLock.

mky ★★★★★
()

Разбери ноут, сними клаву, протри все спиртом или бензином. Хотя наврядли поможет, чтобы так замкнуло хз что должно на плату попасть

rtxtxtrx ★★
()