summaryrefslogtreecommitdiffstats
path: root/keyboards/keychron/bluetooth
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/keychron/bluetooth')
-rw-r--r--keyboards/keychron/bluetooth/factory_test.c54
1 files changed, 33 insertions, 21 deletions
diff --git a/keyboards/keychron/bluetooth/factory_test.c b/keyboards/keychron/bluetooth/factory_test.c
index 9de130a26b..b8183040cf 100644
--- a/keyboards/keychron/bluetooth/factory_test.c
+++ b/keyboards/keychron/bluetooth/factory_test.c
@@ -16,15 +16,19 @@
#include "quantum.h"
#include "raw_hid.h"
-#include "via.h"
-#include "indicator.h"
#ifdef KC_BLUETOOTH_ENABLE
#include "transport.h"
-#include "battery.h"
-#include "lpm.h"
#include "ckbt51.h"
#endif
+#ifndef BL_TEST_KEY1
+# define BL_TEST_KEY1 KC_RIGHT
+#endif
+
+#ifndef BL_TEST_KEY2
+# define BL_TEST_KEY2 KC_HOME
+#endif
+
extern bool bt_factory_reset;
enum {
@@ -40,10 +44,10 @@ enum {
KEY_PRESS_FN = 0x01 << 0,
KEY_PRESS_J = 0x01 << 1,
KEY_PRESS_Z = 0x01 << 2,
- KEY_PRESS_RIGHT = 0x01 << 3,
- KEY_PRESS_HOME = 0x01 << 4,
+ KEY_PRESS_BL_KEY1 = 0x01 << 3,
+ KEY_PRESS_BL_KEY2 = 0x01 << 4,
KEY_PRESS_FACTORY_RESET = KEY_PRESS_FN | KEY_PRESS_J | KEY_PRESS_Z,
- KEY_PRESS_BACKLIGTH_TEST = KEY_PRESS_FN | KEY_PRESS_RIGHT | KEY_PRESS_HOME,
+ KEY_PRESS_BACKLIGTH_TEST = KEY_PRESS_FN | KEY_PRESS_BL_KEY1 | KEY_PRESS_BL_KEY2,
};
enum {
@@ -69,7 +73,7 @@ static uint8_t factory_reset_ind_state = 0;
static bool report_os_sw_state = false;
void factory_timer_start(void) {
- factory_reset_timer = sync_timer_read32() == 0 ? 1 : sync_timer_read32();
+ factory_reset_timer = timer_read32() == 0 ? 1 : timer_read32();
}
static inline void factory_timer_check(void) {
@@ -77,7 +81,7 @@ static inline void factory_timer_check(void) {
factory_reset_timer = 0;
if (factory_reset_state == KEY_PRESS_FACTORY_RESET) {
- factory_reset_ind_timer = sync_timer_read32() == 0 ? 1 : sync_timer_read32();
+ factory_reset_ind_timer = timer_read32() == 0 ? 1 : timer_read32();
factory_reset_ind_state++;
layer_state_t default_layer_tmp = default_layer_state;
@@ -110,21 +114,24 @@ static inline void factory_timer_check(void) {
}
static inline void factory_reset_ind_timer_check(void) {
- if (factory_reset_ind_timer && sync_timer_elapsed32(factory_reset_ind_timer) > 250) {
+ if (factory_reset_ind_timer && timer_elapsed32(factory_reset_ind_timer) > 250) {
if (factory_reset_ind_state++ > 6) {
factory_reset_ind_timer = factory_reset_ind_state = 0;
} else {
- factory_reset_ind_timer = sync_timer_read32() == 0 ? 1 : sync_timer_read32();
+ factory_reset_ind_timer = timer_read32() == 0 ? 1 : timer_read32();
}
}
}
void process_record_factory_reset(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
- case MO(1): /* fall through */
- case MO(2):
- case MO(3):
- case MO(4):
+#if defined(FN_KEY1) || defined(FN_KEY2)
+# ifdef FN_KEY1
+ case FN_KEY1: /* fall through */
+# endif
+# ifdef FN_KEY2
+ case FN_KEY2:
+# endif
if (record->event.pressed) {
factory_reset_state |= KEY_PRESS_FN;
} else {
@@ -132,6 +139,7 @@ void process_record_factory_reset(uint16_t keycode, keyrecord_t *record) {
factory_reset_timer = 0;
}
break;
+#endif
case KC_J:
if (record->event.pressed) {
factory_reset_state |= KEY_PRESS_J;
@@ -150,34 +158,38 @@ void process_record_factory_reset(uint16_t keycode, keyrecord_t *record) {
factory_reset_timer = 0;
}
break;
- case KC_RIGHT:
+#ifdef BL_TEST_KEY1
+ case BL_TEST_KEY1:
if (record->event.pressed) {
if (backlight_test_mode) {
if (++backlight_test_mode >= BACKLIGHT_TEST_MAX) {
backlight_test_mode = BACKLIGHT_TEST_WHITE;
}
} else {
- factory_reset_state |= KEY_PRESS_RIGHT;
+ factory_reset_state |= KEY_PRESS_BL_KEY1;
if (factory_reset_state == 0x19) factory_timer_start();
}
} else {
- factory_reset_state &= ~KEY_PRESS_RIGHT;
+ factory_reset_state &= ~KEY_PRESS_BL_KEY1;
factory_reset_timer = 0;
}
break;
- case KC_HOME:
+#endif
+#ifdef BL_TEST_KEY2
+ case BL_TEST_KEY2:
if (record->event.pressed) {
if (backlight_test_mode) {
backlight_test_mode = BACKLIGHT_TEST_OFF;
} else {
- factory_reset_state |= KEY_PRESS_HOME;
+ factory_reset_state |= KEY_PRESS_BL_KEY2;
if (factory_reset_state == 0x19) factory_timer_start();
}
} else {
- factory_reset_state &= ~KEY_PRESS_HOME;
+ factory_reset_state &= ~KEY_PRESS_BL_KEY2;
factory_reset_timer = 0;
}
break;
+#endif
}
}