[挖坑]在普通键盘上增加多层keymap,并依照前台窗口自动切换

我有“根据前台程序不同,自动切换一个定制键盘按键功能”的想法其实很久了。很多软件有复杂的快捷键,不经常使用这些功能的用户往往不能很好的记住软件默认快捷键。而相似的软件也会有快捷键差异,让用户本就不熟悉的大脑雪上加霜。再加上某些快捷键盲操就是容易误触…
如何缓解这样的问题呢?我觉得有三个方向:

  1. 为相似的软件设置同样的快捷键——存在的问题是,如果你切换电脑,或者查看教程,会给你带来不便。
  2. 把快捷键做成笔记,需要的时候赶紧打开;或者打印甚至制作为键盘垫鼠标垫;或者使用类似power toy的快捷键指南功能
  3. 制作一个外设,pc端软件监控前台程序并发送给外设,外设读取配置文件并切换每个按键实际对应的功能键。

并且实际上也一直在为之努力。可以找到证据的是,在2018年我制作了一个包含编码器、摇杆、按键的外设demo,并且演示了使用他控制音乐播放器、虚拟打碟机、音频编辑软件。但是由于后续发现软件有严重bug,并且用来改为正式作品的二手打碟机意外损坏了(那玩意验证的时候手感真的棒,不过体积实在太大了),所以后来暂停了。

再往后我注意到了微软发布了surface dail,从演示视频看,相当酷炫而有效率,但是售价也太贵了。这个设备的设计思路和我的想法是完全重合的——不同软件下包含不同功能,可以方便为设备切换同一个软件下的不同功能。
但是他太贵了,并且在19年年中的时候,我去wmc19展会上逛了一圈,体验一把surface studio+dial后真实的感受是,并没有想象中的那么美好。

再往后我做了AB dail这个App,可以把Android设备模拟为surface dail。在实际使用的过程中,我更加确认软件对dail设备的支持还是有些不足。并且只有一个按钮和转盘,局限性太大了——当然也有具有多个转盘的其他设备,他们没有模拟dail设备,得到的支持其实更加有限——至多只能在一两款软件上有出类拔萃的优化(当然也就更贵了)——这就代表了其他软件基本没法用。

再往后又看上了海盗船的stream deck,这玩意也是相当贵。从视频看相当棒,但是没有上手不清楚实际情况。并且蹲了很久没有人做出高仿版来。

最近我又试着基于esp开发板,做硬件键盘+软件(某种程度上延续了18年那个项目),差别是我的重点已经从转盘变为了有弹力反馈的按键,并且用一块小屏幕提示当前按键功能。

实际上我已经完成了第一版键盘pcb以及基本功能验证,但是最近看了论坛一些帖子,打算换个做法,使用纯软件的方式解决问题。我把目标瞄准了numlk这个按键,打算让他作为分层键盘的引导键:
0. 废除numlk的原有功能

  1. 短按numlk后按其他按键,启用分层对应的按键功能;此后在没有超时的前提下按其他按键,或者连续按同一个按键均启用分层的按键的功能
  2. 连续按numlk,尝试切换键盘分层
  3. 长按numlk,锁死/解锁分层的按键功能

在操作过程中,可以通过右下角提示来看到当前按键布局的信息

预计会基于AHK项目capslock+的代码进行修改,主要修改的方向:

  1. 增加配置文件
  2. 增加numlk的逻辑
  3. 增加前台窗口监控及调试
    希望一切顺利叭,如果合适的话合并到原项目里。
    发出来一方面是立个flag,一方面也是看下如果有人有相似想法,一起来搓啊

我来说一个最简单的方案吧(待验证)

  1. 用ahk写个简单UI,固定分辨率为1080×720,通过屏幕拓展软件把一个1080×720的旧手机变成电脑可触摸副屏,专门用来放置该窗口。

  2. 购买数个这种按钮,合理分布吸附在旧手机屏上。(关键词 游戏辅助按键)

  3. 按键边上是根据当前窗口实时变化的按钮说明,使用效果图

  4. 去代码化,编写设置按钮排布和用途的图形化界面(后期)

我读了内容,却没抓住重点。两个视频示例,键鼠都可以轻松操作,所以真正的主题是,不用鼠标实现类似鼠标的功能?

你的想法我之前其实考虑过,盲操作的其实手感不太行。尺寸比较大,相邻按键有间隙又不太大的实体按键才好用。

从软件实现上讲,推流给手机,还不如写个网页或者web服务用手机访问(当然这一点不重要)

重点就是第一段文字

纯软件的用ahk不够吗?ahk本身就可以根据当前窗口决定keymap吧。

1 个赞

你可以参与下我这个项目: 快捷键映射图(ShortcutMapper) (gitee.io)

1 个赞

用按键比较多的鼠标或者键盘可以吗? 用硬件宏

我以前ahk快捷键写了很多, 有时候自己也记不住了.

就写了一个按下 win+F1, 检索ahk代码里 首字符为 ; 的注释行, 并显示出来. 作为快捷键帮助.

这个非常棒,甚至还包含了vs按Ctrl+K之后的组合键。
估计未来我会以他为基础做快捷键配置和提示了。

我用过的鼠标不太行,首先是手感问题,其次连续按的时候疲劳度有点高。
键盘硬件上是可以的,但是软件还是不太行,至少我用过的键盘不能根据前台窗口自动切换配置(可能也有贵的键盘可以)