2016-04-13 52 views
1

Yani, tıpkı LAlt anahtarımı LCtrl (veya LCtrl to LAlt) olarak her değiştirdiğimde, her ikisi de tuş kullanılırken basılır ve Bu çeşitli sorunlara neden olur.Remapping AutoHotKey'de Ctrl tuşunun Alt tuşu her iki tuşa da basılmasına neden olur.

Takas edilmek üzere bu tuşlara ihtiyacımın temel nedeni, Windows 7 bilgisayarında bir Mac klavye ile kullanmaktır. Dürüst olmak gerekirse, bu sadece benim sorunumun başlangıcı. Aslında LAlt anahtarının LCtrl anahtarı olmasını, LAlt anahtarının LWin anahtarını ve LWin anahtarının LCtrl anahtarını olmasını isterim. Böylece, kişisel klavye kullanımı için Pro Tools 10 içinde uygun bir şekilde Mac klavyesini kullanır. Bu 3 yollu, LCtrl ve LWin işlevini (sırasıyla LWin ve LAlt olarak) düzgün şekilde çalıştırmayı denediğimde, LAlt tuşu her iki LCtrl ve LAlt tuşlarına aynı anda basmaya devam eder.

#IfWinActive 
LAlt::LCtrl 
LWin::LAlt 
LCtrl::LWin 
Return 

Ben AHK için oldukça yeni, ama bu doğru, aşırı karmaşık olmamalı:

Benim kod şöyle görünür? Oldukça kısa ve tatlı ve Alt + Tab çile hakkında endişelenmiyorum bile; Sadece bu üç düğmenin doğru şekilde değiştirilebilmesi için sorunu çözmem gerekiyor. Bunun neden olabileceğine dair bir ipucu varsa, çok minnettar olurum. Emeğiniz ve ayırdığınız zaman için teşekkürler.

+0

Siz yinelenen bir kısayol ave, bu kod derleme değil. – 2501

+0

Hızlı yanıt için teşekkürler ve hatama işaret ediyor. Kodu yazarken aslında bir yazım hatası yaptım (sadece kopyala yapıştırılmış olmalı, ancak kod zaten yeterince küçüktü). OP'yi aslında sahip olduğum kodu yansıtacak şekilde düzenledim. – DistanceAnywhere

+0

Bu, Autohotkey'in bir sınırlaması olabilir. – 2501

cevap

0

Kısayol tuşlarınızın muhtemelen birbirini tetiklediğini düşünüyorum. Eğer LALT vurduğunda

, bu birbirini tetikleyen onları durdurmak için size kimin çıktı başka kısayol tuşu girişini eşleşen bir kısayol var $ ile kısayol tuşlarını öneki zaman LALT ... tetikler LCTRL gönderir:

$LAlt::LCtrl 
$LWin::LAlt 
$LCtrl::LWin 
Ayrıca

, hiç WinTitle param beri ben, senin #IfWinActive şey yaptığını sanmıyorum, ayrıca sonunda return bir #IfWinActive blok sona kadar değil, #IfWinActive <WinTitle> ile başlayıp #IfWinActive

ile bitirin