2012-12-18 7 views
11

Sto provando a utilizzare Autohotkey per simulare elementi della tastiera Mac su una tastiera PC (Windows). La mia memoria muscolare raggiunge il tasto Comando per compiti semplici come copia e incolla, quindi mi piacerebbe rimappare le combinazioni di tasti alt + lettere di sinistra per il ctrl + lettera appropriato.Imposta AutoHotKey ignora Alt come tasto menu

<!c::Send ^c 

La maggior parte delle volte funziona correttamente, tranne che per una parte del tempo in applicazioni IE e Office. Premendo Alt a sinistra, si avvita con il nastro/i menu dell'ufficio (ad esempio, la barra dei menu viene visualizzata in IE o le lettere a nastro iniziano a comparire in Office 2010) e la combinazione di ctrl + lettera attivata non raggiunge la destinazione.

Ho letto le FAQ + forum AHK, ho provato un paio di opzioni con UP e $ modificatori per il tasto di scelta rapida, ma non ha risolto il problema. Qualche idea?

risposta

1

Sembra che sia necessario il modificatore di caratteri jolly. Questo lo renderà così se il tuo tasto di scelta rapida viene premuto insieme a un altro tasto. La mappatura funziona ancora. Dare il seguente una prova:

*LAlt::LCtrl 

Questo renderà Alt fuoco Ctrl per qualsiasi Alt + Combinazione di tasti.

+0

Siamo spiacenti di comunicare che non ha aiutato. La barra dei menu di IE, ad esempio, continua a lampeggiare quando premo Alt, e mangia la combinazione di tasti Ctrl +. Mi sembra che abbia bisogno di un modo in cui Windows smetta di riconoscere Alt non appena è inattivo e riconosce solo l'intera combinazione di tasti solo quando è stato premuto e premuto completamente. – ttarchala

+1

Ah, vedo questo comportamento. Mapping Alt to Return lo disabilita, ma una volta aggiunta un'altra combinazione, alt attiva il menu. Ho provato alcune cose ma non sono riuscito a trovare una soluzione. –

0

Usa

LAlt::LCtrl 

questo sostituirà LAlt con LCtrl

+0

Vedi i miei commenti sulla risposta di Elliot DeNolf - questo non risolve il problema che ho vissuto. – ttarchala

2

Usa

LAlt::LCtrl 

metterlo in un file ahk compilarlo ed eseguire .exe con diritti di amministratore

destra fare clic su -> Esegui come amministratore

L'ho provato su Windows 7 e funziona, LAlt non si accende più da nessuna parte ed è completamente sostituito con LCtrl.

+0

"Esegui come amministratore" sembra fare il trucco con la mappatura, ma è troppo globale - perdo importanti scorciatoie di Windows come Alt-Tab. Hai idea di cosa potrebbe funzionare con scorciatoie più specifiche come quelle che ho realizzato? – ttarchala

+0

Usa ~ LAlt invece. –

+0

Il prefisso del tasto di scelta rapida con tilde lo rende ancora peggiore - ora alt funziona normalmente, cioè Alt + V apre il menu Visualizza in IE invece di incollare gli appunti. Forse sto facendo qualcosa di sbagliato? La riga relativa dallo script ora appare così: '~ ttarchala

0

puoi anche scambiare i due pulsanti.

Qualcosa di simile:

LAlt::LCtrl 
LCtrl::LAlt 

Nella limitato di test che ho fatto, funziona, ma potrebbe essere necessario imparare di nuovo alcune delle vostre scorciatoie da tastiera finestra. Fondamentalmente basta scambiare i due pulsanti.

0

Ho paura che IE si comporti in modo diverso dalla maggior parte delle altre applicazioni. Si potrebbe provare le istruzioni qui sotto. NON è autoHotKey ma regede modifiche. B.t.w. Avevo controllato per vedere se ScanCodes avrebbe funzionato (SC38 per LAlt), ma IE continua a ignorarlo.

Non sono sicuro se questo funziona in Vista/Win7/8, ma vale la pena dare un'occhiata.

http://www.designcodeexecute.com/2006/11/04/swap-alt-and-ctrl-keys-in-windows-xp/

2

appena controllato questo su Win-7 e funziona, anche con IE.

00 00 00 00 00 00 00 00 03 00 00 00 1d 00 38 00 38 00 1d 00 00 00 00 00 00 

Ecco il testo di SwapCtrlAlt.reg.

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] 
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,38,00,38,00,1d,00,\ 
    00,00,00,00,00 
+0

Grazie per le vostre risposte, meritano un upvote come abbastanza informativo, ma non posso davvero assegnare la taglia. Come con altri suggerimenti per scambiare alt con ctrl a livello globale, perdo importanti scorciatoie di Windows come Alt-Tab in questo modo, ecco perché volevo farlo con AHK. In caso contrario, lo scambio di alt con ctrl (o qualsiasi altro tasto) può essere fatto con l'utilità della GUI KeyTweak, che già conosco. – ttarchala

+2

Solo per vostra informazione, ho controllato se Invia, {vkA4sc038} e Invia, {vkA2sc01D} funzionassero, ma anche se si disabilitano Alt :: Return e Ctrl :: Return, IE continua a rispondere perché guarda la scansione di basso livello Codifica direttamente, quindi solo un programma (o regedit) che controlla direttamente gli scancodes risolverà questo problema. –

12

questo modo si evita il tasto laterale Alt sinistro di attivare la barra dei menu per la maggior parte delle applicazioni (in Windows 7 e AutoHotkey 1.1.11.01):

~LAlt Up:: return 

Non funziona con Internet Explorer ma io non uso IE spesso comunque. :)

A proposito, ho anche ucciso il pop-up menu di avvio fastidioso via:

~LWin Up:: return 
~RWin Up:: return 
+0

Sembra funzionare! Grazie! – certainlyakey

+1

@certainlyakey Se questa risposta ha risolto il problema, considera di accettarlo –

+0

non sono stato io a scrivere il post. – certainlyakey