1 (изменено: InFlames, 2011-01-27 20:20:20)

Тема: AHK: проблемы с Soundset

Стена текста. В двух словах не объяснить.
На старой материнской плате всё было нормально. Купил новую, а звуковуха на ней ведет себя странным образом.
Вот простой скрипт, он должен прибавлять или уменьшать громкость на единицу.
Но дело в том, что при каждом нажатии хоткея к прежнему уровню звука прибавляется не ровно единица, а какое-то дробное число, от 1.1 до 1.8 (приблизительно).
Если установить звук в 0 (кстати в 0 он не ставится, только в 0.07) и начать прибавлять по единице, то ряд не будет выглядеть как 0.07 1.07 2.07 и т.д. Он будет приблизительно такой 0.07 1.12 2.25 3.4 и т.д. Число каждый раз прибавляется разное.

В результате, у меня почему-то звук прибавляется постоянно при нажатии a.
А вот при нажатии z почему-то звук не всегда уменьшается, на некоторых значениях он просто не убавляется, например если звук 21, то уменьшить его не получается. Уменьшается, если сделать SoundSet, -3
Это проблема железа/драйвера или кто-то сталкивался с подобным или знает пути решения?
Округлять полученные значения пробовал, эффект тот же, если звук установлен в 21 например, уменьшить его можно только сразу на 3 единицы, на 1 или 2 не получается.

Всё нормально работает, если использовать soundset +2 для увеличения и soundset -3 для уменьшения звука. Но хотелось бы интервал именно через 1.

Если менять руками звук через встроенный регулятор громкости вручную, то все значения принимают свои стандартные значения от 1 до 100. А если использовать soundset +1, то этот регулятор громкости поднимается не равными промежутками, а через 1-3 деления (!). Т.е. предполагаю, что проблема в soundset.

autohotkey.exe запускается в режиме совместимости с WINXP SP3. Винда установлена Windows7.

a::
    SoundSet, +1
    SoundGet,VolumeOSD,MASTER, VOLUME
    ToolTip % VolumeOSD
Return

z::
    SoundSet, -1
    SoundGet,VolumeOSD
    ToolTip % VolumeOSD
Return