网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月07日漏签0天
autohotkey吧 关注:4,728贴子:16,352
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1回复贴,共1页
<<返回autohotkey吧
>0< 加载中...

如何用tab组合键代替方向键

  • 只看楼主
  • 收藏

  • 回复
  • 是知兀不是知派
  • 默默无闻
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
各位大佬,我希望用tab+h/j/k/l来代替方向键
我了解到autohotkey这个软件,然后我用ai生成了代码:
; 使用 Tab + h/j/k/l 模拟方向键
; #IfWinActive ; 如果去掉这行注释,脚本将在所有窗口生效
Tab & h::Send {Left}
Tab & j::Send {Down}
Tab & k::Send {Up}
Tab & l::Send {Right}
; 解决按下 Tab+h 后,松开 h 会触发 Tab 键本身的问题
; 这行代码让 Tab 键在单独按下时仍然保持其原有的功能
~Tab::Return
这个脚本可以实现方向键的功能,但是每次按下tab键,都会输出tab键的空格,我觉得麻烦,于是生成了第二版的代码:
; --- 使用 Tab 作为临时方向键切换 (已修正版) ---
; 当按下 Tab 键时
Tab::
; 1. 设置标志,表示 Tab 已按下
isTabPressed := true
; 2. 短暂等待,判断用户意图
; - 如果在 200ms 内松开 Tab,说明只想输入 Tab
; - 如果 200ms 后仍按住 Tab,说明想使用方向键
KeyWait, Tab, T0.2
; 3. 根据等待结果执行不同操作
if (ErrorLevel = 0) {
; ErrorLevel = 0 表示在 200ms 内松开了 Tab
; 执行原始的 Tab 功能
Send {Tab}
; 重置标志位,因为 Tab 已经松开
isTabPressed := false
} else {
; ErrorLevel = 1 表示 200ms 后仍按住 Tab
; 此时什么都不做,等待用户按下 h/j/k/l
; 或者等待用户松开 Tab
KeyWait, Tab ; 等待用户最终松开 Tab 键
}
; 4. 当 Tab 键被松开后,确保标志位被重置
isTabPressed := false
return
; --- 定义组合键 (上下文敏感) ---
; 只有当 isTabPressed 标志位为 true 时,这些映射才会生效
#If (isTabPressed)
h::Send {Left}
j::Send {Down}
k::Send {Up}
l::Send {Right}
; 你还可以添加其他组合,比如使用 w/a/s/d 进行页面滚动
; w::Send {WheelUp}
; s::Send {WheelDown}
; a::Send ^{Left} ; Ctrl+Left,向左移动一个单词
; d::Send ^{Right} ; Ctrl+Right,向右移动一个单词
#If
但很可惜,这下tab键彻底不工作了,只能用来移动方向
有大佬可以解决这个问题吗?
或者有人知道还有什么其他办法能让我使用tab组合键代替方向键的同时,还能不影响tab键的工作吗


  • 🐬Oceano
  • 颇具盛名
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#Requires AutoHotkey v2.0
ih := InputHook('L1 I', 'ijkl')
#UseHook true
Tab:: {
global ih
loop {
ih.Start()
if ih.Wait() == 'EndKey' {
if ih.EndKey == 'i' {
Send '{Up}'
} else if ih.EndKey == 'j' {
Send '{Left}'
} else if ih.EndKey == 'k' {
Send '{Down}'
} else if ih.EndKey == 'l' {
Send '{Right}'
}
}
} until GetKeyState('tab', 'P') == false
}
#UseHook false
Tab Up:: {
global ih
ih.Stop()
}


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1回复贴,共1页
<<返回autohotkey吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示