2016-06-05 2 views
1

저는 AHK의 전문가는 아니지만 얼마 전 아포스트로피 데드 키의 동작을 변경하는 아주 간단한 코드를 작성했습니다. 내가 원했던 것은 홀로 눌려지면 아포스트로피를 직접 출력하고 오른쪽 Ctrl 키를 누르면 정상적인 데드 키 기능을 갖게하는 것이 었습니다.AutoHotKey 죽은 키 다시 매핑이 작동을 멈췄습니다.

$'::send '{space} 
^'::send ' 

을 다음과 플러스 내가 생각하지 않는 다른 물건 관련으로
내 코드이었다. 잠시 동안 정상적으로 작동했지만 요즘은 멈추었습니다. 일부 업데이트 또는 이와 비슷한 것으로 의심됩니다.

이제 예상과 다르게 작동합니다. 단 하나의 인쇄기로 공백이없는 아포스트로피를 인쇄합니다 (지금까지는 모두 좋음). 그러나 Ctrl 키를 누른 다음 다른 문자를 누르면 그 자체 만 인쇄됩니다 . Ctrl 키를 두 번 누르면 두 번째 누를 때 두 개의 아포스트로피가 인쇄되고 Ctrl 키를 누른 상태에서 처음 키를 누르면 (Ctrl 키 제외) 두 개의 아포스트로피와 한 개의 공백이 인쇄됩니다. 실제로

는 :

Ctrl+' followed by e = <e> with no apostrophe anywhere. 
Ctrl+' followed by r = <r> again with no apostrophe anywhere. 
Ctrl+' followed by Ctrl+' = <''> 
Ctrl+' followed by just ' alone = <'' > 

이 사람이 어떤 제안을 가지고, 나를 매우 당황 잎은 이전처럼 작동받을 수 있나요?
미리 감사드립니다.

+0

는 당신이 예에서 키보드 유형을 변경 한 것일 수 미국에서 미국으로? 그들은 죽은 열쇠와 관련하여 다르게 행동합니다. –

+0

아뇨, AHK를 끄면 죽은 키가 정상적으로 작동하기 때문에 국제 사회로 도약합니다. – Skipjack3

답변

1

Skipjack3, 내 잘못으로, 이전 답변에서 두 개의 키보드를 전환했습니다. US International 대신 US를 선택하면 OS가 보유하고있는 데드 키가 없으므로 AHK에서이 키를 사용하여 문자열을 트리거 할 수 있습니다.

내가 (그리고 오늘날에도 여전히 사용하고) 내 시스템에이 년 전에했던 방법은 다음과 같습니다

:?C*:``a::à 
:?C*:``i::ì 
:?C*:``e::è 
:?C*:``o::ò 
:?C*:``u::ù 
:?C*:``A::À 
:?C*:``I::Ì 
:?C*:``E::È 
:?C*:``O::Ò 
:?C*:``U::Ù 

:?C*:^ :: ; Turn ^{Space} into neutral ^, else^will be used in next vowel. 
    Send, {^}{Space}{BackSpace} 
Return 

:?C*:^a::â 
:?C*:^i::î 
:?C*:^e::ê 
:?C*:^o::ô 
:?C*:^u::û 
:?C*:^A::Â 
:?C*:^I::Î 
:?C*:^E::Ê 
:?C*:^O::Ô 
:?C*:^U::Û 


:?C*:`" :: ; Turn "{Space} into neutral ", else " will be used in next vowel. 
    Send, +{'}{Space}{BackSpace} 
Return 

:?C*:`"a::ä 
:?C*:`"i::ï 
:?C*:`"e::ë 
:?C*:`"o::ö 
:?C*:`"u::ü 
:?C*:`"A::Ä 
:?C*:`"I::Ï 
:?C*:`"E::Ë 
:?C*:`"O::Ö 
:?C*:`"U::Ü 

:?C*:' :: ; Turn '{Space} into neutral ', else ' will be used in next vowel. 
    Send, {'}{Space}{BackSpace} 
Return 

:?C*:`'a::á 
:?C*:`'i::í 
:?C*:`'e::é 
:?C*:`'o::ó 
:?C*:`'u::ú 
:?C*:`'A::Á 
:?C*:`'I::Í 
:?C*:`'E::É 
:?C*:`'O::Ó 
:?C*:`'U::Ú 

:?C*:`'c::ç 
:?C*:`'C::Ç 
:?C*:ss\::ß 
:?C*:ae\::æ 
:?C*:AE\::Æ 
:?C*:oe\::œ 
:?C*:OE\::Π
+0

정확히 내가 원하는 것은 아니지만이 경우에는 작업이 완료됩니다. 감사! – Skipjack3

관련 문제