along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef COMMAND_H
-#define COMMAND
+#pragma once
+
+/* FIXME: Add doxygen comments for the behavioral defines in here. */
/* TODO: Refactoring */
typedef enum { ONESHOT, CONSOLE, MOUSEKEY } command_state_t;
bool command_console_extra(uint8_t code);
#ifdef COMMAND_ENABLE
+uint8_t numkey2num(uint8_t code);
bool command_proc(uint8_t code);
#else
#define command_proc(code) false
#endif
+#ifndef IS_COMMAND
+#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
+#endif
#ifndef MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
#endif
-#ifndef MAGIC_KEY_HELP1
-#define MAGIC_KEY_HELP1 H
+#ifndef MAGIC_KEY_HELP
+#define MAGIC_KEY_HELP H
#endif
-#ifndef MAGIC_KEY_HELP2
-#define MAGIC_KEY_HELP2 SLASH
+#ifndef MAGIC_KEY_HELP_ALT
+#define MAGIC_KEY_HELP_ALT SLASH
#endif
#ifndef MAGIC_KEY_DEBUG
#define MAGIC_KEY_CONSOLE C
#endif
-#ifndef MAGIC_KEY_LAYER0_ALT1
-#define MAGIC_KEY_LAYER0_ALT1 ESC
-#endif
-
-#ifndef MAGIC_KEY_LAYER0_ALT2
-#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-#endif
-
#ifndef MAGIC_KEY_LAYER0
#define MAGIC_KEY_LAYER0 0
#endif
+#ifndef MAGIC_KEY_LAYER0_ALT
+#define MAGIC_KEY_LAYER0_ALT GRAVE
+#endif
+
#ifndef MAGIC_KEY_LAYER1
#define MAGIC_KEY_LAYER1 1
#endif
#endif
#ifndef MAGIC_KEY_BOOTLOADER
-#define MAGIC_KEY_BOOTLOADER PAUSE
+#define MAGIC_KEY_BOOTLOADER B
+#endif
+
+#ifndef MAGIC_KEY_BOOTLOADER_ALT
+#define MAGIC_KEY_BOOTLOADER_ALT ESC
#endif
#ifndef MAGIC_KEY_LOCK
#define MAGIC_KEY_EEPROM E
#endif
+#ifndef MAGIC_KEY_EEPROM_CLEAR
+#define MAGIC_KEY_EEPROM_CLEAR BSPACE
+#endif
+
#ifndef MAGIC_KEY_NKRO
#define MAGIC_KEY_NKRO N
#endif
#endif
-#define XMAGIC_KC(key) KC_##key
-#define MAGIC_KC(key) XMAGIC_KC(key)
-
-#endif
\ No newline at end of file
+#define XMAGIC_KC(key) KC_ ## key
+#define MAGIC_KC(key) XMAGIC_KC(key)