请问AHK有什么方法可以定义额外的键盘按键吗?(Apex350键盘)

我的键盘是这个:Apex350,支持模式切换、组合键、宏等。如图

左上角是4个模式键,L1到4
左边是10个功能键,MX1到10
顶上是12个功能键,M1到12

平时我把顶上的M1到12定义了通用功能,比如切换输入法、切换音频输出设备、启动某些常用软件,或者按着不方便的组合键,比如ctrl+shift+y这种,定义到一个按键上。

把左边的MX1到10定义了四套功能,比如我按L1,MX1到10就对应Adobe各软件的功能,按L2,还是MX1到10,就是针对Autodesk各软件的各种操作。

想用这些功能,需要安装赛睿的设备管理软件,但是这个软件有接近400M,而且配置文件没法离线备份,只能是联网账户备份,而且这个软件还很占内存。

=====================================

请问,在不安装赛睿的设备管理软件的情况下,只用AHK,有没有办法实现以上功能?
AHK有没有办法识别到L1-4、M1-12、MX1-10这些按键?
只要能识别,组合键映射、宏、模式切换这些AHK命令我自己都会写。

好奇为什么键鼠大厂的软件都垃圾成那种样子,罗技的那个ghub之难用,简直就像是金箔盖在:poop:端出来作菜了。

1 个赞

用InstallKeybdHook,查一下看看,能查着键值就能用

使用以下代码并运行看看能不能获取键码(论坛编辑器今天有点问题所以截的图,自己敲一遍吧)
image
我的magickeyboard键盘F16 F17这些都定义了其它功能,可以正常读到键码。

可以尝试这个软件Clavier+来定义某些键在某些软件下的操作

感谢以上各位大佬的回复,我试验试验看看怎么弄比较完美。

随便写个AHK, 运行后右键菜单选–open

在打开的窗口, 选择 按键历史 如下图.
image

你就可以看到特殊按键的键值了.

不过有些按键是无法获取键值的, 比如 Fn 键.

2 个赞

用InstallKeybdHook命令查看过了,看不到VK码和SC码。
具体的就是键盘上的常规按键、音量等多媒体键都可以,但是L1-4\M1-12\MX1\10都捕捉不到。

也用Clavier+试过了,在绑定快捷键文本框中按以上按键都毫无反应。

甚至在安装了SteelSeries Engine管理软件,所有按键和配置都正常使用的情况下,在AHK和Clavier+中都捕捉不到相应按键的信息。

我觉得既然这些按键能发送信号给系统(之后再由SteelSeries Engine模拟出组合按键或者执行宏),就肯定是能捕捉到的,只是咱们技术不到家,搞不明白.

有没有大佬能再给点其他的提示方向?真的很希望删了SteelSeries Engine,只用AHK.

这类捕捉不到的按键

比如 Fn键不产生扫描码, 只有 Fn+某个按键 才会发送扫描码.

而且很多键盘的组合键并不发送扫描码. 它会存储到键盘的单元中, 再执行操作或转换发送按键的.

比如通过按键对键盘rgb灯效的控制, 并不需要发送给系统.

这种方式的好处是可以免驱. 当然了,设置时还需要配套驱动和软件.

1 个赞

键盘的功能可以写到键盘硬件里吗
如果可以 你可以把这些按钮定义成F13-F24 然后用AHK去修改F13-F24的功能这样就不想要那个破软件了
前提是你的键盘 支持把配置写到硬件里
我现在就是这吗用的

这个键盘没有板载内存(官方技术支持给的答复),所以没法把配置写入到硬件中。

给赛睿的国内客服打了电话,他们也知道这个问题,只说会认真向总部反映。(尤其是配置文件不能本地备份恢复,只能联网,而且服务器还在境外)

大佬们还有其他思路吗?

这种非标准按键要么是在键盘固件层面处理的,要么是在驱动层处理的,应用层一般是看不到的。不管哪种情况,都得官方提供接口才有办法处理。

我也清楚自己没技术动固件,所以昨晚上在键盘的驱动文件上下了一个小时的功夫,没成功…

你测试一下, 软件断网后, 键盘正常吗?

如果正常, 肯定会有本地文件来保存配置.

想办法找到这个文件就可以手工备份了.

不过你的主要问题不是备份. 而且取代官方软件. 基本上不大可能. 除非开源或者被破解了协议.

另外,我查了一下这个键盘的资料. 2015就出来了. 但是特别小众, 官方要是想改早就改了.

支持板载内存的键盘也有的. 具体要看个人需求.

Everest Max - 带显示屏的模块化热插拔机械键盘 (mountain.gg)

不同的任务需要不同的配置。使用Base Camp,您可以在MOUNTAIN外围设备上保存多达五个板载配置文件,甚至可以将其设置为链接到程序启动。需要更多?您甚至可以在计算机上保存更多配置文件,以备后用。