如何在Linux中捕获按键(密钥记录)?

时间:2016-08-07 17:44:09

标签: python linux

如何在Linux中捕获按键(密钥记录)?

对于Windows存在pyHook库,但我不知道如何在Linux中执行此操作。

2 个答案:

答案 0 :(得分:3)

您可以使用pyxhook:

#!/usr/bin/env python

import pyxhook

def OnKeyPress(event):
    print (event.Key)


    if event.Ascii == 32:
        exit(0)

hm = pyxhook.HookManager()
hm.KeyDown = OnKeyPress

hm.HookKeyboard()

hm.start()

sudo apt-get install python-xlib https://github.com/JeffHoogland/pyxhook

答案 1 :(得分:3)

#!/usr/bin/env python    
import pyxhook
import time

#This function is called every time a key is presssed
def kbevent( event ):
   #print key info
    print event

#If the ascii value matches spacebar, terminate the while loop
if event.Ascii == 32:
    global running
    running = False

#Create hookmanager
hookman = pyxhook.HookManager()
#Define our callback to fire when a key is pressed down
hookman.KeyDown = kbevent
#Hook the keyboard
hookman.HookKeyboard()
#Start our listener
hookman.start()

#Create a loop to keep the application running
running = True
while running:
time.sleep(0.1)

#Close the listener when we are done
hookman.cancel()