Screenboard.pyw 是一个功能完善的屏幕键盘,支持发送按键到任意前台窗口,并提供了独特的 锁定模式(Lock Mode),可在自带的文本框中批量编辑内容后再一次性发送。它适用于触摸屏设备或临时需要软键盘的 PE 环境。
- 点击按键 → 自动激活当前前台窗口 → 发送对应的键盘事件
- 支持功能键(F1~F12,方向键,Home/End,PgUp/PgDn 等)
- 支持修饰键(Shift,Ctrl,Alt,Win)并实时高亮显示状态
- 支持 Caps Lock(切换大写锁定,会真实改变系统状态)
- 点击 Lock Mode 按钮开启
- 此时所有按键输入会进入下方的文本编辑区,而不是发送到其他窗口
- 你可以编辑多行文本、使用退格/删除/方向键等
- 再次点击 Lock Mode 按钮 关闭锁定 时,会将编辑区全部内容一次性发送到目标窗口,然后清空编辑区
- 适合需要长文本输入的场景(如输入命令、脚本片段)
- 键盘会自动检测当前活动窗口,并在窗口标题栏显示目标窗口名称
- 当切换到键盘自身或不可用窗口时,会保持上次有效窗口
- 发送按键前会自动恢复并置顶目标窗口
内置布局为 7 行,可自行修改:
self.keyboard_layout = [
['Esc','F1','F2',... ,'F12'],
['`~','1!','2@',... ,'BackSpace'],
['Tab','Q','W','E',... ,'\\|'],
...,
['Insert','Delete','Home','End','PgUp','PgDn']
]- 双字符键(如
1!)会根据 Shift 状态自动选择字符 - 字母键的大小写受 Shift 和 Caps Lock 联合影响(符合 Windows 标准行为)
- 顶部:
Lock Mode开关 +Clear清空按钮 - 中部:可滚动的文本编辑区(锁定模式下使用)
- 主体:标准键盘按键区
- 底部状态栏:显示当前目标窗口、修饰键状态、当前模式
在 send_key 方法中扩展 mod_key_map 或 func_key_map。
Q:点击按钮没有反应?
A:检查目标窗口是否可接收键盘输入(例如记事本、命令行)。另外某些窗口需要先单击激活。