Циклические светодиодные режимы с использованием ControllerMate - PullRequest
1 голос
/ 22 августа 2010

Я использую ControllerMate с Speedpad Nostromo (Belkin) n52 (НЕ версия te) на iMac под управлением Snow Leopard.

Официальное программное обеспечение для конфигурации SpeedPad не запускаетсякроме Tiger, или, по крайней мере, он не работает на Snow Leopard из-за того, что kext не загружается должным образом, следовательно, попытка использовать ControllerMate.

Официальное программное обеспечение для конфигурации SpeedPad имеет возможность загрузить 1 уникальный наборключей на «страницу», где есть 4 страницы.Это в конечном итоге привело к тому, что я смог выполнять такие вещи, как базовое сопоставление клавиш на первой странице, комбинации клавиш на второй, макросы на третьей, и я установил несколько глобальных ярлыков для своего музыкального проигрывателя и привязал те же самые ярлыки кпоследняя страница Speedpad.

Страницы были представлены текущим светящимся светодиодом на устройстве;
Нет светодиодов вкл. / Красный светодиод горит / Зеленый светодиод горит / Синий светодиод горит

Iпытаюсь использовать функции логики ControllerMate, чтобы воссоздать то же самое поведение.Нажатие кнопки, привязанной к этой процедуре, заставит светодиоды начать циклически работать в указанном выше порядке, в конечном итоге вращаться вокруг и перезапускаться без светодиодов.

Я собираюсь объяснить это как можно лучше, чтобыНа базовые принципы программирования / логики здесь мог бы ответить любой человек, но я могу потерпеть неудачу, и вам, возможно, придется сначала ознакомиться с ControllerMate: P.

ControllerMate представляет вам сетку, в которой вы простоперетащите объекты внутрь. Это визуальный холст программирования.Например, на моем Canvas в настоящее время есть 4 блока:

Nostromo SpeedPad 2
Клавиатура LeftAlt

Это клавиша, соответствующая большой оранжевой кнопке вышеDPad.Он находится на холсте, поэтому я могу помещать в него другие элементы и извлекать из него элементы.Это базовая система ввода / вывода с элементами привязки.

Num Lock

Caps Lock

Scroll Lock

Они представляют собойсветодиоды.Когда эти блоки включаются, соответствующий светодиод на SpeedPad загорается.

Например, если я подключаю один блок Lock или все они непосредственно к блоку LeftAlt, нажимая кнопку «LeftAlt»на SpeedPad включает один / все светодиодные фонари на время их удержания.

ControllerMate на самом деле имеет замечательное руководство по объяснению «блоков» и показывает, как они выглядят на http://www.orderedbytes.com/controllermate/help/?show=blocks

Блоки логики, с которыми мне приходится работать, следующие:

И
НЕ
ИЛИ
XOR
ВКЛ / ВЫКЛ Gate
Фиксатор ВКЛ / ВЫКЛ
1: 2
Переключатель

Большинство из них уже говорят сами за себя, но в случае, если это не так, пожалуйста, обратитесь к ссылке выше, чтобы получить конкретныйСсылка на блок (моя репутация в настоящее время не позволяет мне связать каждый из вышеперечисленных элементов).

Я думаю, что мне удастся использовать серию Toggles and Gates, но я не смогвполне мог соединить их должным образомведите себя в идеальном цикле вызова.

Бонусные баллы, если вы действительно настроены на это (вы получите приемлемый ответ для удовлетворения только основного вопроса, обещание!): не только линейное включение/ Выкл для каждого светодиода, но полная перестановка всех комбинаций вкл / выкл;
Все выкл.
Красный Вкл. Синий Выкл. Зеленый Выкл.
Красный Вкл. Синий Вкл. Зеленый Выкл.
Красный Вкл. Синий Выкл. Зеленый Вкл.
Красный Вкл. Синий Вкл. Зеленый Вкл.
Красный Выкл. Синий Вкл. Зеленый Выкл.
и т. Д.

