Skip to content

Alikberov/Glazeur

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Glazeur / Глазурь

The Windows simple console application for control up the indicators of all keyboards, connected to system. You can making any interested illuminations with many keyboards through the «glazeur-script» - simple language for LEDs control, using the «Glazeurist» - useful web-editor.

Простая консольная программа управления индикаторами на нескольких клавиатурах, доступных в системе Windows. Вы можете создавать любые интересные иллюминации на всех своих клавиатурах, используя «глазурь-скрипт» - простой язык управления индикацией клавиатур, для редактирования и отладки которого был разработан также специальный онлайн-редактор - «Глазурист».

Program / Программа

Download the project and start the Glazeur.exe for test. (VirusTotal) Type ":" (colon) to start active session script; Type "." (comma) to leave active session; Press ESC-key in any moment to break. Or copy-paste the our scenario from Glazeurist to command line window.

Скачайте проект и запустите Glazeur.exe для теста. (VirusTotal) Введите ":" (двоеточие) для исполнения скрипта активной сессии; Введите "." (точку) для завершения текущей сессии; Жмите ESC в любой момент для прерывания сценария. Или вставьте собственный сценарий из Глазуриста в окно консоли программы.

The «glazeur-scenarios» short syntax descriptions
Signature Common description for signature action Variant using sample Using restriction¹
§i Select active paragraph with effects §0…§9 Scenario
Select effects row in active paragraph 0§…99§ Scenario/Paragraph
n§i Select active paragraph with row 99§0…45§6…0§9 Scenario
n㎳ Set up the basic delay interval 1㎳…1000㎳ Scenario
0㎳ Reset the delay coefficients 0㎳ Scenario/Paragraph
n⁄d㎳ Define the delay coefficient 2⅛㎳…3⅘⅞㎳ Scenario/Paragraph
n⁄d⏱ Waiting for coefficient interval ⏱…1⏱…2⅛⏱…3⅘⅞⏱ Scenario/Paragraph
n⤴ Go to row over in active paragraph ⤴…1⤴…99⤴ Scenario/Paragraph
n⤵ Go to next row in active paragraph ⤵…1⤵…99⤵ Scenario/Paragraph
«Play» for active paragraph row Scenario
n(…) Set looping for n-times 1(➰)…99(➰⤵) Scenario/Paragraph
n♻ Set row-looping for n-times 1♻…99♻ Сценарий/Параграф
§(…) Particulary run in active paragraph §(0⏱⅘⏱⤵) Scenario
Immediate draw over the keyboards indicators 5(⠪⠝⏱⠿⠽⏱) Scenario/Paragraph
∧/⊕/∨ Logical operation prefix for indicators 10(⊕⠪⠝⠽⏱∧⠽⠝⠪⏱) Сценарий/Параграф
▲/▶/▼/◀ Scroll the indication buffer in signed dirrection 9(◀⏱) Scenario/Paragraph
Definition of local label ⒈…⒛ Scenario/Paragraph
Define the «interactive label»² in scenario ①…⑳ / Ⓐ…Ⓩ Scenario
i⃣ Define the «interactive label»² in scenario 0⃣ …9⃣ Scenario
i⌨ Select for basic (left-side) keyboard³ 1⌨…9⌨ Scenario/Paragraph
n⌨ Set up the logic order for keyboards³ 12⌨…987654321⌨ Scenario
n㎐ Set up the indicators refresh frequency⁴ 1㎐…1000㎐ Scenario/Paragraph
n⁄d(…) Set «fractional»⁵ looping 1¾(…;…;…;…) Scenario/Paragraph
⇡/⇣ The bright modulation⁶ control of indicators 10(⇣⠿⠿⠿⏱⇡⠿⠿⠿⏱) Scenario/Paragraph
Using of iteration argument⁷ of parent row cycle Line #⁰ Lap #¹ Debugging string
Using of iteration argument⁷ of current row cycle Line #₀ Lap #₁ Debugging string
§ Using of active paragraph index⁷ Effect#§ Line #₀ Debugging string
⎚/⎙ Clear/Print⁷ the formated logging string 10(⎙⏱⎚⏱) Scenario/Paragraph
Patterned⁸ draw over the keyboards indicators 7(⣀◀⏱) Scenario/Paragraph

