You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.3 KiB

#!/usr/bin/env python3
import sys
import os
import sdl2
import sdl2.ext
class KeyLogger:
def __init__(self):
# Initialize SDL2
sdl2.ext.init()
self.window = sdl2.ext.Window("Key Logger", size=(640, 480))
self.window.show()
self.running = True
self.key_down = True
def run(self):
while self.running:
# Handle SDL events
events = sdl2.ext.get_events()
for event in events:
if event.type == sdl2.SDL_KEYDOWN:
keycode = event.key.keysym.sym
# Log keycode to file
open("keycode.txt", "a").write(f"Pressed: {keycode}\n")
elif event.type == sdl2.SDL_KEYUP:
keycode = event.key.keysym.sym
# Log keycode to file
open("keycode.txt", "a").write(f"Released: {keycode}\n")
elif event.type == sdl2.SDL_QUIT:
self.running = False
# Update the window
self.window.refresh()
sdl2.SDL_Delay(10)
# Check for quit event
if not self.running:
break
# Cleanup
sdl2.ext.quit()
if __name__ == "__main__":
logger = KeyLogger()
logger.run()