[править]
Если кто-либо с подходящим представителем может создать / добавить тег «ControllerMate» к этому вопросуЯ бы очень признателен.

1 Ответ

0 голосов
/ 04 сентября 2010

Я все понял, это было довольно долго. Давайте разберем его на несколько разных тем;

(1) Связывание клавиш / Представление клавиш

(2) Используемые блоки

(3) Логика

Во-первых, я настроил простое переназначение клавиш, но этот пример не удался, потому что нажатие клавиши Speedpad 02 приведет к вводу исходного сопоставления ( q ) и повторного сопоставления определено ( ш ). Я начал ползти по форумам ControllerMate и наткнулся на отличная пара постов, которые могут послужить лучшей отправной точкой, чем файлы определения .cmate, которые легко найти, но я отвлекся ...

После того, как вырвал мои волосы в поисках пропущенной настройки, настроек программы или чего-то еще, я посмотрел на форумах и наткнулся на отличную ветку. Прочитав его, я взял 30 секунд и отключил все кнопки для части палитры "клавиатура" и части палитры "мышь", которые на самом деле не существовали .

Это означает отключение всех, кроме 15 пронумерованных клавиш, плюс оранжевую клавишу, плюс dpad для части клавиатуры и отключение всех клавиш мыши для части мыши. Я собираюсь отправить этот новый файл карты Кену (разработчику ControllerMate).

После того, как вы сделаете это и назовете ключи чем-то вменяемым, чтобы они были правильно представлены в качестве ключа, который они помечают, переназначения работают, как и ожидалось. Speedpad 02 введите только мой переназначенный ключ w и ничего больше!

Этот первый шаг наконец завершен.

Второй и третий, я сел и придумал креативное решение светодиодной задачи;

Я использую ровно ноль логических блоков выше. Я использую мета-блоки (ключевые блоки, групповые блоки) и математику.

При нажатии оранжевой кнопки большого пальца запускается блок «аккумулятора», от 0 до 3, шагая на 1 при каждом нажатии.

У этого аккумулятора есть 3 розетки, каждая из которых идет в блок вычитания. Первый блок вычитания вычитает 1, второй вычитает 2, третий вычитает 3.

Все эти блоки вычитания подключаются напрямую к «Селектору значений». Если значение равно нулю, этот конкретный селектор включается.

Таким образом, когда я нажал оранжевую кнопку один раз, аккумулятор предоставляет значение 1, которое поступает на все вычитатели, но более конкретно то, которое управляет красным светодиодом, вычитает 1 и составляет 0, так что это значение Включает селектор, который включает «Num Lock» (красный LED) свет.

Светодиодные розетки подключаются к блоку значений с постоянным числом (опять же, соединение стека вычитания -1 в конечном итоге обеспечивает постоянное значение 1, стек вычитания -2 заканчивается постоянным значением 2, -3 переходит в 3.

Все три из этих блоков постоянных значений идут в серию из 4 дополнительных блоков, красный светодиод / Константа 1 имеет четыре выхода для всех четырех дополнительных блоков. Синий светодиод / Константа 2 имеет четыре выхода, которые идут на все четыре дополнительных блока, и Зеленый светодиод / Константа 3 [...].

Затем на холст можно поместить страницу конфигурации, и в этом случае я переместил страницу «переназначения» на холст и прикрепил ее к блоку селектора значения сложения-> ожидаемо 0, что означает, что если сложение равно нулю этот конкретный селектор значений включен. Когда все светодиоды выключено, блоки с верхним половинным постоянным значением отключены и не предоставляют их конкретного значения.

Теперь мне просто нужно выяснить, что связывать с тремя другими режимами, над которыми я так отчаянно работал.

Изображение ControllerMate Canvas;
http://vxjasonxv.com/images/ControllerMateSC2.png

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...