电脑用数字键盘九宫格拼音输入法。我用的是搜狗拼音,设置逗号句号翻页,开启小键盘选词(取消“小键盘保持数字输入”)。欢迎提出改进意见!
#NoEnv
SetBatchLines, -1
;设置选项
daduan_mode := 1 ;打断模式,按键切换更快
SetTimer, send_key, 500 ;停留多少毫秒发送,快与稳的取舍
;初始化
SetTimer, send_key, off
array_alpha := { "NumpadUp":["a","b","c"], "NumpadPgup":["d","e","f"]
,"NumpadLeft":["g","h","i"],"NumpadClear":["j","k","l"],"NumpadRight":["m","n","o"]
,"NumpadEnd":["p","q","r","s"], "NumpadDown":["t","u","v"], "NumpadPgdn":["w","x","y","z"]}
SetNumLockState, off
repeat := 0 ;重复的次数
key_send := "" ;发送的字母
daduan := 0 ;判断repeat被打断
fangan := 1 ;数字键盘映射方案
;按键映射
#if fangan ;方案一:删数回英, 好记符合直觉
NumpadDiv::, ;左翻页 逗号
NumpadMult::. ;右翻页 句号
NumpadIns::Space ;空格上屏;0
NumpadDel::Shift ;@中英文切换;dot
;NumpadDot::Shift ;@中英文切换;dot
NumpadSub::BackSpace ;@退格删除
NumpadAdd::NumLock ;@数字锁,数字选词
NumpadEnter::Enter ;@大enter更通用
#if
#if !fangan ;方案二:回数删英,常用的按键方便
NumpadDiv::, ;左翻页
NumpadMult::. ;右翻页
NumpadIns::Space ;空格上屏;0
NumpadSub::Enter ;@大enter更通用
NumpadDel::Shift ;@中英文切换;dot
NumpadEnter::BackSpace ;@退格删除
NumpadAdd::NumLock ;@数字锁,数字选词
#if
;热键开始:
NumpadUp::
NumpadPgup::
NumpadPgdn::
NumpadEnd::
NumpadDown::
NumpadRight::
NumpadClear::
NumpadLeft::
SetTimer,send_key,off
tips := ""
len_array := array_alpha[A_ThisHotkey].Length()
if(A_ThisHotkey == A_PriorHotkey){
repeat++
}Else{
repeat:=1
if(daduan && daduan_mode){
send,% key_send
}
}
loop,% len_array
{
if(A_Index = repeat)
tips .= "【" . array_alpha[A_ThisHotkey][A_Index] . "】 "
Else
tips .= array_alpha[A_ThisHotkey][A_Index] . " "
}
ToolTip, %tips%, A_CaretX-20, A_CaretY-20
KeyWait, %A_ThisHotkey%
key_send := array_alpha[A_ThisHotkey][repeat]
if(repeat = len_array)
repeat := 0
daduan := 1
SetTimer,send_key,on
Return
send_key:
ToolTip
daduan := 0
SetTimer,send_key,off
send,% key_send
repeat := 0
Return
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
有了ahk之后感觉键盘上面的键都不够用了
有些只需要局部热键,利用#IF或hotkey语句可以限制热键的窗口范围,避免与其他软件的局部热键冲突。
试了一下,好像不行啊,三个字母的按键只能打出第一个字母,后面几个怎么打出来?