Купил себе Fang Gamepad. Штука вроде ничего, хотя цена на нее отнюдь не божеская, но сакральный смысл есть — у меня клавиатура эргономичная из половинок, рука большая, поэтому все те вещи которые в шутерах делают клавиатурой мне делать довольно сильно неудобно, пальцы не очень помещаются, а половинки клавиатуры не на все функции хватает. На самом деле, это не геймпад, конечно. Это USB-клавиатура.
Однако, ведет она себя довольно странно.
Сходите по вышеприведенной ссылке и посмотрите как размечены кнопки. Шесть красных клавиш честно помечены как q, w, e, a, s, d, и именно эти сканкоды и производят, однако на этом логика заканчивается.
Одиннадцать цифровых клавиш частью оказываются кнопками из номерного ряда, а частью с numpad. Кнопка номер десять — 0, а номер одиннадцать — F7. Кнопки v, b и c соответствуют тому что там написано, а вот вместо кнопки z генерится слэш. Подобные извращения продолжаются и с другими кнопками.
Вроде бы и хрен бы с ним, почти все кнопки в современном шутере распознаются безотносительно от всех этих глупостей, и их можно просто переназначить по желанию. Однако конкретно в моем случае, кнопки нумпада имеют специфическое значение, и мне бы хотелось чтобы их никто не трогал. Поэтому я попробовал поставить драйвер, в надежде что он даст мне переназначить кнопки… Мать моя женщина, совсем обурели.
Этот, с позволения сказать, “драйвер” написан на Microsoft .NET, но это само по себе не так страшно. Однако он умудряется занимать в памяти 60 (!!!!) мегабайт! При этом, он весь полон профилей, рассчитанных на несколько сотен различного рода игр. Профили активируются автоматически в зависимости от того, какая из них запущена, и что-то там переназначают, видимо, в расчете на дефолтную раскладку каждой. Профиль жестко привязан к игре, сам распознает когда игра загружена, и активируется, никого не спрашивая. А теперь самое забавное.
Редактировать профили нельзя.
Это было бы смешно, если бы не было так грустно…
P.S.: Оказалось, что профили редактировать таки можно, хотя это делается очень странным образом. Тем не менее, я все-таки его надул — инсталлятор ставит одновременно низкоуровневый драйвер, написанный более или менее честно, и систему управления оным, которая и весит эти 60 мегабайт. Прибив загрузку управляющего модуля, но оставив низкоуровневый драйвер, я обнаружил что кнопки стали давать именно те сканкоды, которые положено.
И на том спасибо.
