![]() |
Nota: Le caratteristiche descritte in questa pagina non sono supportate da Windows 95/98/Me e dai joysticks, di conseguenza:
Per rimappare in Windows 9x, guarda Windows
9x remapping.
Per rimappare joysticks, guarda joystick remapping.
La sintassi per riassegnare i comandi integrati e' OriginKey::DestinationKey (ComandoOriginale::NuovoComando). Per esempio, uno script e' costituito dalla seguente linea, che trasfotma il tasto "a" in "b":
a::b
L'esempio precedente non va' a cambiare il tasto "b". Il tasto "b" continuera' a scrivere la "b" a meno che non venga riassegnato con qulcosaltro come nel prossimo esempio:
a::b
b::a
Il precedente esempio utilizza le minuscole in quanto e' case-sensitive. La prossima linea produce una B maiuscola sia che venga scritto "a" o "A":
a::B
Per assegnare al mouse comandi da tastiera:
MButton::Shift ; Assegna a tasto centrale il comportamento del tasto Shift.
XButton1::LButton ; Assegna al quarto tasto del mouse il comportamento del tasto di sinistra.
RAlt::RButton ; Assegna al tasto Alt di destra il comportamento del tasto destro del mouse.
Alcuni utili esempi di riassegnazione:
| Capslock::Ctrl | Assegna a tasto Capslock il comportamento del tasto Control. |
| XButton2::^LButton | Assegna al quinto tasto del mouse il comportamento di Control-LeftClick. |
| RAlt::AppsKey | Assegna al taso Alt di destra il comportamento di Apps key (che e' il tasto che apre il menu' contestuale). |
| RCtrl::RWin | Assegna al taso Control di destra il comportamento del tasto Windows di destra. |
| Ctrl::Alt | Assegna ad entrambe i tasti Control il comportamento del tasto Alt. Tuttavia, guarda alt-tab issues. |
| ^x::^c | Assegna a Control-X il comportamento di Control-C. Inoltre puo' assegnare a ^!x il comportamento di ^!c, etc. |
| RWin::Return | Disabilita il tasto Windows di destra, assegnandogli un semplice return. |
Puoi provare alcuni di questi esempi copiandoli in un nuovo file come "Rimappare.ahk", e mandandolo in esecuzione.
Guarda la Key List per una lista complea dei tasti e bottoni del mouse.
La direttiva #IfWinActive/Exist puo' essere usato per rendere effettivi i cambiamenti solamente nelle finestre da te specificate.
Riassegnare un tasto o un bottone e' "complete" nei seguenti:
Anche se un tasto riassegnato può richiamare le normali hotkey, non può richiamare le hotkey del mouse o le hotkey-hook. Per esempio, se e' in esecuzione a::b, premendo Ctrl-Alt-A produrra' ^!b se non e' una hotkey-hook. Se e' una hotkey-hook, puoi definire ^!a come una hotkey se vuoi che Ctrl-Alt-A produca lo stesso effetto di Ctrl-Alt-B. Per esempio:
a::b
^!a::
^!b::
ToolTip Hai premuto %A_ThisHotkey%.
return
Se SendMode
viene usato in una sezione auto-eseguibile (la magior parte degli
script), avra' effetto su tutte le riassegnazioni. Tuttavia, dagli usi
di Send {Blind} e da quelli SendPlay mode
non viene supportato a pieno {Blind}, alcune riassegnazioni potrebbero
non funzionare appieno con SendPlay (specialmente Control, Shift,
Alt, e Win). Per lavorare con questi evitare SendPlay nelle
sezioni auto-eseguibili quando hai fatto riassegnazioni, poi
utilizza il comando SendPlay
al posto di Send in un altro punto dello script. Altrimenti,
potreste tradurre le vostre riassegnazioni in hotkeys (come descritto
qui sotto) dove esplicitamente denominate SendEvent al posto di
Send.
Quando viene lanciato uno script, ogni riassegnazione viene tradotta in una coppia di hotkeys. Per esempio, uno script contenente
a::b attualmente contiene invece le due seguenti hotkey:
*a::
SetKeyDelay -1 ; se la destinazione e' un tasto del mouse, si utilizzera' SetMouseDelay.
Send {Blind}{b DownTemp} ; DownTemp e' come Down eccetto che gli altri comandi Send nello script non presupporra' che la "b" rimanga premuta.
return
*a up::
SetKeyDelay -1 ; Guardare la nota qui sotto per capire perche' la press-duration is not specified with either of these SetKeyDelays.
Send {Blind}{b Up}
return
Tuttavia, la precedente hotkey puo' variare nelle seguenti circostanze:
*RCtrl::
SetMouseDelay -1
if not GetKeyState("RButton") ; i.e. il tasto destro del mouse non e' stato ancora premuto.
Send {Blind}{RButton DownTemp}
return
Nota che il secondo parametro di SetKeyDelay (press duration) viene omesso nel precedente esempio. Cio' perche' press-duration non e' applicabile agli eventi down-only o up-only quali {b down} e {b up}. Tuttavia, e' applicabile per cambiare lo stato dei tasti Shift/Ctrl/Alt/Win, che interessa le riassegnazioni come a::B o a::^b. Di conseguenza, qualsiasi press-duration che uno scritto attua attraverso la relativa sezione auto-execute si applicherà a tutte le riassegnazioni.
Poiché le riassegnazionni sono tradotte in hotkey come precedentemente descritto, il comando Suspend influisce su di loro, percui una Hotkey puo' disabilitare o modificare una riassegnazione. Per esempio, i due comandi seguenti disabilitano la riassegnazione a::b.
Hotkey, *a, off
Hotkey, *a up, off
Alt-tab: se riassegni un tasto o un mouse button a diventare un tasto Alt, questo probabilmente non sara' in grado di funzionare propiamente come alt-tab. Una possibile alternativa e' di aggiungere la hotkey *Tab::Send {Blind}{Tab} -- ma attento che interferira' con il normale utilizzo del tasto Alt in alt-tab. Di conseguenza, dovrebbe essere usato soltanto quando utilizzi alt-tab per mezzo di tasti riassegnati e/o hotkey.
Oltre che le chiavi ed il tasto del mouse alla pagina Key List, la key sorgente puo' anche essere una virtual key (VKnn) o scan code (SCnnn) come descritto alla pagina special keys. Lo stasso per la key di destinazione salvo che potrebbe specificare uno scan code dopo la virtual key. Per esempio, sc01e::vk42sc030 e' equivalente ad a::b per la maggior parte delle tastiere.
Per disabilitare una key anziche riassegnarla, rendila una hotkey che semplicemente return. Per esempio, F1::return disabilita il tasto F1.
Le seguenti chiavi non sono supportate con il metodo built-in remapping(riassegnazione incorporata):
la tastiera può essere utilizzata per spostare il cursore del mouse. Un esempio è lo script Keyboard-To-Mouse.
Il metodo raccomandato di utilizzare Send e KeyWait. Per esempio, la seguente hotkey trasforma la 'A' nella freccia di sinistra:
a::
Send {Left down} ; Tiene premuta giu' la freccia di sinistra.
KeyWait a ; Aspetta che l'utente rilasci la 'A'.
Send {Left up} ; rilascia il tasto freccia di sinistra.
return
List of keys and mouse buttons
GetKeyState
Remapping a joystick
Download | Documentation | Changelog | Support | Forum | X Traduttori