wo52616111 / capslock-plus

An efficiency tool that provides various functions by enhancing the Caps Lock key into a modifier key.
https://capslox.com/capslock-plus/
GNU General Public License v2.0
1.14k stars 198 forks source link

请增加功能:按住caps + 鼠标滚轮滚动,可以实现加速滚动的效果,类似罗技鼠标高级键功能。求大佬进来帮忙看看 #126

Open willhome360 opened 1 year ago

willhome360 commented 1 year ago

当出现很大的excel文件需要滚动到指定位置时,这个功能很有用。 能否可以先设置滚动速度,类似 caps+alt+滚动 那种设置速度,之后长按caps+滚动实现效果。 或者如果自己修改应该怎么设置?

drunkenQCat commented 1 year ago

image 建一个userAHK文件夹,创建一个ahk文件,写一个方法:

keyFunc_wheelleft(){
    Send {WheelLeft 3}
}

keyFunc_wheelright(){
    Send {WheelRight 3}
}

上面的两个方法是快速左右滚动。如果要更快速,把数字“3”改大;如果要上下滚动,把left/right改成up/down。 接下来在CapsLock+settings.ini中的[Keys]区域写入这两行:

caps_lalt_wheelUp=keyfunc_wheelleft
caps_lalt_wheelDown=keyfunc_wheelright

之后重启capslock+,就可以按住Caps+Alt,加速滚轮了。

willhome360 commented 1 year ago

谢谢提供思路。我在系统里面发现了定义的keyFunc_wheelup,不用在自定义。但是有个bug,当你按caps_lalt_wheelUp 时,有时候会触发界面放大,不知道怎么禁止这个bug

好像直接设置 caps_wheelUp = keyFunc_wheelup 没有反应,应该是软件没有提供这样的组合键,能否直接提供这样的功能,或者自己要如何设置

我自己搞定了,已经解决问题: 在Capslock+.ahk 里面加上下面的语句就行了,就可以自行设置 caps_wheelUp = 对应的函数

<WheelUp:: try runFunc(keyset.caps_wheelUp) Capslock2:="" return

<WheelDown:: try runFunc(keyset.caps_wheelDown) Capslock2:="" return


再次更新:设置了 caps_wheelUp=keyfunc_wheel_up 时,当长时间按住 caps键 + 滚轮快速滚动,有时候会触发大写切换,请问怎么修改解决这个bug???(注:下的最近版本,ctrl+caps,shift+caps切换大小写)

drunkenQCat commented 1 year ago

可以试着在capslock+settings.ini里边把press_caps(短按capslock)指定为一个空函数。

willhome360 commented 1 year ago

可以试着在capslock+settings.ini里边把press_caps(短按capslock)指定为一个空函数。

试过了,并不可行,而且短按caps做 esc 本来就是需要的功能

drunkenQCat commented 1 year ago
keyFunc_shortPress(){
    Return
}

我这样写的。今天上午用着没有什么问题。不过caps做esc我确实不用,经常会误操作。

Aurora-kite commented 1 year ago

我在使用按键控制鼠标时候也遇到了,按键控制滚轮会触发界面放大和缩小的情况,请问大佬解决了嘛💕


[Keys]

; 鼠标左键点击
caps_lalt_s=keyfunc_click_left

; 鼠标右键点击
caps_lalt_f=keyfunc_click_right

; 移动鼠标(长按可加快移动速度)
caps_lalt_i=keyfunc_mouse_up

caps_lalt_k=keyfunc_mouse_down

caps_lalt_j=keyfunc_mouse_left

caps_lalt_l=keyfunc_mouse_right

; ; 滚轮上滑
; caps_lalt_i=keyfunc_wheel_up

; ; 滚轮下滑
; caps_lalt_k=keyfunc_wheel_down
willhome360 commented 12 months ago

我在使用按键控制鼠标时候也遇到了,按键控制滚轮会触发界面放大和缩小的情况,请问大佬解决了嘛💕

[Keys]

; 鼠标左键点击
caps_lalt_s=keyfunc_click_left

; 鼠标右键点击
caps_lalt_f=keyfunc_click_right

; 移动鼠标(长按可加快移动速度)
caps_lalt_i=keyfunc_mouse_up

caps_lalt_k=keyfunc_mouse_down

caps_lalt_j=keyfunc_mouse_left

caps_lalt_l=keyfunc_mouse_right

; ; 滚轮上滑
; caps_lalt_i=keyfunc_wheel_up

; ; 滚轮下滑
; caps_lalt_k=keyfunc_wheel_down

上面的聊天记录有方案,不过有个问题长按 capslock+滚轮 会触发大小写。作者还没有解决这个bug

willhome360 commented 5 months ago

我自己再来详细写一下我的方案

第一步:在capslock+.ahk文件里声明组合键,以下代码加在第167行处,这里是老版按键布局的声明处 <WheelUp:: try runFunc(keyset.caps_wheelUp) Capslock2:="" return

<WheelDown:: try runFunc(keyset.caps_wheelDown) Capslock2:="" return

第二步:在 lib/lib_keysFunctions.ahk 里自行设置滚动速度,修改一次滚动的行数,我这里设置的是5行 ; 上滑滚轮 keyfunc_wheel_up(){     Send, {WheelUp 5} }

; 下滑滚轮 keyfunc_wheel_down(){     Send, {Wheeldown 5} }

第三步:在 capslock+settings.ini文件里设置自定义

caps_wheelUp = keyfunc_wheel_up caps_wheelDown = keyfunc_wheel_down

上面是我的方案,但是caps+滚动有时候会误触发大小写切换,希望大佬能进来帮忙解决一下这个误触问题。 附:我的capslock+settings.ini 中设置老版本按键布局和短按caps做esc

[Global]
default_hotkey_scheme=capslock_plus
loadScript=scriptDemo.js
mouseSpeed=3

[Keys]
press_caps=keyFunc_esc
willhome360 commented 5 months ago

caps+滚动有时候会误触发大小写切换,这个问题估计与电脑的配置有关系,我的旧电脑滚轮快速滑动会造成这个问题,估计是触发的函数太多,程序卡住了,这时候capslock依然是按下的,所以会触发大小写。最近换了顶配新电脑,疯狂滑动了几分钟只复现了一次该问题,估计就是旧电脑滑动太多,程序卡了。