python调用系统软键盘_python库 pywinio虚拟键盘使用

NOTICE: You must have a ps/2 keyboard connected to your PC if you test on win10 or later, otherwise this sample won't works!

提供win10系统需要ps/2接口的键盘。所以我们掏出老古董ps/2键盘设备。

ps/2接口:

新建keyboardEmulation.py

import pywinio

import time

import atexit

# KeyBoard Commands

# Command port

KBC_KEY_CMD = 0x64

# Data port

KBC_KEY_DATA = 0x60

g_winio = None

def get_winio():

global g_winio

if g_winio is None:

g_winio = pywinio.WinIO()

def __clear_winio():

global g_winio

g_winio = None

atexit.register(__clear_winio)

return g_winio

def wait_for_buffer_empty():

'''

Wait keyboard buffer empty

'''

winio = get_winio()

dwRegVal = 0x02

while (dwRegVal & 0x02):

dwRegVal = winio.get_port_byte(KBC_KEY_CMD)

def key_down(scancode):

winio = get_winio()

wait_for_buffer_empty();

winio.set_port_byte(KBC_KEY_CMD, 0xd2);

wait_for_buffer_empty();

winio.set_port_byte(KBC_KEY_DATA, scancode)

def key_up(scancode):

winio = get_winio()

wait_for_buffer_empty();

winio.set_port_byte( KBC_KEY_CMD, 0xd2);

wait_for_buffer_empty();

winio.set_port_byte( KBC_KEY_DATA, scancode | 0x80);

def key_press(scancode, press_time = 0.2):

key_down( scancode )

time.sleep( press_time )

key_up( scancode )

尝试使用:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值