¹- the action can have a differences inside or outside the paragraphs

²- the linear parsing can be controlled by numbers key of keyboard

³- ignoring by online web-simulation, but strongly required in console utility

⁴- ignoring by online web-simulation, but controling for indication fidelity

⁵- the cycle inside operations separated by «;» for ignoring by numerator range

⁶- not all keyboards devices supports for Pulse-Width Modulation then can show noise

⁷- any previous line remark or commentary using as output format

⁸- as pattern using any previous signed remark

Краткое описание синтаксиса «глазурь-сценариев»
Сигнатура Краткое описание назначения и действия Пример использования Область действия¹
§i Активизация параграфа эффектов §0…§9 Сценарий
Выбор строки активного параграфа 0§…99§ Сценарий/Параграф
n§i Выбор строки с активизацией параграфа 99§0…45§6…0§9 Сценарий
n㎳ Установка базового интервала задержки сценария 1㎳…1000㎳ Сценарий
0㎳ Сброс коэффициентов интервала задержки 0㎳ Сценарий/Параграф
n⁄d㎳ Задание коэффициентов интервала задержки 2⅛㎳…3⅘⅞㎳ Сценарий/Параграф
n⁄d⏱ Организация паузы в «проигрывании» ⏱…1⏱…2⅛⏱…3⅘⅞⏱ Сценарий/Параграф
n⤴ Переход строками выше в активном параграфе ⤴…1⤴…99⤴ Сценарий/Параграф
n⤵ Переход строками ниже в активном параграфе ⤵…1⤵…99⤵ Сценарий/Параграф
Запуск «проигрывания» эффекта активной строки параграфа Сценарий
n(…) Организация зацикливания n-раз 1(➰)…99(➰⤵) Сценарий/Параграф
n♻ Организация зацикливания строки n-раз 1♻…99♻ Сценарий/Параграф
§(…) Управление выбранным параграфом §(0⏱⅘⏱⤵) Сценарий
Непосредственное управление индикаторами клавиатур 5(⠪⠝⏱⠿⠽⏱) Сценарий/Параграф
∧/⊕/∨ Префикс управления логической операцией к индикаторам 10(⊕⠪⠝⠽⏱∧⠽⠝⠪⏱) Сценарий/Параграф
▲/▶/▼/◀ Скроллинг буфера индикации в соответствующем направлении 9(◀⏱) Сценарий/Параграф
Определение локальной метки ⒈…⒛ Сценарий/Параграф
Определение «интерактивной метки»² сценария ①…⑳ / Ⓐ…Ⓩ Сценарий
i⃣ Определение «интерактивной метки»² сценария 0⃣ …9⃣ Сценарий
i⌨ Выборка базовой (первой слева) клавиатуры³ 1⌨…9⌨ Сценарий/Параграф
n⌨ Задание логического порядка клавиатур³ 12⌨…987654321⌨ Сценарий
n㎐ Задание частоты обновления индикаторов⁴ 1㎐…1000㎐ Сценарий/Параграф
n⁄d(…) Организация «дробного»⁵ зацикливания 1¾(…;…;…;…) Сценарий/Параграф
⇡/⇣ Управление яркостью⁶ активных индикаторов 10(⇣⠿⠿⠿⏱⇡⠿⠿⠿⏱) Сценарий/Параграф
Доступ к аргументу⁷ итерации вызываемого цикла Line #⁰ Lap #¹ Строка отладки
Доступ к аргументу⁷ итерации текущей строки параграфа Line #₀ Lap #₁ Строка отладки
§ Доступ к индексу⁷ активного параграфа Effect#§ Line #₀ Строка отладки
⎚/⎙ Очистка/Печать⁷ строки форматированной отладки 10(⎙⏱⎚⏱) Сценарий/Параграф
Шаблонное⁸ управление индикаторами клавиатур 7(⣀◀⏱) Сценарий/Параграф

