From 710937e4ef1e14d82261fc439aa6fcfcdbd64bf5 Mon Sep 17 00:00:00 2001 From: Kosuke Adachi Date: Sat, 9 Jun 2018 07:28:28 +0900 Subject: Add corne keyboard (#3119) * Fork from helix * Move rev2 to rev1 * Remove unused settings * Move split_util to outof rev * Setup KEYMAP for crkbd * Remove old image * Move keymaps directory and glcdfont.c * Remove AUDIO in keymap * Show keylog * Show keylogs * Show time log * Remove EISU/KANA * Use KEYMAP_kc * Remove iota_gfx_record_user wrapping * Remove unused settings for layer * Add keylogger.c * Fix uppercase letters to lower * Add timelogger.c * Default RGBLED_NUM = 27 * Remove unused setting * Add mode icon reader * Add matrix_write_ln * Add layer_state_reader * Move to lib directory * Rename functions * Add host_led_state_reader * Add logo_reader * Cleaning of iota_gfx_task * Fix bugs and add key defines * Remove unnecessary comments * Update crkbd readme * Move libs to lib directories * Rename KEYMAP to LAYOUT --- .../crkbd/keymaps/lib/host_led_state_reader.c | 13 ++++++ keyboards/crkbd/keymaps/lib/keylogger.c | 49 ++++++++++++++++++++++ keyboards/crkbd/keymaps/lib/layer_state_reader.c | 33 +++++++++++++++ keyboards/crkbd/keymaps/lib/logo_reader.c | 12 ++++++ keyboards/crkbd/keymaps/lib/mode_icon_reader.c | 15 +++++++ keyboards/crkbd/keymaps/lib/timelogger.c | 17 ++++++++ 6 files changed, 139 insertions(+) create mode 100644 keyboards/crkbd/keymaps/lib/host_led_state_reader.c create mode 100644 keyboards/crkbd/keymaps/lib/keylogger.c create mode 100644 keyboards/crkbd/keymaps/lib/layer_state_reader.c create mode 100644 keyboards/crkbd/keymaps/lib/logo_reader.c create mode 100644 keyboards/crkbd/keymaps/lib/mode_icon_reader.c create mode 100644 keyboards/crkbd/keymaps/lib/timelogger.c (limited to 'keyboards/crkbd/keymaps/lib') diff --git a/keyboards/crkbd/keymaps/lib/host_led_state_reader.c b/keyboards/crkbd/keymaps/lib/host_led_state_reader.c new file mode 100644 index 000000000..c19af11f8 --- /dev/null +++ b/keyboards/crkbd/keymaps/lib/host_led_state_reader.c @@ -0,0 +1,13 @@ +#include "crkbd.h" + +char host_led_state[40]; + +char *read_host_led_state(void) +{ + snprintf(host_led_state, sizeof(host_led_state), "\n%s %s %s", + (host_keyboard_leds() & (1 << USB_LED_NUM_LOCK)) ? "NUMLOCK" : " ", + (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) ? "CAPS" : " ", + (host_keyboard_leds() & (1 << USB_LED_SCROLL_LOCK)) ? "SCLK" : " "); + + return host_led_state; +} diff --git a/keyboards/crkbd/keymaps/lib/keylogger.c b/keyboards/crkbd/keymaps/lib/keylogger.c new file mode 100644 index 000000000..ee14ff033 --- /dev/null +++ b/keyboards/crkbd/keymaps/lib/keylogger.c @@ -0,0 +1,49 @@ +#include "crkbd.h" + +char keylog[40] = {}; +char keylogs[21] = {}; +int keylogs_idx = 0; + +char code_to_name[60] = { + ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', + 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', + 'R', 'E', 'B', 'T', ' ', ' ', ' ', ' ', ' ', ' ', + ' ', ';', '\'', ' ', ',', '.', '/', ' ', ' ', ' '}; + +void set_keylog(uint16_t keycode, keyrecord_t *record) +{ + char name = ' '; + if (keycode < 60) + { + name = code_to_name[keycode]; + } + + // update keylog + snprintf(keylog, sizeof(keylog), "%dx%d, k%2d : %c", + record->event.key.row, + record->event.key.col, + keycode, + name); + + // update keylogs + if (keylogs_idx == sizeof(keylogs) - 1) + { + keylogs_idx = 0; + for (int i = 0; i < sizeof(keylogs) - 1; i++) + { + keylogs[i] = ' '; + } + } + keylogs[keylogs_idx] = name; + keylogs_idx++; +} + +char *read_keylog(void) { + return keylog; +} + +char *read_keylogs(void) { + return keylogs; +} diff --git a/keyboards/crkbd/keymaps/lib/layer_state_reader.c b/keyboards/crkbd/keymaps/lib/layer_state_reader.c new file mode 100644 index 000000000..f79720d6f --- /dev/null +++ b/keyboards/crkbd/keymaps/lib/layer_state_reader.c @@ -0,0 +1,33 @@ +#include "crkbd.h" + +#define L_BASE 0 +#define L_LOWER 8 +#define L_RAISE 16 +#define L_ADJUST 65536 +#define L_ADJUST_TRI 65560 + +char layer_state_str[40]; + +char *read_layer_state(void) +{ + switch (layer_state) + { + case L_BASE: + snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Default"); + break; + case L_RAISE: + snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Raise"); + break; + case L_LOWER: + snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Lower"); + break; + case L_ADJUST: + case L_ADJUST_TRI: + snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust"); + break; + default: + snprintf(layer_state_str,sizeof(layer_state_str), "Layer: Undef-%ld", layer_state); + } + + return layer_state_str; +} diff --git a/keyboards/crkbd/keymaps/lib/logo_reader.c b/keyboards/crkbd/keymaps/lib/logo_reader.c new file mode 100644 index 000000000..46de17bfe --- /dev/null +++ b/keyboards/crkbd/keymaps/lib/logo_reader.c @@ -0,0 +1,12 @@ +#include "crkbd.h" + +char *read_logo(void) +{ + static char logo[]={ + 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, + 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, + 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, + 0}; + + return logo; +} diff --git a/keyboards/crkbd/keymaps/lib/mode_icon_reader.c b/keyboards/crkbd/keymaps/lib/mode_icon_reader.c new file mode 100644 index 000000000..cb3d8adb1 --- /dev/null +++ b/keyboards/crkbd/keymaps/lib/mode_icon_reader.c @@ -0,0 +1,15 @@ +#include "crkbd.h" + +char mode_icon[40]; + +char *read_mode_icon(bool swap) +{ + static char logo[][2][3]={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; + if(swap == false){ + snprintf(mode_icon, sizeof(mode_icon), "%s\n%s", logo[0][0], logo[0][1]); + }else{ + snprintf(mode_icon, sizeof(mode_icon), "%s\n%s", logo[1][0], logo[1][1]); + } + + return mode_icon; +} diff --git a/keyboards/crkbd/keymaps/lib/timelogger.c b/keyboards/crkbd/keymaps/lib/timelogger.c new file mode 100644 index 000000000..0e22bafe7 --- /dev/null +++ b/keyboards/crkbd/keymaps/lib/timelogger.c @@ -0,0 +1,17 @@ +#include "crkbd.h" + +char timelog[40] = {}; +int last_time = 0; +int elapsed_time = 0; + +void set_timelog(void) +{ + elapsed_time = timer_elapsed(last_time); + last_time = timer_read(); + snprintf(timelog, sizeof(timelog), "lt:%5d, et:%5d", last_time, elapsed_time); +} + +char *read_timelog(void) +{ + return timelog; +} -- cgit v1.2.3