Apple MacBook Pro имеет небольшую задержку на клавиатуре Caps Lock . То есть ключ блокировки колпачков должен удерживаться немного дольше обычного, чтобы зарегистрировать нажатие клавиши, необходимое для включения блокировки колпачков.
Это супер раздражает. Кто-нибудь знает, как это предотвратить?
(Выше скопировано из stackoverflow, поскольку оно было закрыто как «не по теме».)
Чтобы уточнить подробнее: Apple считает, что это особенность, и их статья базы знаний не раскрывает, как отключить эту задержку.
Однако у меня есть основания полагать, что это возможно.
Примечательно, что я обнаружил, что, по крайней мере, по моему опыту, если вы переназначаете клавишу caps-lock в Mac OS X (в Системных настройках .. Клавиатура .. Ключи модификаторов) и, например, сопоставляете ее с Control, то задержка исчезает пока я вошел в Mac OS X.
Моя проблема заключается в том, что задержка сохраняется, когда я загружаюсь в Ubuntu Linux, и в этом контексте, даже когда я переназначаю клавишу Caps Lock в Control, задержка все еще присутствует.
Итак, вопрос заключается в следующем: как Apple отключает задержку, и, что более важно, как можно реплицировать действия в контексте установки Linux на ноутбуке?
Обновление: на суперпользователе есть ветка, которая может обеспечить обходные пути. Я еще не пробовал предложения там (а именно: (1) выключение / включение CapsLock-NoAction и (2) обновление прошивки). Я не могу сказать из контекста этого потока, были ли обходные пути протестированы на установке Ubuntu.
Ответы:
Я понял, как это сделать. Короче говоря, вы должны отправить «Отчет о
0x9, 0x0, 0x0, 0x0
функциях », состоящий из байтов, на соответствующее устройство hidraw в качестве пользователя root.Вы можете найти правильное устройство hidraw с этой командой:
Код для отправки магического пакета управления приведен ниже. Компилируется с помощью gcc, принимает в качестве параметра hidraw-устройство. Итак, весь поток:
disable-capslock-delay.c
gcc -o disable-capslock-delay disable-capslock-delay.c
HIDDEVICE=$(dmesg | grep Apple | grep Keyboard | grep input0 | tail -1 | sed -e 's/.*hidraw\([[:digit:]]\+\).*/\/dev\/hidraw\1/')
sudo ./disable-capslock-delay $HIDDEVICE
Шаги 3 и 4 необходимо выполнять при каждой перезагрузке (или отключите и снова подключите клавиатуру); вы можете поместить их в
/etc/rc.local
(или эквивалент вашего дистрибутива), чтобы выполнить их при загрузке (sudo
в этом случае вам это не нужно ; и вы можете захотеть переместить скомпилированный двоичный файл/usr/local/sbin/
или что-то в этом роде).Я добавил некоторые проверки безопасности для идентификатора поставщика, идентификатора устройства и длины дескриптора отчета. Возможно, вам придется изменить последние два, если ваша модель отличается от моей.
источник
Вот исправление для MacOS Sierra.
Перейдите в Системные настройки > Доступность
Когда окно доступности открыто - в левой части окна - нажмите Клавиатура
Затем будут 2 варианта - для закрепленных клавиш и для медленных клавиш - установите флажок рядом с медленными клавишами, чтобы включить его - затем нажмите
Options...
кнопку - в новом окне появится ползунок для изменения задержки приема - по умолчанию это посередине. Сдвиньте кнопку до упора влево, чтобы это было как можно меньше времени.Теперь это должно быть исправлено. Не экспериментировал, чтобы увидеть, останется ли исправление после перезапуска, но я надеюсь, что так и будет.
источник
РЕДАКТИРОВАТЬ: Это, кажется, популярный вопрос посадки для пользователей, желающих убрать задержку на клавише caps lock в OS X. Начиная с OS X Mojave
На Эль-Капитан и ранее,
Это странные исправления, и возникает вопрос, почему они не предоставляют возможность убрать задержку, если это исправление основано исключительно на программном обеспечении. Но, по крайней мере, есть способ!
Удачного наполнения.
источник
Перейдите в системные настройки> Специальные возможности> Клавиатура> Включить медленные клавиши> Изменить задержку приема до упора влево (коротко)! Это сработало для меня.
источник
Я точно знаю, что задержка блокировки крышки - это особенность прошивки самой клавиатуры - так что вы можете быть уверены, что время задержки происходит независимо от того, какая ОС в данный момент работает на клавиатуре.
Я также знаю, что Apple не предлагает пути для прошивки микропрограммы до более низкого уровня, поэтому нам всем придется подождать, пока кто-то с достаточным опытом работы с оборудованием опубликует инструменты и шаги, которые они выполнили, чтобы обманным путем заставить аппарат загружать более старую прошивку (или предоставить что выглядит как более новая прошивка, которая уменьшает задержку до того, как она работала раньше без какой-либо задержки.)
Я извиняюсь за отсутствие ответа, но путь для достижения этой цели хорошо освещен, и это может помочь другим предпринять действия (выбрать более старую клавиатуру или воздержаться от обновления прошивки) в то же время, пока мы ждем реального решения для реализации короткий или нулевой таймер на клавише Caps Lock.
источник
Решение «Включение / выключение CapsLock-NoAction», на которое ссылается OP, работает как на моей проводной клавиатуре Mac, так и на клавиатуре MacBookPro. Брэдли говорит, что это работает только на Yosemite, но я успешно использовал его на Snow Leopard (10.6.8) и Mavericks (10.9.5). Я также проверил это внутри виртуальной машины Kubuntu, и Caps Lock продолжал корректно работать внутри виртуальной машины.
Modifier Keys...
:No Action
и нажмитеOK
:Modifier Keys...
раз, установите ключ Caps Lock наCaps Lock
и нажмитеOK
:Это остается в силе только до следующей перезагрузки.
источник