![]() |
|
Модераторы: xvr |
![]()
|
|
| cupper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: нет Всего: 1 |
Здравствуйте. Мне нужно отслеживать нажатые на клавиатуре клавиши (получить их коды, или же сразу букву обозначающую клавиатуру, но только нужно в обоих раскладках это получать...) (только буквы или shift + буквы). Немного погуглив огорчился так как ничего точного на этот вопрос не нашел.
Реализовать это нужно на С++ (ну вернее хочется), не какие модули ядра не катят, работать должно без прав рута. Вопрос... это вообще возможно ? На сколько я понял средствами С++ этого не сделать, и нужны библиотеки типа QT или чего там еще есть. В какую лучше обратить с поставленной задачей. Задача максимум: получать коды символов нажатых в пределах одного окна (поля ввода) (не своей программы, а системы в целом). Тобишь если @ввод" попал в какуюто область ввода (строка браузера, блокнот, опенофис) нужно это как то отследить и считывать в буфер (по ходу ввода) вводимые данные. Воот, подсобите |
|||
|
||||
| null56 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 4 Всего: 12 |
посмотри запрос в гугле: "linux клавиатурный шпион"
может найдешь - то что тебе нужно http://www.google.ru/search?q=linux+%D0%BA...%B8%D0%BE%D0%BD |
|||
|
||||
| cupper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: нет Всего: 1 |
на тему кейлогеров я пробывал гуглить, правда не особо долго так как там на такие запросы ищется только софт. Даже если и получится найти исходники то они скорее всего будут сделаны на С с использованием какогонибуть хардкора. Я же хочу найти аккуратное решение. Как многие вероятно подумали, я замыслил написать не кейлогер, а корректно раскладки )) написать не абы как, нормально. |
|||
|
||||
| cupper |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: нет Всего: 1 |
не подскажите как в GTK получить окно (верхнего уровня) которое в данные момент владеет фокусом ?
Перегуглил уже тонну сайтов, доку перерыл, но именно этой функции так и ненашел. Есть, функция gtk_window_list_toplevels
можно перебирать весь список и проверять каждое окно функцией gtk_window_is_active ()
но я не уверен что правильно понял их смысл. И данное решение уж совсем плохое. Это сообщение отредактировал(а) cupper - 19.1.2011, 13:44 |
||||
|
|||||
| cupper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: нет Всего: 1 |
нашел функцию Xlib XGetInputFocus(), теперь вопрос в том как дескпритор окна Window переделать в GtkWindow ?) или это тоже неочень хорошее решение ?
|
|||
|
||||
| null56 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 4 Всего: 12 |
cupper, вообще подобные вопросы лучше задавать в разделе "Кроссплатформенное программирование (gtk/qt)", сюда спецы по подобным вопросам могут просто не заглядывать
|
|||
|
||||
| cupper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 525 Регистрация: 29.11.2006 Репутация: нет Всего: 1 |
упс. Я как то сей раздел даже не замечал. Спасибо. Эту тему в общем закрываю. Перехожу туда.
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
клавиатура - это устройство. читай асинхронно /dev/input/event*
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |