[AHK-] 輔助沒有滾輪的軌跡球
七月的時候買了一支kensington的軌跡球
最便宜的那種
http://us.kensington.com/html/4771.html
可是沒有滾輪
雖然官方的mouseworks可以模擬,可是那個實在寫得太爛了
滾輪的模擬很lag,非常難操作,而且還有另一個問題
就是裝了mouseworks之後,軌跡球按鍵的點擊會延遲
也就是假如你按了左鍵,程式大約要過個0.5秒才會有反應
像是我要拖曳一個資料夾,不能點了馬上拖,要不然游標就會自己跑掉
然後資料夾還留在原地
至於滾輪的模擬,最後是改用之前在鍵鼠版有人提到的 Marble Mouse Wheel
模擬的效果算是蠻滿意的
只是它只能把原本滑鼠的中鍵或者是另外的第4和第5鍵設定成為啟動滾輪的按鍵
因為原本就是為了羅技木星沒有滾輪來設定的程式
所以原本買來之後的設定方式是用mouseworks來把右鍵設定成中鍵
然後利用這個模擬的中鍵來啟動模擬的滾輪
後來電腦重灌,發現軌跡球只要不裝mouseworks的話就不會有按鍵延遲的情況
於是想改用其他的按鍵設定程式來取代原本的mouseworks
試了很多按鍵程式,像是 toggle mouse 、按鍵精靈、X-mouse、mouse IMP
可是這些程式都沒辦法完成我所希望的設定
我希望的設定很簡單,就兩個
1. 左右兩鍵一起點的話就模擬成右鍵
2. 右鍵就模擬成中鍵
可是上列的程式都沒辦法同時滿足這兩點
但是mouseworks可以,只是那個延遲實在是讓我很不想用它
最後看到了AHK,可是要自己寫耶,要先看一堆說明............
但是為了這支軌跡球,所以最後還是盡量忍著把一些教學文章看完
最後也終於在一連串try and error之後把我所希望的設定檔寫出來了
在板上也沒看到有人有問過這類的問題
以下就是我寫的,或許偶然之中也有人會有一樣的問題吧
好像很多人是把多餘的按鍵設定成特定的指定功能
但是沒看到有人把AHK拿來解決按鍵過少的問題
這個方法搭配上marble mouse wheel之後,軌跡球就用得很順了
用pcman的滑鼠功能來打B完全沒問題
雖然原本的手勢功能是要按著右鍵來移動滑鼠
所以可能要按著左右兩鍵再來轉軌跡球,這樣會很麻煩
但是其實pcman把中鍵設定成跳出,也就是和方向鍵按左一樣的功能
所以其實閱讀文章是蠻方便的
;本script的功能
;1. 在160毫秒之內按下右鍵後馬上放開就是一般的右鍵
;2. 按著右鍵不放就等於是按著中鍵不放,再放開右鍵就等於是放開中鍵
;3. 按著右鍵然後在160毫秒之內也按下左鍵就是等於一直按著右鍵,只要不放開右鍵就
是一直按著右鍵
RButton::
sleep 160 ;等待160毫秒
GetKeyState, state ,RButton ,P
if state = D ;如果右鍵被按著
{
GetKeyState, state ,LButton ,P
if state = U ;如果左鍵沒被按著
{
Send {MButton down} ;一直按著中鍵
Loop
{
GetKeyState, state ,RButton ,P
if state = U
{
Send {MButton up} ;放開中鍵
break
}
}
}
else ;如果左鍵被按著
{
Send {RButton down} ;一直按著右鍵
Loop
{
GetKeyState, state ,RButton ,P
if state = U ;如果右鍵沒被按著
{
Send {RButton up} ;放開右鍵
break
}
}
}
}
else
{
Send {RButton} ;按一下右鍵
}
return
程式的排版不是很好,可以work就好了XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.253.129
※ 編輯: spotline 來自: 140.113.253.129 (09/19 23:26)
EzHotKey 近期熱門文章
PTT數位生活區 即時熱門文章