2013-07-01 39 views
1

基本上,AutoHotkey的重映射ALT鍵+ J到離開,但ALT + SHIFT + j沒有選擇離開也不ALT + CTR + J移動插入符號,如果函數GetKeyState不起作用

它是由Vim的啓發我想使用一鍵(例如Alt鍵F1)組合(+ IJKL)映射到方向鍵

什麼是AutoHotkey的

Ralt & j::send{Left} 
Ralt & k::send{Right} 

已經完成... 現在我拿Alt鍵 + 高達等,這是非常對我很好但是,當你按下

Ralt+Shift+j (Suppose to select the last charater) 
Ralt+Ctrl+j (Suppose to move a caramel text) 

問題就來了。這些類型的組合是行不通的,它只是得到overrided基本移動光標到左

即使我使用if/while語句與GetKeyState,它不是要去工作

if GetKeyState("Shift","P") 
    Ralt+j::send +{Left} 
This kind of stuff didn't work 

上什麼想法嗎?它將使編碼沒有非常有效必須移動右手。

在此先感謝。

回答

3

你缺少兩件事情:

  1. context sensitive hotkey
  2. 代碼的底部時,使用+代替&您以前使用一定要用#符號。

見下面修飾:

RAlt & j:: Send {Left} 
RAlt & k:: Send {Right} 

#If GetKeyState("Shift","P") 
    RAlt & j:: Send +{Left} 
    RAlt & k:: Send +{Right} 

; Close with #If to remove the context or simply start another '#If GetKeystate ....' 
相關問題