![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: нет Всего: 5 |
Знаю что кроссплатформенного способа нет, поэтому решил писать реализацию под каждую ОС. Но и это оказалось не просто
Shift +Ctrl+Print Screen ? и если можно то как ? |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: нет Всего: 110 |
это же системное программирование. по вендусной теме нужно было создавать тему в вендусном разделе. по линуксячей - в линуксячем. по маковой - в маковом.
|
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: нет Всего: 5 |
Так и думал
|
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: нет Всего: 5 |
Кстати сейчас подумал, может в венде можно переназначить эти комбинации клавишь на вызов моей программы ?
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: нет Всего: 110 |
вот для вендус: http://answers.google.com/answers/threadview/id/133059.html
Добавлено через 5 минут и 1 секунду для линукс, наверное самым простым способом будет чтение девайса клавиатуры. никаких суперправ для этого не нужно. http://stackoverflow.com/questions/2775461...ring-dev-inputx |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 1 Всего: 196 |
не самое разумное решение... Может лучше это: http://stackoverflow.com/questions/50182/l...eating-a-window |
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: нет Всего: 5 |
Вендовый пример, видел до того как ты ссылку скинул, и попробовал, он не работал, после того как ты ссылку скинул,я решил еще раз проверить, все заработало
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: нет Всего: 110 |
bsa, зачем ему для чтения клавы, лезть в дебри X сервера? хоть один плюс аргументируй. (кроме как для расширения кругозора)
Добавлено через 41 секунду да. с аурой мы в сговоре. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 1 Всего: 196 |
1. надо искать среди эвентов ту клаву, которую юзает пользователь. 2. были у меня проблемы с клавой, когда я работал с ней через event. Причем, с PS/2 проблем не было, а от USB клавы ничего не получал. При работе с X сервером этих проблем нет. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: нет Всего: 110 |
вариант.. |
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: нет Всего: 5 |
Столкнулся с небольшой проблемой, с кодом который кинул bsa, отлавливает события хорошо, но он ловит всю клаву, и не дает выполнять обычный набор текста к примеру, как бы вернуть выполнение событий системе если это не нужная мне клавиша ?
я пробовал так
мол если это не то событие что нам нужно убираем граб, ставим событие в очередь, и возвращаем граб. Но чет не сработало, пробовал тоже с XSendEvent тож не прокатило. Как можно побороть проблему ? |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 1 Всего: 196 |
смотри QApplication::x11EventFilter.
|
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: нет Всего: 5 |
Спасибо всем за помощь. QApplication::x11EventFilter не помог ибо он клавиатуру не ловит. Но нашелся вариант с XSendEvent описал вот тут
https://sites.google.com/site/ecspertiza/st...int-screen-v-qt |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |