Intereting Posts
Что такое ярлык для блокировки компьютера? Как скрыть размер жесткого диска в имени тома? Не удается получить доступ к Ubuntu через удаленный рабочий стол Windows как просмотреть полную активность процесса / приложения? Обновление до Ubuntu 13.04 с помощью USB-устройства с двойной загрузкой Как использовать ffmpeg для съемки с помощью моей веб-камеры? Как установить драйвер принтера LBP в Ubuntu 16.04LTS? Редактор видео для создания профессионального вида Linphone: не удалось запустить tls на порт 5060, возможно, этот порт уже используется? Как получить доступ к внешнему жесткому диску, подключенному к моему маршрутизатору? Сценарий Bash, чтобы открыть evince (pdf reader) и закрыть терминал Firefox 43.0.4 на Ubuntu 15.10 невероятно медленно загружает страницы Не удается запустить задание cron для скрипта php WebGL не работает в Chromium на Ubuntu Нежелательное окно запроса аутентификации при входе в систему после обновления до Ubuntu 13.10

Обнаружение абсолютных положений пальца на трекпаде

Я нахожусь на 13-дюймовом MacBook Pro (модель 7,1. Середина 2010 года), и я недавно установил Ubuntu 12.04 LTS. По сути, я пытаюсь сделать программу, которая вызывает контекстное меню, когда пользователь нажимает в правом нижнем углу сенсорной панели Mac.

Основная проблема здесь заключается в том, чтобы определить, где именно находится позиция пользователя на трекпаде. Конечно, это довольно легко сделать в OSX, используя NSTouch :

 - (void)touchesBeganWithEvent:(NSEvent *)event { NSSet *touches = [event touchesMatchingPhase:NSTouchPhaseBegan inView:self]; for(NSTouch *touch in touches) { NSPoint normalizedPosition = touch.normalizedPosition; //points inside `normalizedPosition` //top center: (.5, 1), bottom left: (1, 0) } } 

Тем не менее, проблема делает то же самое в Ubuntu (любой язык программирования, если честно). Итак, я видел сообщения, подобные этому , однако, поскольку я уже понял, как это сделать в OSX, я не рассматриваю этот вопрос как релевантный. Я также видел этот пост, однако я не ищу универсальный стандартизированный способ определения абсолютного положения пальца. Честно говоря, я был бы рад, если бы Ubuntu обнаружил позиции пальцев только для гусениц Mac-made. Увидел этот пост AskUbuntu , но ответчик (хотя он делает большое резюме), кажется, говорит более универсально.

Кто-нибудь знает, как получить что-то вроде атрибута normalizedPosition в NSTouch в Ubuntu (или язык программирования, который компилируется на Ubuntu)?

Вы можете сделать это с помощью библиотеки mtdev . Начните с evtest, чтобы выяснить, какое устройство ввода и информация нужно использовать на устройстве ввода, а затем используйте библиотеку mtdev для доступа к ней с C.

Еще одна отличная библиотека для выполнения того, что я изначально пытался сделать (т. Е. Создать зону на трекпаде, которая вызовет контекстное меню вверх), это библиотека mtrack (чтобы сохранить некоторую работу). В нем также есть примеры для доступа к информации из mtdev, если вы хотите отправиться на охоту через код.