Понедельник, 3 марта, 2025

Изобретаем кнопки мыши заново, потому что производитель ноутбука сделал их кнопками клавиатуры: переназначение клавиш клавиатуры на кнопки мыши

Покупка ноутбука малоизвестного китайского бренда-это всегда рискованная игра. Иногда риск окупается, и вы получите невероятное устройство по более низкой цене. В других случаях это погружение в безумие. Это был один из таких случаев.

Рассматриваемое устройство представляет собой изящный 7-дюймовый карманный ноутбук — инженерное чудо портативности. Достаточно маленький, чтобы поместиться в сумке, достаточно легкий, чтобы носить с собой куда угодно, и работающий под управлением полной Windows на процессоре Intel x86, он был идеальным компаньоном для повышения производительности буквально на ходу. По крайней мере, так казалось.

7-дюймовый карманный ноутбук

Первый сюрприз был приятным. Скрытый порт USB-C, который продавец забыл сделать доступным через корпус ноутбука. Его легко устранить с помощью дрели. И теперь вместо двух USB-портов ноутбук стал оснащен тремя USB-портами-приятно!

Но такое открытие было гораздо хуже. Кнопки мыши, которые казались функциональными, на самом деле маскировались под клавиши цифровой панели. Недостаток дизайна настолько абсурден, что казался преднамеренным, поскольку назначенные клавиши numpad соответствуют клавишам мыши, когда активирован режим доступности Windows для numpad.

Война против машины

Призрачные кнопки мыши

На первый взгляд, все выглядело нормально. В ноутбуке был трекпад и две кнопки под ним. Но нажатие на них вел себя не так, как ожидалось. Двойной щелчок? Ха-ха, не в этот раз. Перетаскивание файлов? Невозможно. Щелчок правой кнопкой мыши для доступа к контекстным меню? Катастрофа.

Поставщик воспользовался быстрым способом-назначил левую и правую кнопки мыши клавиши цифровой панели. Кроме того, эти клавиши можно было активировать только в режиме специальных возможностей, и только тогда Windows могла интерпретировать их как щелчки. Но на самом деле они были лишены необходимой функциональности. Это было не просто неудобство; это делало ноутбук практически непригодным для использования без внешней мыши.

Посмотрите видео ниже о том, как простой двойной щелчок левой кнопкой мыши не работает. Здесь пользователь пытается открыть содержимое диска:

Но внешняя мышь перечеркивает концепцию ультрапортативного ноутбука карманного размера. Битва за настоящие кнопки мыши началась.

Идеальное решение, которого никогда не будет

Лучшее решение было очевидным: изменить прошивку мультиконтроллера ноутбука и прошивку UEFI BIOS, чтобы переопределить эти кнопки как настоящие кнопки мыши. Но это опасная территория.

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

Риски были слишком высоки. Нужна новая стратегия.

Временное исправление: виртуальная мышь

Ноутбук оснащен сенсорным экраном. Возможно, это могло бы стать временным решением. Но палец слишком грубый для небольших элементов интерфейса Windows, отображаемых на 7-дюймовом дисплее. К счастью, есть программный инструмент TouchMousePointer, который превратил часть сенсорного экрана в виртуальный трекпад.

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

Хуже того, сенсорный экран имеет свой фатальный недостаток. Если бы ноутбук не был выключен в правильной последовательности, сенсорный экран таинственным образом перестал бы работать. Вероятно, из-за сбоя в прошивке мультиконтроллера.

Единственный способ исправить это? Полный сброс питания мультиконтроллера. Обычная перезагрузка не помогает, так как мультиконтроллер всегда включен. Вам нужно будет отключить подачу электроэнергии на мультиконтроллер. Что в современных устройствах означало физическое отключение аккумулятора. А это возможно только при разборке ноутбука.

Независимо от сенсорного экрана, ноутбук получил все, что вы ожидаете от мыши: перетаскивание и контекстное меню при щелчке правой кнопкой мыши. Его не очень удобно использовать для тяжелой работы, так как он занимает немного места на этом крошечном экране, а рука блокирует содержимое. Но он позволяет выполнять работу.

Однако поиски лучшего решения продолжались.

Охота за реальным решением проблемы

Следующей идеей было переназначить клавиши numpad на уровне операционной системы. Если прошивку мультиконтроллера изменить невозможно, возможно, Windows можно было бы заставить воспринимать клавиши NUMPAD как настоящие кнопки мыши.

Capsicain

После тестирования нескольких инструментов переназначения выделился один: Capsicain , мощный инструмент переназначения на уровне драйверов, разработанный пользователем по имени Cajhin. В отличие от обычных пользовательских приложений пространства, Capsicain имел доступ к системе на глубоком уровне, так что переназначения выглядели так, как если бы они были собственными аппаратными входами.

Capsicain в принципе может делать все, что угодно, с помощью символов ввода, и ОС будет рассматривать это как аппаратный enter. Это означало бы, что, по крайней мере, в Windows аппаратные нажатия кнопок mose будут обрабатываться как настоящие кнопки мыши в любом приложении и без проблем с производительностью.

