You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Здесь при единичном зажатии клавиши `CMB_000` будет включаться 4 слой, а при нажатии этой клавиши одновременно с `CMB_001` будет нажиматься `Win+Shift+A`.
94
94
95
+
## Моментальный аккорд
96
+
97
+
В данной библиотеке есть такая фича как **моментальный аккорд**. Его суть заключается в том, что при нажатии клавиш, которые его образуют, он нажимается моментально, без ожидания `COMBO_WAIT_TIME`. Если же через время меньше, чем `COMBO_WAIT_TIME`, нажимается другая клавиша, образующая текущий аккорд, то нажатая клавиша **отменяется**, и продолжается формирование другого аккорда. Если же проходит заданное время, или нажимается другая, неаккордовая клавиша, то считается что данный аккорд случился, и он больше не отменится.
98
+
99
+
Задаётся моментальный аккорд через макрос `IMMEDIATE_CHORD(KEYCODE, UNDO_KEYCODE, ...)`. Где при обычном нажатии нажимается `KEYCODE`, а в случае отмены _отпускается_ кейкод, заданный в `UNDO_KEYCODE`. Обычно `UNDO_KEYCODE` нужно писать такой же, как и `KEYCODE`, но бывают случаи когда они могут различаться. Например, если в `KEYCODE` стоит залипающий шифт, то нельзя задать там одинаковые кейкоды, ведь нажатие и отжатие залипающего шифта может привести к тому, что он применится к следующей клавише. А если залипающий шифт является составной частью других аккордов, то получится так, что при нажатии сложного аккорда, заключащего в себе залипающий шифт, может моментально активироваться залипающий шифт и применится к следующей клавише. Поэтому отжатие кейкода и отмена различаются. Поэтому для отмены залипающего шифта вы можете написать особый обработчик.
100
+
101
+
Или, например, в случае, если моментальный аккорд стоит на букве, то отмена буквы будет являться её отжатие и посылка <kbd>Backspace</kbd>.
102
+
103
+
Моментальный аккорд может пригодиться в следующем случае: если клавиша <kbd>Shift</kbd> стоит на аккорде, то хочется чтобы она нажималась сразу. Это актуально при работе с визуальными редакторами, где параллельно происходит работа с мышью. И даже задержки отправки <kbd>Shift</kbd> в 100мс тут могут оказать значительное неудобство, поэтому <kbd>Shift</kbd> необходимо делать моментальным аккордом, а его единоразовое нажатие в случае, если он является составной частью других аккордов, ничего не стоит.
104
+
105
+
В иных случаях моментальный аккорд особо не нужен, потому что работа с аккордами и другими клавишами в данном расширении реализована хорошо, и вас не должны волновать тайминги.7
106
+
95
107
## Поместить аккорды на вашу раскладку
96
108
97
109
Используйте кейкоды `CMB_000`-`CMB_XXX` (зависит сколько вы задали их в начале файла).
0 commit comments