Винаходимо кнопки миші заново, тому що виробник ноутбука зробив їх кнопками клавіатури: перепризначення клавіш клавіатури на кнопки миші

Покупка ноутбука маловідомого китайського бренду – це завжди ризикована гра. Іноді ризик окупається, і ви отримаєте неймовірне пристрій за нижчою ціною. В інших випадках це занурення в безумство. Це був один з таких випадків.

Пристрій, про який йде мова, представляє собою витончений 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-дюймовий комп’ютер, який колись був складною головоломкою, тепер перетворився на функціональну портативну робочу станцію.

Ця подорож в глибини апаратних примх і програмних рішень принесло один ясний урок: у світі маловідомих брендів ноутбуків очікуйте неочікуваного.

The post Винаходимо кнопки миші заново, тому що виробник ноутбука зробив їх кнопками клавіатури: перепризначення клавіш клавіатури на кнопки миші appeared first on .

Posted in Новини / Світ нових технологій.

Залишити відповідь