Про трекпоінт і емуляцію миші
Навіщо це потрібно і як реалізувати програмно
багато міркувань
У попередній статті про налаштування док-станцій, я згадував як тяжко, свого часу, мені було користуватися лептоп «споживчого» сегмента. Відсутність 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 і переробити її в механіку.