
不久之前,我对鼠标的认知还停留在:
1、通常的鼠标有三个按键(滚轮按下去是鼠标中键,我想肯定有不少人不知道),一个滚轮。

3键鼠标
2、最好能买6个键的鼠标,多出来拇指上的前进后退和dpi按键。

6键鼠标
前进后退在浏览器中使用,还可以在文件管理器中使用。
后来,偶然买了一只罗技G300s鼠标,配合罗技的驱动,我直接惊呆了,原来鼠标的功能还能如此强大,每个按键都是可编程的,可以设置自定义功能。
同时,驱动还能根据当前激活的程序,为每个程序分别采取不同的配置。
这样一来,我可以把常用软件的快捷键直接分配到鼠标上,特别是以下几种:
1、最常用的功能。
2、键盘上组合键太远,一只手够不到的。
3、需要按住键盘操作鼠标的。
如果你是画图软件的用户,一定会大呼卧槽,原来需要两个手完成的操作,现在只用鼠标就能完成了,左手也不用费劲去够两个超远的按键,有些什么按住Ctrl,Shift,Alt的操作,只要把修饰键也分配在鼠标上就能一只手完成(Solidworks请你学学隔壁Nx)

9键鼠标
但是,各大厂家的驱动良莠不齐,体积动不动就是上百M,不方便携带。那么有没有一种轻盈强大,通用性又高的解决方案呢?
答案是有的:
1、首先需要一个6键鼠标,多少钱的都行,便宜的也就十几块(3键的由于按键太少,没什么操作空间)
2、神器AutoHotKey
首先来谈谈按键的映射方案:
使用前进,后退键作为前缀键,用一个或两个都可以
这是啥意思呢?就是说当我按下前进或后退时,鼠标的其他按键切换成另一个功能。
如果熟悉罗技鼠标驱动的同志应该已经看出来了,就是G切换的功能。但是通过AutoHotKey实现会更强大,在罗技的驱动中G切换只有一个,但是在这里可以设置多个
举一个具体的例子:
当我使用浏览器时
按住鼠标的前进键,再单击左键的时,关闭网页(Ctrl+w)
按住鼠标的前进键,单击右键时,重新打开刚才关闭的页面(Ctrl+Shift+t)
按住前进或后退键时,剩下的按键有:左,中,右,滚轮上,滚轮下
这样就有2x5=10种组合(其实还有按住前进,再按后退,和按住后退,再按前进这2种,最多12中组合,其实还可以实现3键及以上组合,但考虑实用性,不计算在内)
每个程序又能单独配置
这样一来,一个普普通通的6键鼠标,通过鼠标按键的组合,就能为每个程序分配10个快捷功能!!!
想想就让人觉得兴奋,浏览器,office,各种画图软件,设计软件,都能把常用操作放到鼠标上,很多事情单手就能完成了!
那么这个功能如何实现呢?
首先在官网下载AutoHotKey,安装。
然后,直接上代码:

如何区分不同的程序
如图所示:#IfWinActive所包裹的代码用于区分不同的程序,后面的ahk_exe代表过滤的类别,这个可以查看帮助,这个参数比较复杂,甚至可以指代多个程序使用一套快捷键。
但是现在我们搞简单点:
安装完AutoHotKey之后,里面会有个window spy的工具,切换到需要判断的窗口,spy上会显示窗口信息,复制ahk_exe这一行就可以了。
然后来看看如何映射按键

按键映射
不得不说AHK的语法就是这么简洁,几乎想不到能省略的地方。
接下来,就以这两段程序为例子,来看看实际的应用:
Vivaldi浏览器方案:

Vivaldi按键映射

快速切换标签,超好用

关闭和重新打开,再也不用挪到标签页上操作了

前进,后退,刷新
其他的浏览器也是一样,快捷基本都是相同的
Solidworks方案:

Solidworks按键映射

这个懂得都懂,Sw要按住Ctrl加鼠标中键平移是真的不顺手,现在好了。

神奇的s键

常用键

重建模型,常用又不好按的快捷键
写在最后:
这就是一个6键鼠标的极限吗?
不是,别忘了还有鼠标手势!
完全有能力放下数不清的操作
但是我觉得手势用着累╰( ̄ω ̄o)
分享一下我的完整配置:
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
;win鼠标左键新建桌面
#LButton::^#d
;win鼠标右键关闭桌面
#RButton::^#F4
;win鼠标中键预览桌面
#MButton::#Tab
;win滚轮下切换下个桌面
#WheelDown::^#Right
;win滚轮上切换上个桌面
#WheelUp::^#Left
;打开控制面板
#c::run control
;打开启动文件夹
#s::run shell:startup
;打开设备管理器
#f::run devmgmt.msc
;鼠标按键映射
;Sw按键映射
#IfWinActive ahk_exe sldworks.exe
;前进和中键平移
XButton2 & MButton::^MButton
;前进和左键,快捷操作
XButton2 & LButton::s
;前进和右键,取消
XButton2 & RButton::Esc
;后退和左键,重建模型
XButton1 & LButton::^b
#IfWinActive
;浏览器鼠标映射
#IfWinActive ahk_exe vivaldi.exe
;前进+滚轮上:上个标签
XButton2 & WheelUp::^PgUp
;前进+滚轮下:下个标签
XButton2 & WheelDown::^PgDn
;前进+左键:关闭标签
XButton2 & LButton::^w
;前进+右键:重新打开关闭的标签
XButton2 & RButton::^+t
;后退+右键:前进
XButton1 & RButton::Browser_Forward
;后退+左键:后退
XButton1 & LButton::Browser_Back
;后退+中键:刷新
XButton1 & MButton::Browser_Refresh
#IfWinActive
;==选中关键字后,同时按下win+b,打开百度搜索===============================
#b:: ;win+b
Send ^c ;输入 ctrl+c
sleep,100 ;等待100毫秒
;根据选中的内容打开百度搜索
run https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=92765401_hao_pg&wd=%clipboard%
return
~lbutton & enter::
exitapp
;=========================================================
;鼠标放在任务栏,滚动滚轮实现音量的加减
#if existclass("ahk_class Shell_TrayWnd")
~WheelUp::Volume_Up
~WheelDown::Volume_Down
~MButton::Volume_Mute
#if
Existclass(class)
{
MouseGetPos,,,win
WinGet,winid,id,%class%
if win = %winid%
Return,1
Else
Return,0
}