求 大佬 给个 autohotkey 脚本 实现 映射 上下左右 方向键!

2023-12-22 15:05:52 +08:00
 tomorrow092

求一个 autohotkey 脚本

需求:win 本,希望 将 capslk 映射为右 shift, 然后右 shift 配合 ikjl 四个键实现 上下左右方向键。

  1. 为什么要将 capslk 映射成右 shift ,而不是 ctrl/alt , 因为 ctrl/alt 组合其他字母的 按键 被很多工具占用,所以不影响他们

win 这个键也不太好用,win+其他组合键,一不小心按下 win 就会触发 windows 弹出 系统自身的”搜索窗口“ 所以也没有使用 win+iklj 实现方向组合

  1. 当前实现的脚本存在什么问题?
CapsLock::RShift

>+J::{
    Send "{Left}"
 }

 >+l::{
    Send "{Right}"
 }
 >+i::{
    Send "{Up}"
 }
 >+k::{
    Send "{Down}"
 }

上面是我自己写的脚本, 这个脚本能够实现 capslk+ ikjl 实现上下左右的功能。

但是因为 capslk 被映射成了由 shift ,shift 会切换中英文。 导致按下 capslk+ikjl 之后 也切换了 中英文输入,有的时候会切换有的时候不会。属于偶发。

  1. 除了 autohotkey 实现方向键映射之外 可以推荐 其他方案,请不吝啬给出脚本

  2. v 友有珍藏的 autohotkey 脚本吗,分享出来学习下

感谢各位 v 右

1052 次点击
所在节点    问与答
3 条回复
RichardoLi
2023-12-22 16:05:20 +08:00
建议直接把 capslk 锁死,大写改成 shift+字母,下面是我经常用的,你可以参考下

SetCapsLockState, AlwaysOff
;切换虚拟桌面
Capslock & [::Send ^#{left}
Capslock & ]::Send ^#{right}

;鼠标中键是换行
MButton::Enter

;依次为光标上移/左移/下移/右移
;删除、光标移到最前、光标移到最后、上翻页、下翻页、删除整行
#if GetKeyState("Capslock", "P")
i:: Send {up}
j:: Send {left}
k:: Send {down}
l:: Send {right}
u:: Send {BS}
h:: Send {home}
n:: Send {end}
o:: Send {Pgup}
.:: Send {Pgdn}
,:: Send {Home}{ShiftDown}{End}{Right}{ShiftUp}{Del}

return
tomorrow092
2023-12-22 16:55:33 +08:00
@RichardoLi 好的谢谢,
PRStarDust
2023-12-23 11:48:16 +08:00
我是把 capslock 映射成了 esc 键,caposlock+tab 切换大小写,caps+wasd 做方向键,还有一些其他的映射,你看看能不能用吧。另外如果不想费心思学 ahk ,可以看看 quicker 的扩展热键能不能实现你的需求
代码太长好像发不出来,看这里吧 https://www.coderstool.com/cs/Z9AXVv

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1002634

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX