diff --git a/keyboards/xbows/knight/keymaps/default/keymap.c b/keyboards/xbows/knight/keymaps/default/keymap.c
index a6a65437aa..d032e1f2ce 100644
--- a/keyboards/xbows/knight/keymaps/default/keymap.c
+++ b/keyboards/xbows/knight/keymaps/default/keymap.c
@@ -2,14 +2,14 @@
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [0] = LAYOUT(
-		KC_ESC,  KC_F1,   KC_F2, KC_F3,  KC_F4,  KC_F5,   KC_F6,  KC_F7, KC_F8,  KC_F9,   KC_F10, KC_F11,  KC_F12,  KC_DEL,  KC_PSCR, KC_ESC,  KC_TAB,  KC_BSPC, MO(1),
+		KC_ESC,  KC_F1,   KC_F2, KC_F3,  KC_F4,  KC_F5,   KC_F6,  KC_F7, KC_F8,  KC_F9,   KC_F10, KC_F11,  KC_F12,  KC_DEL,  KC_PSCR, KC_ESC ,  KC_TAB,  KC_BSPC, MO(1),
 		KC_GRV,  KC_1,    KC_2,  KC_3,   KC_4,   KC_5,    KC_6,   KC_7,  KC_8,   KC_9,            KC_0,    KC_MINS, KC_EQL,  KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_EQL,  
 		KC_TAB,  KC_Q,    KC_W,  KC_E,   KC_R,   KC_T,    KC_Y,   KC_U,  KC_I,   KC_O,    KC_P,   KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, KC_P7,   KC_P8,   KC_P9,   KC_PMNS,      
 		KC_CAPS, KC_A,    KC_S,  KC_D,   KC_F,   KC_G,    KC_BSPC,KC_H,  KC_J,   KC_K,    KC_L,   KC_SCLN, KC_QUOT, KC_ENT,  KC_PGDN, KC_P4,   KC_P5,   KC_P6,   KC_PPLS,   
 		KC_LSFT, KC_Z,    KC_X,  KC_C,   KC_V,   KC_B,    KC_ENT, KC_N,  KC_M,   KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,            KC_P1,   KC_P2,   KC_P3,       
 		KC_LCTL, KC_LGUI, KC_LALT,KC_SPC,        KC_LCTL, KC_LSFT,KC_SPC,        KC_RALT, MO(1),  KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT,          KC_P0,   KC_PDOT, KC_ENT),
   [1] = LAYOUT(
-		KC_ESC,  KC_F1,   KC_F2, KC_F3,  KC_F4,  KC_F5,   KC_F6,  KC_F7, KC_F8,  KC_F9,   KC_F10, KC_F11,  KC_F12,  KC_DEL,  KC_PSCR,  KC_ESC, KC_TAB, KC_BSPC,KC_TRNS,   
+		KC_ESC,  KC_F1,   KC_F2, KC_F3,  KC_F4,  KC_F5,   KC_F6,  KC_F7, KC_F8,  KC_F9,   KC_F10, KC_F11,  KC_F12,  KC_DEL,  KC_PSCR,  RESET,  KC_TAB, KC_BSPC,KC_TRNS,   
 		KC_GRV,  KC_1,    KC_2,  KC_3,   KC_4,   KC_5,    KC_6,   KC_7,  KC_8,   KC_9,            KC_0,    KC_MINS, KC_EQL,  KC_BSPC,  KC_NLCK,KC_PSLS,KC_PAST,KC_EQL,
 		KC_TAB,  KC_Q,    KC_W,  KC_E,   KC_R,   KC_T,    KC_Y,   KC_U,  KC_I,   KC_O,    KC_P,   KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,  KC_P7,  KC_P8,  KC_P9,  KC_PMNS, 
 		KC_CAPS, KC_A,    KC_S,  KC_D,   KC_F,   KC_G,    BL_STEP,KC_H,  KC_J,   KC_K,    KC_L,   KC_SCLN, KC_QUOT, KC_ENT,  KC_PGDN,  KC_P4,  KC_P5,  KC_P6,  KC_PPLS, 
diff --git a/keyboards/xbows/knight/knight.c b/keyboards/xbows/knight/knight.c
index 1b8adc8c2a..f697f23f97 100644
--- a/keyboards/xbows/knight/knight.c
+++ b/keyboards/xbows/knight/knight.c
@@ -1,19 +1,23 @@
 #include "knight.h"
+
 void matrix_init_kb(void) {
-    setPinOutput(D1);
-    setPinOutput(E2);
+    // put your keyboard start-up code here
+    // runs once when the firmware starts up
+
     matrix_init_user();
-};
-void led_set_kb(uint8_t usb_led) {
-    if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
-        writePinHigh(D1);
-    } else {
-        writePinLow(D1);
-    }
-    if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
-        writePinHigh(E2);
-    } else {
-        writePinLow(E2);
-    }
-    led_set_user(usb_led);
+    led_init_ports();
+}
+
+void led_init_ports(void) {
+    setPinOutput(D1);
+    writePinHigh(D1);
+    setPinOutput(E2);
+    writePinHigh(E2);
+}
+bool led_update_kb(led_t led_state) {
+    if(led_update_user(led_state)) {
+        writePin(E2, !led_state.caps_lock);
+        writePin(D1, !led_state.num_lock);
+    }
+    return true;
 }