【杜绝功能键缺失,自由开关触摸板,添加Application键】NVDA新特性之“自定义模拟按键”

提示:文末有音频演示,可直接导航至“播放”按钮收听
虽然在标题里列举了本方法的几个用途,但远不止如此,更多姿势可以自行挖掘。另外,开关触摸板和添加 Application 键笔者写了一个小插件,提供给有需要的朋友,你可以点击这里去查看


我们都知道,键盘对于使用屏幕阅读器的视障者来说是必不可少的,但如今很多设计师为了各种目的考虑,会一再阉割本就紧凑的笔记本键盘上的功能键,这无形之中就给我们视障用户带来了许多困扰。

基于此,我们或是直接改用外接键盘,或是使用Keymap之类的程序映射特定的键,前者是彻底妥协的结果,而后者却又会改动系统配置,但我们既然使用屏幕阅读器,倘若能在屏幕阅读器层面上对键盘实现一些模拟映射,以便我们更方便的使用屏幕阅读器的某些功能,且不会改动系统配置,这岂不妙哉!

NVDA在2020.3版便增加了这样的一个小特性——可以让用户自定义模拟按键,只要我们运行该版本,打开“输入首饰”对话框,焦点停留在“模拟系统按键”类别上,按一下Tab键找到“添加”按钮并点击,随后可按下被模拟的按键或按键组合,就会在“模拟系统按键”类别下增加相应的项目,随后将焦点停留至该项目,并再次点击“添加”按钮并按下触发该按键动作所需的按键,选择好所属的键盘布局并确认,即可设置成功。

该特性当前只在2020.3上适用,但我们依然有办法让其他的旧版本享受到该特性,思路清晰的朋友也一定发现了:“假如我的笔记本压根儿就没有提供‘Application’键,和谈按下该键,又如何模拟呢?”这的确是个“先有鸡还是先有蛋”的问题,下面我们来看看,通用的方法:不依赖2020.3版这一新特性,且不依赖实体键盘。

当我们使用NVDA的自定义热键功能时,其实我们定义的热键信息被保存到了一个配置文件中,所以我们只要手动更改此配置文件,便可达到上面的目的。

以 NVDA2020.2 安装版为例,我们打开其用户配置目录,方法是Win + R 打开运行对话框,输入 %appdata%\nvda 并回车。

随后在打开的目录中找到“gestures.ini”这个配置文件并打开,通常第一行是“[globalCommands.GlobalCommands]”,这就是全局首饰的配置节,在这一行后,回车一下,输入以下内容并保存(实现 NVDA+' 模拟按下 Application键):
kb:applications = kb:nvda+'
保存后重新启动NVDA便可使用 NVDA+' 来模拟按下Application键了,书写格式非常简单易懂。

应用举例

在本实例中需要实现模拟音量控制键(增大音量、减小音量、静音),以及开关触摸板功能的组合键。

具体模拟键分配

  • Ctrl + F1 静音;
  • Ctrl + F2 减小音量;
  • Ctrl + F3 增大音量;
  • Ctrl + F4 开关触摸板;

实现步骤

打开NVDA用户配置目录(运行输入%appdata%\nvda),在打开的 NVDA 配置目录中找到 “gestures.ini”并在其中的[globalCommands.GlobalCommands]下添加以下条目:

  • kb:volumemute = kb:control+f1
  • kb:volumedown = kb:control+f2
  • kb:volumeup = kb:control+f3
  • kb:windows+control+f24 = kb:control+f4

--


下面附上一些键盘按键在Python脚本中的写法,多数字母键、数字键和符号键写法就是他们本身,本表不断更新中。

按键名称 书写方法
静音 volumemute
增加音量 volumeup
减小音量 volumedown
窗口键 windows
CTRL键 control
Shift键 shift
Alt键 alt
ESC键 escape
F1 f1
F2 f2
F3 f3
F4 f4
F5 f5
F6 f6
F7 f7
F8 f8
F9 f9
F10 f10
F11 f11
F12 f12
暂停键 pause
滚动锁定键 scrolllock
回车键 enter
Apps键 applications
空格键 space
退格键 backspace
NVDA键 nvda
删除键 delete
行首键 home
行尾键 end
上翻页键 PageUp
下翻页键 PageDown
上箭头 uparrow
下箭头 downarrow
左箭头 leftarrow
右箭头 rightarrow
小键盘1 numpad1
小键盘2 numpad2
小键盘3 numpad3
小键盘4 numpad4
小键盘5 numpad5
小键盘6 numpad6
小键盘7 numpad7
小键盘8 numpad8
小键盘9 numpad9
小键盘除号 numpaddivide
小键盘乘号 multiply
小键盘减号 numpadminus
小键盘加号 numpadplus
小键盘删除 numpaddelete
小键盘回车 numpadenter

标签: none

添加新评论