找回密码
 加入
搜索
查看: 4190|回复: 5

想用键盘上的按键"`"和"capslock"替代鼠标左右键

[复制链接]
发表于 2009-4-30 20:31:25 | 显示全部楼层 |阅读模式
起因:我的小本是epc 900ha,平时用触摸板边上的左右键,很硬很难按。所以找了键盘上两个不常用的键来替代鼠标左右键的功能。

"`":是tab键上面的那个键
"capslock":是tab键下面的那个键
这两个键平时都用不着。

我试着用autoit3来实现这个映射功能,因为是新手,弄了1个小时也没弄好。确切地说是只实现了40%的功能。技术水平所限没办法用autoit3实现模拟鼠标拖拽的功能。

后来下载了个autohotkey,看了下文档用10分钟实现了。代码如下:
SetCapsLockState Off
Capslock::Click down
Capslock up::Click up
`::Click down right
` up::Click up right



我并不是来说autohotkey比autoit3好用之类的,我想请教一下,如果要用autoit3实现以上代码需要如何写?多谢!

ps。我用autoit3时遇到的难题是:在文档里没有找到激发“Capslock up”(松开按键)的事件的方法。
 楼主| 发表于 2009-4-30 21:46:39 | 显示全部楼层
又完善了一下autohotkey的代码,和我一样需求的兄弟们可以下载区用了。

;
; AutoHotkey Version: 1.x
; Language:       English
; Platform:       Win9x/NT
; Author:         hh2hh <h9s@163.com>
;
; Script Function:
;        Using "`" and "CapsLock" key as Left Button And Right Button on my laptop computer.
;

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

; following is my script - by hh2hh <h9s@163.com>
#KeyHistory 0
SetCapsLockState Off

`::
        GetKeyState, already_down_state, LButton
        If already_down_state = D
                return
        Click down
Return

` up::Click up

Capslock::
        GetKeyState, already_down_state, RButton
        If already_down_state = D
                return
        Click down right
Return

Capslock up::Click up right

; ~~ end of file



另外,我参考了NumpadMouse.ahk,这个是autohotkey帮助文档自带的一个脚本,搜索“Using Keyboard Numpad as a Mouse”可以找到。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2009-4-30 21:47:48 | 显示全部楼层
期待autoit3的解决方案
发表于 2009-5-1 06:17:45 | 显示全部楼层
HotKeySet()
 楼主| 发表于 2009-5-1 12:53:48 | 显示全部楼层
本帖最后由 hh2hh 于 2009-5-1 12:54 编辑
HotKeySet()
78391493 发表于 2009-5-1 06:17


这是我用hotkeyset的代码,(未完成预期的功能)。原因是无法用hotkeysetup绑定MouseClickUp("left")(按键松开)的事件。我没找到类似的方法。难道是我思路有错?

AutoItSetOption("TrayAutoPause",0)
AutoItSetOption("TrayIconHide",1)

HotKeySet("{CAPSLOCK}", "clickLeft")
HotKeySet("{`}", "clickRight")
HotKeySet("+{`}", "clickRight")
HotKeySet("^{`}", "clickRight")

HotKeySet("+!d", "exitApp")  ;Shift-Alt-d
HotKeySet("+!c", "checkRuning")  ;Shift-Alt-c

While 1
        Sleep(150)
WEnd

Func checkRuning()
        MsgBox(4096,"","I'm runing.")
        ;Exit 0
EndFunc

Func exitApp()
        MsgBox(4096,"","exit app.")
        Exit 0
EndFunc

Func clickLeft()
        MouseClick("left")
EndFunc   ;==>clickLeft

Func clickRight()
        MouseClick("right")
EndFunc   ;==>clickRight
发表于 2009-5-1 23:48:36 | 显示全部楼层
MouseUp
ps:也许是个人习惯不同把 我从来不用那2个金属的左右键
btw:我是1000h 握手    1000h有多点触摸 单击2点 就是右键
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-25 00:07 , Processed in 0.078085 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表