Купил я как-то себе мышку Redragon M693-RGB — стильный зверь: RGB-подсветка, куча кнопок, выглядит так, будто готова выиграть чемпионат по киберспорту. Радость была недолгой: стоило мне скачать драйвер с сайта производителя, как всё пошло не по плану. На экране красовалась упрямая надпись: «Mouse device is not detected». Мышка вроде подключена, горит всеми цветами радуги, а драйвер её будто не видит.
Я сразу полез в интернет — ну не может быть, чтобы я один такой невезучий. Оказалось, что нет: проблема встречалась у многих, но готовых решений не было. Перепробовал кучу версий драйверов — и старые, и новые, и «самые стабильные», и «только что выпущенные». Ничего не помогало. Каждый раз одно и то же: мышка светится, драйвер грустит и пишет, что устройства не обнаружено.
Потом я открыл Reddit и начал методично пролистывать треды. Там народ делился своими теориями: кто-то грешил на USB-порты, кто-то советовал менять кабели, кто-то предлагал вообще забыть про официальный драйвер и пользоваться стандартными средствами Windows. Но ни один из советов не решал проблему. В какой-то момент я уже начал думать, что мышка просто несовместима с моим компьютером — или со мной.
И тут, почти случайно, я наткнулся на сайт redragon.ru. Не на международный, а именно на российский. И там, среди прочих файлов, лежала версия драйвера, которая наконец-то увидела мою мышку. Победа! Но радость была недолгой: интерфейс программы оказался доступен только на трёх языках — английском, упрощённом китайском и традиционном китайском. Для меня, человека, который даже в Google Translate иногда теряется между этими двумя китайскими вариантами, это был вызов.
«Ладно, — подумал я, — если никто не сделал русский, сделаю сам». И тут началось самое интересное. Я решил добавить поддержку русского языка в этот драйвер. Сначала нужно было понять, как вообще устроена мультиязычность в этой программе. Я копался в файлах, изучал структуру, пытался разобраться, где хранятся строки, как они подгружаются, как программа выбирает нужный язык. Это было похоже на археологические раскопки: ты не знаешь, что именно ищешь, но понимаешь, что где-то тут точно есть клад.
Когда перевод был готов, начались новые приключения. Программа просто отказывалась запускаться с моими изменёнными файлами. То ошибка, то вылет, то вообще тишина. Я перепробовал десятки вариантов, менял кодировки, проверял пути, сверял байты. И в какой-то момент пазл наконец сложился — программа запустилась, и в списке языков появился русский.
Но это было только полдела. Теперь нужно было упаковать всё это в инсталлятор, чтобы другие пользователи могли просто скачать и установить драйвер с русской локализацией. Я открыл exe-файл инсталлятора через Resource Hacker и увидел следы того, что он был собран в Inno Setup. Это дало мне направление, куда копать дальше.
Декомпиляция инсталлятора заняла немало времени. Нужно было вытащить оригинальные файлы, аккуратно вставить туда свои, сохранить структуру, не сломать скрипты установки. Я буквально по крупицам собирал новый инсталлятор. Было страшно: одно неверное движение — и всё, придётся начинать заново. Но я справился.
В итоге у меня получился полностью рабочий инсталлятор драйвера с поддержкой русского языка. Я пересобрал его, проверил на нескольких компьютерах, убедился, что всё работает, и выложил для пользователей. Теперь кто-то, столкнувшись с той же проблемой, сможет просто скачать этот драйвер и не тратить столько времени и нервов, сколько потратил я.
Эта история — не про то, как я стал суперхакером. Это про то, что иногда решение проблемы лежит не в самых очевидных местах, а упорство и любопытство творят чудеса. Ну и про то, что даже самая красивая мышка может устроить тебе квест на несколько дней — но если не сдаваться, в конце обязательно будет хэппи-энд.