Взволнованный, настройка началась. Переназначение кнопок было настроено:

[CONFIG_1]
OPTION ConfigName MouseKeysRewire

REWIRE    NP5 {MOUSE1}
REWIRE    APPS {MOUSE2}

Но дальше — самый жестокий поворот. Оригинальный Capsicain не поддерживает переназначение кнопок мыши.

Запрос поддержки переназначение кнопки мыши CapsicainПредставьте себе разочарование, когда выяснилось, что Capsicain не поддерживает переназначение в клавиши мыши. Это приложение поддерживает любое переназначение, вы можете выполнять даже сложную логику с переназначением. Но не простое переназначение клавиш мыши.

Луч надежды: форк Capsicain

Как только надежда начала угасать, открытие возобновило борьбу. Другой пользователь по прозвищу Dregu попросил разработчика оригинального Capsicain реализовать поддержку мыши и даже предоставил код этой модификации. Но, видимо, дрэгу не получил ответа, поэтому он раздвоил Capsicain и реализовал поддержку кнопок мыши. Это был прорыв!

Была немедленно создана обновленная конфигурация переназначения с включенным переназначением мыши:

[CONFIG_1]
OPTION ConfigName MouseKeysRewire
OPTION enableMouse
OPTION IncludeDeviceID ven_syna

REWIRE    NP5 {MOUSE1}
REWIRE    APPS {MOUSE2}

За исключением того, что реальность снова вмешалась. Вилка сработала, аппаратные кнопки мыши фактически стали программными кнопками мыши, и это работало во всех приложениях.

Но радость продолжалась до первой перезагрузки. Оказалось, что Capsicain требует использования этой мыши для преобразования клавиш numpad кнопки мыши. Это было не сразу очевидно, потому что вилка Capsicain была настроена, когда использовалась настоящая мышь. Приложение автоматически вынесло мышь и начало переназначать ее кнопки. Однако на свежезагруженном ноутбуке нет HID-устройства, которое можно было бы рассматривать как мышь, или просто неизвестно, как правильно настроить приложение.

Чтобы переназначение кнопок мыши Capsicain заработало после перезагрузки ноутбука, нужно сделать одно нажатие реальной мышью, подключенного к ноутбуку. Это позволило приложению «видеть» мышь. Это было все равно, что получить ключ от запертая дверь только для того, чтобы узнать, что вам нужен другой ключ, чтобы использовать его.

Переназначение кнопки мыши Capsicain falisПоскольку отсутствует информация об оригинальном Capsicain и особенно о его форке, это решение приостановлено до получения дополнительной информации. Поиск решения, подходящего для повседневного использования, продолжается.

Компромисс, который работает: AutoHotkey

Когда все остальные опции были исчерпаны, приложение AutoHotkey казалось лучом света сквозь тяжелые темные тучи. AutoHotkey (AHK) работает в пользовательском пространстве, что означает отсутствие глубокой системной интеграции, на которую способен Capsicain. Но AHK все еще может выполнять работу, по крайней мере, большую часть времени.

Когда AHK недостаточно из-за ограничений работы в пользовательском пространстве, например, на виртуальной машине, запускается резервный метод приложения touchscreen и TouchMousePointer. Конечно, если ноутбук был выключен правильно и сенсорный экран функционировал.

Сценарий AHK был простым, но эффективным:

VK65:: LButton  
VK0C:: LButton
VK01:: LButton
return

VK5D::  
click Down right ;click right mouse button and hold
keywait, VK5D ; wait until key is released.
click Up right ; release right mouse button
return

С помощью этого скрипта аппаратные кнопки мыши ноутбука, наконец, вели себя как настоящие кнопки мыши — перетаскивание работало, открывались меню, вызываемое Правой Кнопкой Мыши, фактически выполнялся двойной щелчок, и производительность была восстановлена. Для повседневного использования он достаточно хорош.

Переназначение кнопки мыши AutoHotkey

Выигранная битва, незавершенная война

Проблема действительно была решена? Не полностью. Лучшее решение-перезапись прошивки — остается недоступным. На этом ноутбуке просто нет информации и инструментов.

Но ноутбук, наконец, можно было использовать каждый день. Крошечный 7-дюймовый компьютер, который когда-то был сложной головоломкой, теперь превратился в функциональную портативную рабочую станцию.

Это путешествие в глубины аппаратных капризов и программных решений принесло один ясный урок: в мире малоизвестных брендов ноутбуков ожидайте неожиданного.

НАПИСАТИ ВІДПОВІДЬ

Коментуйте, будь-ласка!
Будь ласка введіть ваше ім'я

Євген
Євген
Евгений пишет для TechToday с 2012 года. По образованию инженер,. Увлекается реставрацией старых автомобилей.

Vodafone

Залишайтеся з нами

10,052Фанитак
1,445Послідовникислідувати
105Абонентипідписуватися

Статті