¹- действие эффекта может несколько отличаться в параграфе и за его пределами

²- клавишами цифровой части клавиатуры можно в реальном времени переключать «программу»

³- игнорируется графической симуляцией, но имеет существенную необходимость для физических клавиатур

⁴- игнорируется графической симуляцией, но управляет качеством индикации на физических клавиатурах

⁵- операторы цикла разделяются символом «;» и заключающей итерацией игнорируются выпадающие за индекс числителя

⁶- не все модели клавиатур поддерживают ШИМ-алгоритм и могут иметь непредсказуемое моргание

⁷- аргументы используются любой ремаркой, которая предшествует оператору печати отладочной информации

⁸- за шаблон принимается любая соответствующая ремарка

Samples / Примеры

Scenario v0.01α - (0:01:40)

Try web-preview in Glazeurist

Paragraphes declaration started at here
1⃣ ㎳⅐㎳⤵⇥Clockwise curve rotation
LOG:Paragraph#§ Row#₀ - Call from line#⁰ ²(¹(...))
⇥	⎙⠑⠄⏱⠘⠄⏱⠈⠆⏱⠀⠇⏱⠠⠃⏱⠰⠁⏱⤵⇥	Goto down
⇥	⎙⠔⠁⏱⠔⠂⏱⠤⠂⏱⠤⠄⏱⠢⠄⏱⠒⠄⏱⤵⇥	Goto down
⇥	⎙⠑⠄⏱⠱⠀⏱⠣⠀⏱⠇⠀⏱⠎⠀⏱⠜⠀⏱⤵⇥	Goto down
⇥	⎙⠔⠁⏱⠒⠁⏱⠊⠁⏱⠉⠁⏱⠉⠂⏱⠑⠂⏱1§⇥	Goto up to row #1
2⃣ ㎳⅒㎳⤵⇥Bidirectional line rotation
LOG:Paragraph#§ Row#₀ - Call from line#⁰ ²(¹(...))
⇥	⎙⠔⠁⏱⠒⠂⏱⠑⠄⏱⠸⠀⏱⇥	Clockwise cycle
⇥	⎙⠑⠄⏱⠒⠂⏱⠔⠁⏱⠸⠀⏱⇥	Anticlockwise cycle

Here is beginning the main body of scenario
Set keyboards order to 4251 and select #4 as first/left
⇥	1524⌨1⌨
Set 1000ms of delay and use 500Hz of refresh
⇥	1000㎳500㎐
Countdown to start ₁
⇥	3(⎙⏱⎚⏱)
Use paragraph #2 and initialize to 1/12 of 1000ms delay
Loop for 5 times «clockwise/anticlockwise» turns with ping-pong
⇥	6(⎙¾⏱⎚¼⏱)
⇥	§2 §(㎳⅓¼㎳⤵) 4½(1§ 7(➰⇡⌨);2§ 7(⇣⌨➰))
Use paragraph #2 and initialize to 1/25 of 1000ms delay
Loop for 5 times «clockwise/anticlockwise» speedy ping-pong runs
⇥	6(⎙¾⏱⎚¼⏱)
⇥	§2 §(㎳⅕⅕㎳⤵) 5½(1§ 7(➰⇡⌨);2§ 7(⇣⌨➰))
Loop for 5 times of «curved rotations»
⇥	6(⎙¾⏱⎚¼⏱)
⇥	§1 5(4(➰))
Thank You for watch! :)
⇥	⅛㎳10(⢇⇡⌨⏱)
⇥	⅛㎳10(⎙5(⇣⠳⇡⌨⏱)⎚5(⇣⠞⇡⌨⏱))
Halt this demo
⣀⢇⢂⢇⢀⢇⢄⢁⢇⢁
⇥	9⌨9(◀⎚¼⏱⎙⣀⏱)
⇥	⎙5(9(⇡⠿⠿⠿⠿⠇⏱)9(⇣⠿⠿⠿⠿⠇⏱))

Demonstration / Демонстрация

Utility in work demonstration