Про трекпоінт і емуляцію миші

Навіщо це потрібно і як реалізувати програмно

багато міркувань

У попередній статті про налаштування док-станцій, я згадував як тяжко, свого часу, мені було користуватися лептоп «споживчого» сегмента. Відсутність docking-port'a і необхідність щоразу по приходу додому або на роботу підключати купу кабелів - все це неприємно і дратувало, але що дійсно викликало страждання, так це відсутність Трекпоінт: тієї самої «червоної пимпочки», яку можна зустріти на лаптопах від IBM / Lenovo (синя або сіра в разі HP і DELL). Детальніше можна почитати на тій же Вікіпедії.

Навіщо він потрібен? Коли більша частина операцій проводиться з клавіатури, будь то написання коду, або робота в командній оболонці, необхідність перемістити руку на мишу щоб перемістити графічний курсор і що-небудь там клікнути не викликає особливої ​​радості.

Про трекпоінт і емуляцію миші

Особливу нелюбов до використання миші створює звичка працювати на достатньому видаленні від монітора (до двох метрів), розташувавши клавіатуру на колінах. Тут на допомогу і приходить чудовий міні-джойстик: для маніпуляцій графічним курсором, всієї кисті немає потреби залишати межі home row, потрібно перемістити лише вказівний палець правої або лівої руки, а клавіші знаходяться під великими пальцями. Для наочності, наведу старий ролик від IBM:

Проблема в тому, що на даний момент знайти пристойну клавіатуру, оснащену таким пристроєм стає все важче: серійно їх виробляє тільки Unicomp. при цьому самі клавіатури досить громіздкі, з класичної 104-key розкладкою.

Існують моделі від Lenovo, в основному орієнтовані на використання в серверній стійці (тобто, більшу частину часу, що валяються там, підключені до консолі) з досить низькою якістю матеріалів (дешевий, швидко витирається пластик, кволі ніжки), плюс всі ці клавіатури мембранні.

Про трекпоінт і емуляцію миші

З трьох клавіатур виробництва IBM / Lenovo, найтепліші почуття викликає модель Space Saver 2: досить важка, шорсткий пластик, міцні ніжки і гумові вставки, що не відклеїлися за, приблизно, вісім років експлуатації. Недолік у даній клавіатури рівно один: вона теж мембранна з усіма наслідками, що випливають.

Вельми зручних при використанні в Unix-середовищі так-званих 60% клавіатур з трекпоінтом буквально одиниці: Tex Yoda і Guru-board. та й ті, скоріше, є кастомом, ніж серійно виробляються.

Про трекпоінт і емуляцію миші

Про трекпоінт і емуляцію миші

Загалом, тяжко нині любителям Трекпоінт: вибір дуже малий. Доведеться або шукати model M раритети від IBM, або купувати Unicomp, або задовольнятися ножичними мембранкі від Lenovo (до речі, теж вельми не дешевими).

Про трекпоінт і емуляцію миші

Таким чином і народилася думка, що непогано б це самий трекпоінт емулювати. Тобто управляти переміщеннями графічного курсора з клавіатури.

мало налаштувань

Відразу згадалося, що в X-системі потрібний функціонал колись був: для управління графічним курсором можна використовувати нампад (активація по Shift + Numlock).

Правда, клавіатурами з нампадом я давним-давно не користуюся, та й знову ж туди-сюди смикати кисть - це не діло. Тому, спосіб цей не годиться. Ми підемо іншим шляхом.

Є така утиліта: xdotool, що дозволяє емулювати натискання клавіш і руху миші. Годиться вона не тільки для імітації рухів миші, але і для автоматизації будь-яких мишачі-клавіатурних дій.

І так, сценарій простий: забіндити виклик xdotool з потрібними параметрами на хоткеі, або ввести додатковий режим клавіатури.

Так як я користуюся віконним менеджером i3. покажу на його прикладі. Створювати режими клавіатури, які можуть використовуватися як для кейчейнов, так і модифікованого введення, в цьому WM одне задоволення:

Для того, щоб пересунути курсор миші, на задану позицію щодо поточного місця розташування, потрібно виконати наступну команду:

Для емуляції кліка:

Де 1 - ліва кнопка, 2 - середня, 3 - права.

А конфиг для i3 буде виглядати так:

На жаль, реалізувати прискорення курсору навскидку не вдалося.

Для тих, хто користується іншими віконними менеджерами або DE, можу порекомендувати утиліту xbindkeys.

Трекпоінт, безумовно, набагато зручніше, але це все-таки краще, ніж кожен раз тягнутися за мишею.

У кого-то може виникнути питання: якщо працюємо за лаптопов, то чому б не використати тачпад? По-перше, особисто мені використовувати його важко, аж до виникнення больових відчуттів: без відриву пальців від home row, управління проводиться великим пальцем сильної руки, вивернутим під тупим кутом. У такому положенні палець досить швидко починає хворіти. Якщо тикати вказівним пальцем, то знову виникає проблема перенесення кисті і в цьому випадку куди простіше і логічніше взятися вже, врешті-решт, за миша. Також моторошно дратували помилкові спрацьовування при наборі тексту, відключатися при наборі тачпади навчилися не так давно, та й то не всі.

На цьому поки все. Таке рішення цілком згодиться як тимчасовий захід. А в якості постійної, планую відновити IBM SpaceSaver 2 і переробити її в механіку.