Тема: AHK: Хоткеи на урезанной клавиатуре (глюки со сканкодами SC)
Доброго дня форумчанам.
Стал я недавно обладателем "мегоацкойкрутостильной" клавиатурки. Воттакой (привожу, ибо думается что дело в железе)
Есть в этой клавиатуре такие клавиши которые регулируют громкость. А в моем скрипте, запускающимся с загрузкой компа и настаивающим мои хоткеи и скрипты, есть такая метка:
Show_Sound: ; тултип к Регулировке громкости
Sleep, 200
SoundGet, CurSound
CurSound:=Round(CurSound)
ToolTip, Громкость: %CurSound%
SetTimer, RemoveToolTip, -1000
return
Чтобы соединить приятное с полезным я сделал следующие изменения: чтобы при изменении громкости клавишами появлялся тултип сообщающий о текущей громкости)
;MediaVolume keys ,... to show tooltip
~sc130:: GoSub, Show_Sound ;увеличение громкости
~sc12e:: GoSub, Show_Sound ;уменьшение громкости
Show_Sound: ; тултип к Регулировке громкости
Sleep, 200
SoundGet, CurSound
CurSound:=Round(CurSound)
ToolTip, Громкость: %CurSound%
SetTimer, RemoveToolTip, -1000
return
Можно и без GoSub, но я их добавил позже, чтобы отследить исполнение скрипта.
В чем же проблемма? А в том, что при нажатии на клавишу Ctrl (который в этой клавиатуре только левый) я получаю исполнение строки
~sc12e:: GoSub, Show_Sound ;уменьшение громкости
выдержка из странички Key history and script info:
A2 01D d 1.11 Ctrl
A2 01D u 0.17 Ctrl
04 000 a u 0.00 MButton
A2 01D a u 0.00 Ctrl
A2 01D a d 0.00 Ctrl
43 02E h d 0.00 C
43 02E a u 0.00 C
A2 01D a u 0.00 Ctrl
и соответственно показывается тултип сообщающий мне текущую громкость в системе. Но это меня не сильно донимало. А вот после нажатия в тоталовском Lister-e я понял, что тут основательно что-то не так. Ибо понял, что система не только выдает тултип, но еще и копирует выделенный фрагмент текста, если таковой существует.
Вот, собственно, и прошу помочь разобраться - почему при нажатии на Ctrl срабатывает приведенная выше последовательность нажатий.
--
если убрать эти хоткеи из скрипта и опять нажать клавишу Ctrl то видим следующее:
A2 01D d 0.64 Ctrl
A2 01D u 0.20 Ctrl
04 000 a u 0.00 MButton
A2 01D a u 0.00 Ctrl
A2 01D a d 0.00 Ctrl
43 02E # d 0.00 C
43 02E a u 0.00 C
A2 01D a u 0.00 Ctrl
т.е. опять система пытается скопировать выделенный фрагмент (если такой есть). Это всетаки железо?