Как стать автором
Поиск
Написать публикацию
Обновить

Подключение Wii RockBand Pro Drums к PC с определением ударов по тарелкам

Время на прочтение2 мин
Количество просмотров1.8K

Для подключения нам понадобится:
  • Сам джойстик (установка)
  • JoyToKey
  • Какой-нибудь язык программирования (я выбрал Delphi)
  • Программа для тестирования (у меня была возможность проверить на Kontakt5)



Введение

Кто знаком с программой JoyToKey, тот наверно задастся вопросом: «Зачем же здесь язык программирования?». Дело в том, что джойстик Wii ограничен в количестве кнопок при подаче сигнала к приставке, поэтому создатели не много схитрили. При ударе по тарелкам, они сначала посылают нажатие кнопки соответствующего цвета, затем посылают дополнительную кнопку (Button12 в JoyToKey). Изза этого способа возникают как минимум две проблемы:
  1. В результате сигнал получаемый при ударе по тарелке НЕ ЯВЛЯЕТСЯ комбинацией нажатия двух кнопок.
  2. Бывают моменты когда дополнительный удар по другому барабану посылает сигнал в интервале между посылом комбинации от удара по тарелке, поэтому выделить правильные сигналы — практически нереально.

Обозначим кнопки/цвета барабанов

Кнопка JoyToKey Сокращение
Красный Button3 R
Желтый Button4 Y
Синий Button1 B
Зеленый Button2 G
Бочка (педаль) Button5 T
Тарелка Button12 C

Отсюда получаем, что YC, BC, GC — желтая тарелка, синяя и зеленая соответственно.



Настройка JoyToKey

В данной программе я повесил кнопки на NumPad:
Button1..Button5 — Num1..Num5
Button12 — Num9

Программирование

Задача программы следующая:
  1. Перехватываем нажатие клавиши.
  2. Формируем стек нажатий перехваченных клавиш (тем самым сможем выделить удар по тарелкам).
  3. По интервалу времени обрабатываем наш стек в виде строки.
  4. Посылаем нажатие клавиши в активное окно согласно коду кнопок.
  5. Очищаем стек

Программу с исходниками можно скачать тут. Чтобы описать
как она работает я назову всего две функции: PostKeyEx32 (эмуляция нажатия клавиши), RegisterHotKey (Перехват нажатий).

Итог

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

Теги:
Хабы:
Всего голосов 4: ↑4 и ↓0+4
Комментарии6

Публикации

Ближайшие события