]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - common/action.h
Fix README and comments in action.h
[qmk_firmware.git] / common / action.h
index c02a2e71fc23ba5b833006233a2aec197b40944a..4892cc7fd9bb7dc74f0b2e24045c1ee2d25fa2ae 100644 (file)
@@ -157,17 +157,17 @@ bool waiting_buffer_has_anykey_pressed(void);
  * Layer Actions
  * -------------
  * ACT_KEYMAP:
- * 1000|LLLL|0000 0000   Reset default layer
- * 1000|LLLL|0000 00xx   Reset default layer and clear overlay
+ * 1000|--xx|0000 0000   Clear keyamp and overlay
+ * 1000|LLLL|0000 00xx   Reset default layer and clear keymap and overlay
  * 1000|LLLL| keycode    Invert with tap key
  * 1000|LLLL|1111 0000   Invert with tap toggle
- * 1000|LLLL|1111 00xx   Invert[^= L]
+ * 1000|LLLL|1111 00xx   Invert[^=  1<<L]
  * 1000|LLLL|1111 0100   On/Off
- * 1000|LLLL|1111 01xx   On[|= L]
+ * 1000|LLLL|1111 01xx   On[|= 1<<L]
  * 1000|LLLL|1111 1000   Off/On
- * 1000|LLLL|1111 10xx   Off[&= ~L]
- * 1000|LLLL|1111 1100   Set/Set(0)
- * 1000|LLLL|1111 11xx   Set[= L]
+ * 1000|LLLL|1111 10xx   Off[&= ~(1<<L)]
+ * 1000|LLLL|1111 1100   Set/Clear
+ * 1000|LLLL|1111 11xx   Set[= 1<<L]
  * default layer: 0-15(4bit)
  * xx: On {00:for special use, 01:press, 10:release, 11:both}
  *
@@ -180,8 +180,8 @@ bool waiting_buffer_has_anykey_pressed(void);
  * 1011|LLLL|1111 0100   On/Off(momentary)
  * 1011|LLLL|1111 01xx   On[|= 1<<L]
  * 1011|LLLL|1111 1000   Off/On
- * 1011|LLLL|1111 10xx   Off[&= ~1<<L]
- * 1011|LLLL|1111 1100   Set[= 1<<L]/Clear
+ * 1011|LLLL|1111 10xx   Off[&= ~(1<<L)]
+ * 1011|LLLL|1111 1100   Set/Clear
  * 1011|LLLL|1111 11xx   Set[= 1<<L]
  * overlays: 16-layer on/off status(16bit)
  * xx: On {00:for special use, 01:press, 10:release, 11:both}
@@ -274,22 +274,25 @@ enum layer_params {
     OP_SET   = 0xFC,
 };
 
-/*
+/* 
  * Default Layer
  */
-#define ACTION_KEYMAP(layer)                     ACTION_KEYMAP_MOMENTARY(layer)
-#define ACTION_KEYMAP_MOMENTARY(layer)           ACTION_KEYMAP_INV_B(layer)
-#define ACTION_KEYMAP_TOGGLE(layer)              ACTION_KEYMAP_INV_R(layer)
-/* Set default layer */
+#define ACTION_DEFAULT_LAYER                      ACTION(ACT_KEYMAP, 0<<8 | OP_RESET | 0)
 #define ACTION_SET_DEFAULT_LAYER(layer)           ACTION_KEYMAP_RESET(layer)
 #define ACTION_SET_DEFAULT_LAYER_P(layer)         ACTION_KEYMAP_RESET_P(layer)
 #define ACTION_SET_DEFAULT_LAYER_R(layer)         ACTION_KEYMAP_RESET_R(layer)
 #define ACTION_SET_DEFAULT_LAYER_B(layer)         ACTION_KEYMAP_RESET_B(layer)
+/*
+ * Keymap Layer
+ */
+#define ACTION_KEYMAP(layer)                     ACTION_KEYMAP_MOMENTARY(layer)
+#define ACTION_KEYMAP_MOMENTARY(layer)           ACTION_KEYMAP_ON_OFF(layer)
+#define ACTION_KEYMAP_TOGGLE(layer)              ACTION_KEYMAP_INV_R(layer)
 /* Keymap Set and clear overaly */
-#define ACTION_KEYMAP_RESET(layer)               ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | 0)
+#define ACTION_KEYMAP_RESET(layer)               ACTION_KEYMAP_RESET_R(layer)
 #define ACTION_KEYMAP_RESET_P(layer)             ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | ON_PRESS)
-#define ACTION_KEYMAP_RESET_R(layer)             ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | ON_PRESS)
-#define ACTION_KEYMAP_RESET_B(layer)             ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | ON_PRESS)
+#define ACTION_KEYMAP_RESET_R(layer)             ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | ON_RELEASE)
+#define ACTION_KEYMAP_RESET_B(layer)             ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | ON_BOTH)
 /* Keymap Invert */
 #define ACTION_KEYMAP_INV(layer)                 ACTION_KEYMAP_INV_B(layer)
 #define ACTION_KEYMAP_TAP_TOGGLE(layer)          ACTION(ACT_KEYMAP, (layer)<<8 | OP_INV | 0)