Enhance KeyLogger to display key press/release messages on the window
This commit is contained in:
@@ -15,6 +15,8 @@ class KeyLogger:
|
|||||||
self.key_down = True
|
self.key_down = True
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
|
# Main loop
|
||||||
|
|
||||||
while self.running:
|
while self.running:
|
||||||
# Handle SDL events
|
# Handle SDL events
|
||||||
events = sdl2.ext.get_events()
|
events = sdl2.ext.get_events()
|
||||||
@@ -22,15 +24,23 @@ class KeyLogger:
|
|||||||
if event.type == sdl2.SDL_KEYDOWN:
|
if event.type == sdl2.SDL_KEYDOWN:
|
||||||
keycode = event.key.keysym.sym
|
keycode = event.key.keysym.sym
|
||||||
# Log keycode to file
|
# Log keycode to file
|
||||||
open("keycode.txt", "a").write(f"Pressed: {keycode}\n")
|
self.message = f"Key pressed: {sdl2.SDL_GetKeyName(keycode).decode('utf-8')}"
|
||||||
elif event.type == sdl2.SDL_KEYUP:
|
elif event.type == sdl2.SDL_KEYUP:
|
||||||
keycode = event.key.keysym.sym
|
keycode = event.key.keysym.sym
|
||||||
# Log keycode to file
|
# Log keycode to file
|
||||||
open("keycode.txt", "a").write(f"Released: {keycode}\n")
|
self.message = f"Key released: {sdl2.SDL_GetKeyName(keycode).decode('utf-8')}"
|
||||||
elif event.type == sdl2.SDL_QUIT:
|
elif event.type == sdl2.SDL_QUIT:
|
||||||
self.running = False
|
self.running = False
|
||||||
|
|
||||||
# Update the window
|
# Update the window
|
||||||
|
sdl2.ext.fill(self.window.get_surface(), sdl2.ext.Color(0, 0, 0))
|
||||||
|
if hasattr(self, 'message'):
|
||||||
|
font = sdl2.ext.FontManager("assets/decterm.ttf", size=24)
|
||||||
|
text_surface = font.render(self.message, color=sdl2.ext.Color(255, 255, 255))
|
||||||
|
sdl2.SDL_BlitSurface(text_surface, None, self.window.get_surface(), None)
|
||||||
|
sdl2.SDL_UpdateWindowSurface(self.window.window)
|
||||||
|
# Refresh the window
|
||||||
|
|
||||||
self.window.refresh()
|
self.window.refresh()
|
||||||
sdl2.SDL_Delay(10)
|
sdl2.SDL_Delay(10)
|
||||||
# Check for quit event
|
# Check for quit event
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
Pressed: 13
|
||||||
|
Pressed: 13
|
||||||
|
Pressed: 13
|
||||||
|
Pressed: 13
|
||||||
|
Released: 13
|
||||||
|
Pressed: 1073741912
|
||||||
|
Released: 1073741912
|
||||||
|
Pressed: 1073742048
|
||||||
|
Released: 1073742048
|
||||||
Reference in New Issue
Block a user