Вызов функции каждый раз при нажатии клавиши (независимо от того, какое окно имеет фокус)? - PullRequest
5 голосов
/ 14 декабря 2009

Я хочу написать программу (на python) для Linux (Ubuntu Linux 9.10), которая будет отслеживать, сколько нажатий клавиш в секунду / минуту я делаю. Это включает в себя обычные буквенные клавиши и управление / сдвиг / пробел / и т. Д.

Есть ли какой-нибудь способ подключиться к X, чтобы я мог сказать «когда нажата клавиша, вызовите эту функцию?». Поскольку я хочу, чтобы это работало в фоновом режиме, пока я работаю нормально, этот вызов функции должен быть в состоянии знать обо всех нажатиях клавиш для всех программ. Я полагаю, это немного похоже на кейлоггер.

Это только личная вещь, поэтому мне все равно, чтобы она работала в Windows / OSX, и мне не важно, когда люди устраивают удаленные сеансы X и т. Д.

Ответы [ 2 ]

5 голосов
/ 14 декабря 2009

Я бы рекомендовал вам взглянуть на вопрос StackOverflow: Существует ли кроссплатформенный низкоуровневый API-интерфейс Python для захвата или генерации событий клавиатуры?

Вы также можете посмотреть на Простой Python Keylogger .

Хотя и не написано на Python, вы также можете взглянуть на LKL Linux KeyLogger . WEB-NES-BAY имеет инструкции по использованию LKL Linux KeyLogger .

5 голосов
/ 14 декабря 2009

Посмотрите, что уже сделали другие. Вы можете посмотреть, как этот pykeylogger код обрабатывает Linux в его бэкэнде , и посмотреть, работает ли он для вас.

...