что такое anti ghosting на клавиатуре
Игровая клава: что именно делает её игровой и стоит ли оно того
Когда-то «давно» (лет 15 тому назад) геймерских клавиатур, как известно, в природе вообще не существовало как таковых. Но и с нынешним изобилием моделей с механическими кнопками, RGB-подсветкой и прочими супертехнологичными «наворотами» не так просто разобраться, чем же на самом деле настоящая «игровая клава» отличается от всех прочих.
… и, самое главное, будет ли от неё какой-то реальный толк или же можно особо не заморачиваться и играть с обычной?
Сразу скажем, что правильный ответ на эти вопросы зависит от целей, задач, личных привычек, навыков и в целом от уровня самого геймера. Потому, собственно, все профи, как правило, играют со своими клавиатурами — link.
С другой стороны, современная специализированная геймерская клавиатура, то бишь, модель изначально спроектированная и оптимизированная для работы именно с игровыми приложениями, имеет ряд конструктивных и технических отличий.
Так что, если в общем, то ответ — ДА, настоящая игровая клава отличается от обычных моделей пользовательского класса. И если интересно, чем именно, то дальше — как раз об этом.
#1 — NKRO
Это сокращенно от «N-key rollover» — сложно и непонятно, но это только поначалу. Данное сокращение означает, что клавиатура способна распознавать неограниченное количество одновременных нажатий. То есть, даже если нажать все кнопки разом, то она каждое «увидит» и распознает корректно. В отличие от старых/дешевых клав, которые распознают максимум 2 нажатия (2KPO), и в отличие от обычных неигровых (6KPO).
#2 — защита от случайных нажатий
… или anti-ghosting. Технология предусматривает как аппаратное ограничение на считывание лишних нажатий, так и программные решения с аналогичным функционалом. Благодаря такой защите геймерская клавиатуры автоматом фильтрует случайные команды, а значит и в игре ненужных действий будет гораздо меньше.
#3 — скорость реакции
… или время на регистрацию команд. Данный показатель у каждой клавиатуры свой, и определяется он целым рядом конкретных параметров устройства: типом конструкции, длиной хода кнопок, частотой опроса и др.
Но так называемая частота вопроса (сколько раз в секунду клавиатура проверяет ввод) — это №1. Потому смотрим описание: 1000 Гц означает, что клава проверяет ввод 125 раз каждые 8 мс. И, скажем, в турнирных боях такая модель дает реальное преимущество. В особенности, когда реально умеешь соображать и действовать быстрее соперников.
#4 — игровая клава с макросами
Такая модель оснащается встроенной памятью и умеет обрабатывать уйму данных. На «макро-кнопки» можно назначать целые последовательности команд (при желании можно даже написать макрос и нарезать на таком «автопилоте» целые круги в Forza), которые потом активируются буквально одной кнопкой. Правда, это тоже надо уметь и иногда приходится повозиться (если в настройках игры штатные макросы не предусмотрены), но оно того стоит.
#5 — механика!
Мембраны — не то чтобы совсем вчерашний день. Но по NKPO и скорости реакции механические клавиатуры однозначно круче, а оптико-механические модели (на лазерной оптике вместо пружинок) — еще круче — точнее, быстрее и надежнее (но дороже).
Впрочем, проще один раз нормально поиграть с механической клавиатурой, чтобы понять особенности и преимущества такой конструкции, чем долго их расписывать. Поэтому не будем… Но если стоит вопрос выбора хорошей игровой клавиатуры, то настоятельно рекомендуем сначала протестить именно «механику». Вот TOP5 Compact Gaming Keyboard — для наглядности.
Механическая клавиатура для гурманов Steelseries 7G
Рассмотрим данную клавиатуру поближе с описанием всех ее преимуществ и достоинств.
Тактильный отклик
7G предлагает не просто длинный жизненный цикл. Резиновые колпачки на обычной клавиатуре со временем теряют свои тактильные ощущения из-за резиновых изгибов. Клавиши которые вы используете будут ощущаться другими. Механические переключатели, используемые в 7G и строгие уровни толерантности в которых они производятся, позволят вам при нажатии клавиш всегда чувствовать себя последовательным.
Переопределение «ANTI-GHOSTING»
Вы когда-нибудь пробовали нажать несколько клавиш на клавиатуре и получить звуковой сигнал? Это происходит когда вы нажимаете слишком много клавиш одновременно, или при нажатии множества клавиш рамках одного кластера одновременно (например, клавиши WASD которые часто используется для движения в играх). Такое поведение клавиатуры будет препятствовать вам выполнять определенные действия, движения в FPS игре является одним из примеров. Индустрия назвала это anti-ghosting. При использовании USB, вы можете использовать до 6 ключей плюс модификаторы одновременно, это является самым высоким пределом спецификации USB соединения.
Расстояние движения
Все становится еще лучше. На клавиатуре 7G вам не придется нажимать клавиши до упора в их регистре. Наши механические переключатели будут регистрировать нажатия клавиш очень быстро, расстояние движения будет на 50% короче, чем на обычной клавиатуре. Вы будете печатать быстрее, с последовательными тактильными ощущениями. Благодаря этой функции ваши действия в минуту (APM) смогут достичь новых высот с 7G.
Aкклиматизация
Чтобы привыкнуть к механической клавиатуре, вам потребуется некоторое время, большинство игроков привыкают к ней приблизительно от 1 до 2 недель. После того как вы хорошо приспособитесь, вы по достоинству оцените лучшую тактильную обратную связь, превосходный отклик и великолепный контроль. Проще говоря: Вы станете лучше печатать.
Cougar Aurora
В данном обзоре мы рассмотрим мембранную клавиатуру от немецкого бренда Cougar. Модель данной клавиатуры Aurora. Давайте детально рассмотрим что нам предлагает производитель за цену, чуть меньше 3000 рублей.
Технические характеристики
Тип клавиатуры мембранная
Общее количество клавиш 104
функция anti-ghosting 19 клавиш
Габариты 450х180х25 мм
Упаковка и комплектация
Клавиатура от компании Cougar поставляется в картонной коробке с глянцевой цветной полиграфией. На лицевой стороне мы можем увидеть изображение клавиатуры и логотип, благодаря которому мы узнаем о 8 возможных цветах подстветки.
Производитель защитил клавиатуру от вскрытия прозрачными наклейками.
Внутри коробки клавиатура находится в полиэтилене и фиксируется поролоном, приклеенным к коробке. В нижней части находится отделение, в котором спрятан USB-кабель.
Комплект включает в себя клавиатуру и инструкцию.
Внешний вид
Верхняя часть клавиатуры сделана под карбон. Для удобства работы передняя грань клавиатуры скошена.
По центру задней части находится провод длиной 1.6 метра, он защищен тканевой оплеткой.
На нижней части клавиатуры располагаются 2 ножки, имеющие 3 возможные позиции для изменения угла наклона, все ножки имеют противоскользящую резиновую основу.
Высота клавиш клавиатуры в первом ряду – 38 мм и 35 мм
Высота клавиш клавиатуры в последнем ряду – 32 мм и 29 мм
Высота клавиш клавиатуры в первом ряду – 30 мм;
Высота клавиш клавиатуры в последнем ряду – 24 мм.
Для того, чтобы клавиатура не скользила по поверхности имеются 5 резиновых ножек.
В самом центре располагается логотип компании и этикетка с информацией о модели.
Блок клавиш состоит из 104 переключателей и выполнен в американской раскладке ANSI. Главными отличиями являются: однорядная клавиша Enter, равнозначный ALT и только правая клавиша Shift на 10 мм длиннее левой.
Над цифровым блоком установлены три стандартных индикатора: Scroll Lock, Num Lock и Caps Lock.
Клавиша F1 строго под клавишей 2.
Длинные клавиши, такие как: Enter, Space, Shift оснащены дополнительной металлической скобой для стабилизации.
Кейкапы у клавиатуры обычные – корпус сделан из пластика и покрашен в черный цвет.
Качество отливки хорошее, нет никаких неровностей или зазубрин.
Расположение кириллицы и латиницы строго по диагонали, буквы хорошо видны при включенной подсветке. Размер кириллицы и латиницы одинаковый и хорошо читаемый.
Хочется отметить, что работая на клавиатуре от компании Cougar, ощущается мягкое, приятное нажатие на клавиши, если нажать клавишу до упора, то в самой нижней точке, можно почувствовать сопротивление. Печатает Cougar Aurora практически бесшумно и мешать окружающим щелканьем, как было был на механических клавиатурах, вы не будете.
Тестирование функции Anti-Ghosting
Подсветка и функционал
Клавиатура Aurora имеет подсветку самих клавиш, логотипа вверху, а также скошенной грани, все клавиши подсвечены хорошо их видно в любое время суток. 8 цветов подсветки (оранжевый, красный, голубой, зеленый, фиолетовый, синий, желтый, белый) и 1 эффект мигания переключаются специальной клавишей.
При использовании клавиши Fn + Windows можно заблокировать нажатие клавиши Windows, что удобно в играх. Клавиша Fn+ W дублирует нажатие на стрелках.
При нажатии Fn + F c 1 по 12 мы получаем доступ к мультимедийным возможностям.
Fn+F1–запуск почтового клиента;
Fn+F9– запуск плеера;
Fn + F12 – выключение звука.
У данной клавиатуры нет программного обеспечения, так что записать макрос или настроить зоны подсветки не получится.
Опыт использования Cougar Aurora
Клавиатура Cougar Aurora выполнена настолько качественно, насколько это возможно при её цене. Карбоновое покрытие придает устройству стильный внешний вид, а также делает клавиатуру более дорогой.Черный кабель подключения гармонирует с клавиатурой. При нажатии клавиатура не прогибается, даже в случае максимально активных действий.
Что касается шума во время набора текста, то тут уровень звука такой же, как и на любой другой мембране.
Приятно порадовал и выбор высоты клавиатуры с помощью ножек, такое решение не увидишь и на более дорогих моделях клавиатур.
Вывод
Cougar Aurora за время тестирования показала себя с хорошей стороны. За свою стоимость пользователь получает стильно оформленную клавиатуру с восемью цветами подсветки и одним эффектом смены цветов, которая настраивается с помощью комбинаций клавиш. Три типа высоты подъема клавиатуры дадут больше возможностей для комфортной работы с клавиатурой Cougar Aurora. Так же большое количество прорезиненных ножек не дадут скользить клавиатуре по столу. Недостаток лишь в отсутствие программного обеспечения, что никак не скажется на функциональности. Впрочем, данная проблема характерна для многих мембранных клавиатур.
Технология защиты от привидений в игровых клавиатурах: как она работает?
Игровые клавиатуры обладают рядом характеристик, которых обычно не хватает обычным клавиатурам, и среди них есть технология защиты от ореолов, которую мы часто видим выражением английского термина «N-Key Rollover». Эта технология, как мы объясним ниже, может иметь несколько уровней эффективности и выражается переменной перед «сменой ключа», поскольку не все производители могут реализовать ее одинаковым образом. В любом случае, мы собираемся начать с самого начала, то есть с объяснения того, что такое фантомный хостинг, чего, как вы уже догадались из названия этой технологии, мы всегда будем избегать.
Что такое ореолы и почему они возникают?
Когда мы говорим о клавиатурах, ореолы Это явление возникает, когда вы одновременно нажимаете больше клавиш, чем может поддерживать клавиатура. Например, на клавиатуре, в которой отсутствует технология защиты от ореолов, в момент, когда вы нажимаете три клавиши одновременно, клавиатура «блокируется», и много раз оборудование издает звуковой сигнал, чтобы сообщить нам об этом.
Чтобы упростить внутреннюю схему клавиатуры, клавиши подключены к сетке, известной как матрица. Контроллер клавиатуры по очереди подает ток к каждому столбцу в матрице и проверяет, какие строки излучают ток; это указывает, какие пересечения сетки внутри столбца являются замкнутыми переключателями (которые были нажаты), и двоение происходит, когда ток течет в противоположном направлении вокруг матрицы, и заставляет строку излучать ток, когда этого не должно быть.
Как работает технология защиты от привидений?
Технология Anti-Ghosting основана на конструкции матричного переключателя, которая предотвращает зависания при нажатии определенных комбинаций клавиш. Он не снимает блокировку, за исключением некоторых случаев, и на самом деле во многих из них это маркетинговое преувеличение, но качество этой оптимизации матрицы означает, что мы сможем нажимать большое количество клавиш одновременно без сбоев.
Чтобы объяснить уровень или способность матрицы поддерживать одновременное нажатие клавиш, у нас есть термин » Key Rollover «. Например, клавиатура с 10-клавишной технологией защиты от одновременного нажатия клавиш означает, что она поддерживает одновременное нажатие до 10 клавиш до достижения уровня блокировки, в то время как 5-клавишная клавиатура с одновременным нажатием клавиш поддерживает одновременное нажатие только 5 клавиш. время, прежде чем мы дойдем до этого. Мы также можем видеть эти сокращенные термины как 10KRO или 5KRO в случае этих двух примеров, которые мы поместили.
Как проверить ореолы на клавиатуре
Когда вы используете клавиатуру для игр, вы, очевидно, не хотите, чтобы она имела ореолы (кейлоггер, который вы не нажимали) или сбой при нажатии различных комбинаций клавиш. Представьте, что вы играете в шутер от первого лица и продвигаетесь по диагонали (например, клавиши W + D) во время спринта (клавиша SHIFT) и хотите прыгнуть (клавиша пробела). Если на вашей клавиатуре нет технологии защиты от привидений, при нажатии четвертой клавиши произойдет сбой, и, следовательно, ваш персонаж не будет прыгать.
Например, здесь вы можете увидеть пример, который мы взяли сами, когда мы нажимаем комбинацию клавиш, которую мы упомянули в примере выше, но, очевидно, вы можете нажать столько клавиш, сколько хотите, чтобы проверить это самостоятельно.
NKRO, KRO, #KRO, 6KRO и Ghosting
Введение
Набирая текст на клавиатуре мы не задумываемся как она работает, пока не столкнемся с той или иной проблемой, для решения которой уже нужно понимание внутреннего устройства. Часто пользователи и геймеры сталкиваются с проблемами связанными с одновременным нажатием нескольких клавиш. В некоторых ситуациях это неприятно, а иногда даже критично. Давайте разбираться, что такое KRO, #KRO, 6KRO, NKRO и Ghosting.
Расшифруем эти аббревиатуры:
KRO – (Key Rollover) Количество одновременных нажатий клавиш.
#KRO – символ # – это максимальное количество клавиш, которые можно нажать одновременно и не сомневаться, что сигнал будет правильно обработан и передан компьютеру. Большинство мембранных клавиатур выпускается в классах 2KRO или 3KRO. Среди механических встречаются и клавиатуры класса 20KRO.
6KRO – (6-Key Rollover) 6 одновременных нажатий клавиш.
NKRO – неограниченное количество одновременных нажатий клавиш.
Ghosting – «фантомное нажатие». Подача сигнала с клавиши, которой вы не касались.
Разберемся как фиксируются и передаются нажатия клавиш в различных клавиатурах и как это устроено.
Полноразмерная клавиатура содержит 104/105 клавиш. Для регистрации нажатия со стопроцентной точностью требуется провести от каждой кнопки до контроллера провод и один общий на все – землю. Примерно по такой схеме:
Логично, что данная реализация сложная и дорога в производстве, виной тому, в основном, физические ограничения микроконтроллеров, на базе которых строятся клавиатуры. Дело в том, что с увеличением количества выводов у микроконтроллеров и программируемых логических микросхем растёт и их размер, что, в свою очередь, влечёт за собой рост энергопотребления, возможностей, но главное — цены. В итоге, вы можете выбрать либо дешёвый чип с небольшой производительностью, но с малым количеством входов и выходов, либо более мощную микросхему, производительность которой, однако, сильно превышает ваши требования. Но только этот мощный чип будет обладать достаточным количеством выводов, чтобы подключить каждую кнопку клавиатуры.
Поэтому многие недорогие клавиатуры строятся по принципу матрицы. Это набор пересекающихся горизонтальных и вертикальный контактов. Контроллер сканирует столбцы, обнаруживая сигнал сканирует уже строки и таким образом вычисляет нажатие.
В случае, если вы нажимаете, S + H и захотите нажать третью клавишу в другом ряду, контроллер уже не может сказать, какая из линий была замкнута и в лучшем случае не обнаружит одно из трёх нажатий, а в худшем, из-за особенностей разводки, определит ещё какое нибудь лишнее, которое вы не совершали.
Давайте посмотрим, что случится, если нажать несколько кнопок, находящихся одновременно в одной строке и в одном столбце.
На рисунке три кнопки нажаты одновременно. Две из них находятся в столбце «C2», и две — в строке «Rm». Это значит, что одна из нажатых кнопок делит строку с другой нажатой кнопкой, а столбец — с третьей нажатой кнопкой. Именно в такой ситуации и происходит фантомное нажатие. Представьте, что в данный момент мы опрашиваем столбец «C1» (то есть, он придавлен к земле — находится в состоянии «0»). Такой характерный аккорд нажатых кнопок приводит к следующему: даже несмотря на то, что левая верхняя кнопка не нажата, строка «R2» находится в состоянии «0», потому что она придавлена к земле столбцом «C1» (находящемся в «0») через три нажатые кнопки. В результате клавиатурный контроллер считывает левую верхнюю кнопку, как «нажатую», вне зависимости от того, нажата она на самом деле или нет. Описанная ситуация называется фантомным нажатием (ghosting), потому что некоторые комбинации одновременно нажатых кнопок вызывают фантомное срабатывание других кнопок (ghost keypresses), хотя физически эти другие кнопки и не нажаты.
Можно поймать момент возникновения фантомного нажатия и заблокировать его. Обычный человек не в состоянии одновременно нажать или отпустить две клавиши с идеальной точностью. Поэтому, сканируя матрицу достаточно быстро, мы можем предположить, что между двумя проходами по матрице изменить своё состояние может не больше одной кнопки. В таком случае, контроллер принимает одиночные нажатия и следит за возникновением ситуаций, когда между проходами матрицы оказываются нажатыми две кнопки или более. Учитывая, что сканирование матрицы происходит со скоростью, при которой штатное возникновение таких ситуаций крайне маловероятно, можно заключить, что одна из только что нажатых кнопок — призрак. Поэтому контроллер должен проигнорировать все эти нажатия. Кроме того, безопаснее сразу не сообщать компьютеру об изменениях статуса клавиатуры — сначала имеет смысл подождать, пока все эти срабатывания не пропадут.
Есть и другой подход. Можно выявить ситуацию, когда срабатывает «третья» кнопка, и заблокировать как это нажатие, так и все последующие. Блокировку не снимать до тех пор, пока фантомное срабатывание не пропадёт, и ситуация опять не станет нормальной. Для реализации этого подхода программа должна помнить, какие именно кнопки сейчас нажаты (а обычно она это помнит и так), чтобы отклонять последующие срабатывания кнопок, в строках и в столбцах которых уже зафиксированы одновременные нажатия. Если написать программу с умом, то блокироваться будут только проблемные срабатывания, а все последующие будут приниматься как обычно — кроме тех, что снова нарушат правила. Раз контроллер отвергает нажатие каждой кнопки, уже имеющей одновременные срабатывания в своей строке и столбце, то выходит, что в зависимости от статуса одних кнопок, другие могут не регистрироваться вообще. Эта ситуация широко известна как блокирование (jamming). То есть кнопки, которые препятствуют одновременным срабатываниям других кнопок, получается, «блокируют» часть клавиатуры.
С точки зрения пользователя, можно одновременно нажать все кнопки из одного столбца (не нажимая кнопок из другого), но одновременно нажать все кнопки из одной строки можно только в том случае, если в столбце у каждой из этих кнопок зафиксировано не более одного срабатывания. То же самое относится и к нажатию кнопок из одного столбца — дополнительные срабатывания фиксируются только в том случае, если кнопки находятся в строках, которые «не заняты».
Люди часто путают «фантомное срабатывание» и «блокирование срабатывания» («ghosting» и «jamming»)
В клавиатурах с использованием таких матриц, как мы только что рассмотрели, невозможно избежать ни фантомных срабатываний, ни блокирования. Поскольку фантомные срабатывания в повседневной работе недопустимы, то для борьбы с ними практически все производители резинокупольных клавиатур пускают в ход различные ухищрения, и в игру вступает блокирование.
Решается подобное поведение различными хитростями в области разводки: наиболее популярные сочетания размещаются на разных линиях, функциональным клавишам, которые часто являются элементами хоткеев, назначаются отдельные линии. Разводка остается достаточно простой, но в недорогих клавиатурах редко встречается 5+KRO — обычно дело ограничивается 3-4 одновременно зажатыми клавишами.
Сейчас эта дешёвая система почти полностью вытеснена более сложной, «открытой» матрицей, однако, экземпляры до сих пор встречаются.
В дорогих клавиатурах используются более сложные схемы, несколько контроллеров, индивидуальное подключение, многослойные печатные платы, одним словом различные подходы, которые уменьшают или полностью убирают Ghosting, но приводят к росту цены.
Так же стоит рассказать, что такое дребезг контактов в механических переключателях и про борьбу с ним. При работе с механическими кнопками возникает одна проблема — дребезг контактов. Суть его в том, что при замыкании контакт срабатывает не один раз, а в момент замыкания и размыкания происходит несколько срабатываний. Происходит это от того, что идеальный контакт возникает не сразу, а через какое то время, искрит и скрежещет, хоть это и не видно. Вот и получается, что вместо одного перепада получаем вначале серию всплесков и только потом возникает устойчивое состояние.
Но микроконтроллер работает с такой скоростью, что успевает посчитать эти всплески как устойчивые состояния. Решить эту проблему можно аппаратно, с помощью RS триггера, так и программно — внеся небольшую задержку перед следующим опросом кнопки. Задержка подбирается такой, чтобы дребезг успел прекратиться к ее окончанию.
Про PS/2 или что было до USB
Самым распространенным разъемом для подключения мыши и клавиатуры до USB был PS/2. Впервые он появился в 1987 году на компьютерах IBM PS/2. Скорость передачи данных — от 80 до 300 Кб/с и зависит от производительности подключенного устройства и программного драйвера.
Сиреневый – клавиатура, зелёный – мышь
Из шести контактов в разъёме используется четыре: тактовые импульсы, данные, питание, общий.
В настоящее время подавляющее большинство изготавливаемых компьютерных мышей и клавиатур имеют разъем USB, современные материнские платы не имеют разъёма PS/2 или имеют только один разъём, хоть ещё и можно встретить материнские платы с этим разъемом, это скорее уже редкость. Современные ноутбуки и ультрабуки вовсе не имеют внешних разъемов PS/2. Также у PS/2 наблюдается ряд недостатков таких как проблемы с Plug’n’Play и неудобство самого разъема.
Сами устройства ввода генерировали прерывание и отправляли информацию о нажатых кнопках или перемещении курсора. И тут хоть стучи по клавиатуре палкой, если всё разведено грамотно, и rollover не упирается в аппаратные возможности клавиатуры — клавиатура отправит всё, что прочитает контроллер.
NKRO на USB
И так мы разобрались, что PS/2 разъем практически вышел из употребления, давайте посмотрим как обстоят дела с популярным USB.
Для работы клавиатур через USB до загрузки системы (BIOS / UEFI) используется стандартный HID-драйвер (human interface device), который был разработан для максимально широкой поддержки клавиатур и USB-хостов. Класс USB HID описывает устройства таким образом, чтобы стандартная реализация USB-хоста и USB-устройства могли взаимодействовать без установки специальных драйверов.
Обычная клавиатура (с поддержкой USB HID) использует выходной (исходящий от USB-хоста) поток данных (endpoint USB-стека) для получения информации о состоянии индикаторов (Num / Caps / Scroll Lock), и входной поток (исходящий от клавиатуры, «входящий» для USB-хоста) для отправки информации о нажатых клавишах.
Если следовать наиболее строгой спецификации USB HID v1.11, которая поддерживает режим USB Boot (и позволяет использовать USB-клавиатуру для входа в BIOS и работы в нём), то клавиатура будет отправлять прерывания на CPU каждый раз, как USB-хост будет опрашивать её, вне зависимости от того, изменилось её состояние или нет. Таким образом «эмулируется» работа PS/2 клавиатур минимальными издержками.
В данном случае клавиатура работает по стандарту USB 1.1 (иногда 2.0) Low-speed, а частота опроса порта составляет 100 Гц. В данном режиме максимальная длина пакета на USB равна 8 байтам, а отправляются они раз в 10 мс. Один из байтов зарезервирован, так что на работу клавиатуры остаётся 7 байт, т.е. количество достаточное, чтобы закодировать нажатие любой клавиши-модификатора и еще шести других.
Получится, кто клавиатура работает в режиме 6-KRO, и он является стандартным для большинства USB-клавиатур. Сделать меньше — можно, больше — только с нарушением спецификации USB HID. Уже после загрузки система может увеличить частоту опроса USB-порта, загрузить драйвер, который позволит работать с мультимедийными клавишами и макросам.
Обходы ограничений USB HID, собственно, встречаются двух видов. В первом случае клавиатура обнаруживается фирменным ПО, переводится в какой-нибудь специальный режим и отправляет данные с контроллера напрямую в драйвер, а тот уже общается с системой. Минус такого решения — увеличивается т.н. input lag: задержка ввода.
Второе решение подкупает своей простотой и бесхитростностью, но по сути является костылём:
Клавиатура просто представляется в системе несколькими HID-устройствами, каждое из которых имеет свои 6KRO. Таким методом пользуются популярные производители периферии такие как Logitech, A4tech, Cougar и SteelSeries.
Кардинальное решение матричных проблем
Если вы еще раз взглянете на картинку про фантомные нажатия, то сможете заметить, что во всём виновата правая нижняя кнопка.
А ведь эта кнопка — единственная, через которую ток в данной ситуации течёт «вверх». Так что, если мы не хотим, чтобы текущие «вверх» токи мешали нам нормально считывать матрицу, то давайте введем диоды, чтобы ток мог идти по столбцам строго сверху вниз, втекая в выходы микроконтроллера.
К сожалению, сэкономить тут не получится — придётся ставить по диоду на каждую кнопку. Если же говорить о полярности, то вы уже должны были разобраться, что в данном конкретном случае диоды должны пропускать ток «сверху вниз», то есть их катоды («кончики стрелок») должны смотреть на выходы микроконтроллера (столбцы), тогда как аноды должны быть обращены ко входам (строкам).
Не имеет значения, с какой стороны кнопки располагать диод; главное — соблюсти верную полярность. Просто запомните, что в данном случае ток всегда будет течь от входов к выходам. К слову, если входы подтянуты к питанию, а выходы — в режиме ОС, то так происходить будет всегда.
При данном подходе получается, что ток всегда будет течь «вправо вниз», и это исключает появление замкнутых токовых контуров при одновременном нажатии нескольких кнопок. Кроме того, эта конструкция — единственная, которая может обеспечить клавиатуре полный NKRO. Вдобавок, нелишним будет упомянуть (хотя это и кажется очевидным), что проблема отсутствия у выходов микроконтроллера режима ОС решается теперь автоматически. Диоды, установленные последовательно с каждой кнопкой, избавляют выходы от замыкания.
Существуют моды проделанные энтузиастами по установке диодов в механические клавиатуры: