Показать сообщение отдельно
Старый 01.07.2007, 20:10   #1
Pahan
Старший Пользователь
 
Аватар для Pahan
 
Регистрация: 17.10.2006
Возраст: 45
Город: Москва , СЗАО , Строгино
Регион: 77, 97, 99, 177
Машина: BMW740 E66Li LE 2008
Сообщений: 466
Pahan is an unknown quantity at this point
По умолчанию Программная обработка енкодера AutoHotKey-ем

решил я программно обрабатывать енкодер
сделал такой скриптик
Цитата:
Сообщение от ФРАГМЕНТ!!!

if JoyYY <> %JoyY%
{
if JoyYY > %JoyY%
{
SoundSet -5
}

if JoyYY < %JoyY%
{
SoundSet +5
}

JoyYY = %JoyY%
}

И всё это правильно работает внутри лупа в котором стоит
GetKeyState, joyy, %JoystickNumber%JoyY

Вкратце абысню что делаю:
если с последнего лупа переменная JoyY изменилась , то мы входим в процедуру обработки.
Если она стала больше , то увеличиваем громкость , меньше , уменьшаем.

Ну , плюс еще , у меня стоят контроли перехода через ноль ... но всё равно это не всегда помогает , т.к. иногда схема получается не
++-++-++-++-++-++-++-++-++-++-++-++-
а
++--++--+-++--

Но , то ли у меня енкодер барахлит , то ли я не фтыкаю

А если быстро крутить крутилку , то вааще билеберда получается.
И если после всех обработок и вычисток посмотреть на счетчик кручений вправо и счетчик кручений влево (есстесно при этом крутим всегда только вправо) , можно увидеть , что в лево я крутил 80% раз !!!
Громкость в итоге регулируется ... но медленновато.

Может я не понимаю схему работы?

Вообще , если крутить медленно , то я получаю цифры
Вправо: 000 050 100 000 050 100 000 050 100 000 050 100 000 050 100 000 050 100
Влево: 000 100 050 000 100 050 000 100 050 000 100 050 000 100 050 000 100 050
__________________
Комп/плеер? BMW7 E66 [____________________НЕ НАЧАТ____________________] 0%

Комп Dodge Intrepid[####################ПРОДАН####################] 100% P4 Core2 | CeleronD | 0.5 Gb DDR2 | 160Gb HDD | BT | WiFi | 8.4" Touch LCD
Pahan вне форума   Ответить с цитированием