LINUX.ORG.RU

Идиотизм под названием кнопка copilot

 , , ,


0

2

Приобрёл тут лэптоп с этой грёбанной кнопкой. Какое же это говно, скажу я вам. Майкрософт специально сделал так, чтобы эту кнопку вообще нельзя было ни для чего использовать. При её нажатии (ещё до отпускания) генерируется следующая последовательность сканкодов:

left meta down
left shift down
f23 down
left meta up
left shift up
f23 up

А при отжатии ничего не генерируется! Как эту кнопку переназначать, когда отжатие никак не отследить? Почему бы тупарям из майкрософта просто не взять f23? Тогда можно было бы просто переназначить f23 на right ctrl. А теперь же пришлось написать вот такой конфиг для keyd, чтобы хоть как то эту дебильную кнопку задействовать:

[ids]
*

[global]
oneshot_timeout = 500

[main]
leftmeta+leftshift+f23 = oneshot(control)
rightshift = rightshift
space = overload(control, space)

Смысл здесь в том, чтобы при нажатии на copilot активировался слой control на полсекунды, в течении которых можно интерпретировать copilot+c как ctrl+c, например. Так же теперь переучиваюсь использовать пробел как ctrl, чтобы в будущем не зависеть от придурков из майкрософта.

А в идеале хотелось бы, чтобы в ядре была специальная поддержка этой кнопки. Но может быть это даже никак невозможно.

★★★★★

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

При её нажатии (ещё до отпускания) генерируется следующая последовательность сканкодов

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

Kolins ★★★★★
()

Но может быть это даже никак невозможно

Если приведённая последовательность событий получена из evtest, то скорее невозможно без костылей (закрытый список клавиатур + обработка последовательности). В ядре есть поддержка всякого кривого говна, но это выглядит как-то слишком плохо.

anonymous
()

А почему бы не сделать комбинацию нажатий этих клавиш нажатием одной нужной клавиши? Даже WM так может когда надо допустим dmenu запустить или скриншот сделать. По идее фильтр нажатий должен препятствовать автоматическому срабатыванию отжатия клавиш. Необязательно на уровне клавиатурных нажатий это обрабатывать.

anonymous
()

Они просто не рассчитывали на то, что эту кнопку попытаются присобачить еще для чего-то. У меня тоже есть старый MSI, у него четыре кнопки на корпусе, которые работают только с их фирменной утилитой.

dmitry237 ★★★★★
()

Тут вот куча недовольных, а ведь эта история была ещё в 80-х годах с новыми кнопками PC/AT - Pause и PrtScr. У паузы генерилось аж 6 байт сканкодов (три для нажатия двух кнопок, три для отпускания - специальный модификатор, ctrl, numlock), если клавиатура в легаси(PC/XT)-совместимом режиме (а она и на современном железе в нём будет если сидеть в досе).

В нативном (для PC/AT) режиме генерится уже 1-байтовый сканкод, в этот режим всякие новые ОС её переключали.

Вроде тогда волн недовольства в связи с этим не случалось.

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

Потом ещё удивляются, почему в онтопике ux такой дерьмовый.

А типа при установке другой ОС на клавиатуре автоматом новые кнопки вырастают?
Я наоборот скажу что в win/os-x дерьмовый ux т.к. штатными средствами нельзя перебиндить CapsLock (ну кто его по назначению использует? Это аттавизм как Pause/Breack) на переключения языка

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

Тут вот куча недовольных, а ведь эта история была ещё в 80-х годах с новыми кнопками PC/AT - Pause и PrtScr.

Эти кнопки расположены в далекой жопе и никого не колышат.

bread
()

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

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

Дак много чего было, и F13 (если был на клаве) генерил Shift+F1. Но, вроде, в спецификации USB нету длинных сканкодов. А для DOS (в случае USB-клавиатуры) уже BIOS там изображает «неправильные» сканкоды.

тогда волн недовольства в связи с этим не случалось.

Дак тогда и необычными раскладками/переключалками клавиатуры как-то не увлекались. Какой-то руссификатор клавы запущен и ладно. Вобще не помню, чтобы кто-то думал под DOS вешать переключение на CapsLock.

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

Попробуй сейчас купить современный лэптоп без этой кнопки. Микрософт её везде пропихнул. Она есть даже на mini pc! Да и мне было бы пофиг, если бы эта кнопка была где-нибудь в жопе. Но она же находится на месте правого контрола.

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

На макбуке вообще атас. Там, где должен быть правый Alt, у них Command (эквивалент кнопки Super). А где правый Ctrl, у них Option (т.е. Alt). А Control только на левой стороне.

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