From ba3ec0f081373763784d8f092af886b8098d131c Mon Sep 17 00:00:00 2001 From: boss566y <67247583+boss566y@users.noreply.github.com> Date: Wed, 9 Sep 2020 00:24:23 -0400 Subject: [PATCH] [Keymap] Romac Keymap with VIA and OLED Support (#10249) * Add Personal Keymap with VIA and OLED * Update keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c Co-authored-by: Ryan * Update keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c Co-authored-by: Ryan * Update keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- .../romac/keymaps/boss566y/config.h | 20 +++++ .../romac/keymaps/boss566y/keymap.c | 90 +++++++++++++++++++ .../romac/keymaps/boss566y/rules.mk | 3 + 3 files changed, 113 insertions(+) create mode 100755 keyboards/kingly_keys/romac/keymaps/boss566y/config.h create mode 100755 keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c create mode 100755 keyboards/kingly_keys/romac/keymaps/boss566y/rules.mk diff --git a/keyboards/kingly_keys/romac/keymaps/boss566y/config.h b/keyboards/kingly_keys/romac/keymaps/boss566y/config.h new file mode 100755 index 000000000..8b098b6c0 --- /dev/null +++ b/keyboards/kingly_keys/romac/keymaps/boss566y/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2020 boss566y + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c b/keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c new file mode 100755 index 000000000..a636bb476 --- /dev/null +++ b/keyboards/kingly_keys/romac/keymaps/boss566y/keymap.c @@ -0,0 +1,90 @@ +/* Copyright 2018 Jack Humbert + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +char oled_layer[20]; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_KP_7, KC_KP_8, KC_KP_9, + KC_KP_4, KC_KP_5, KC_KP_6, + KC_KP_1, KC_KP_2, KC_KP_3, + MO(1), KC_KP_0, KC_KP_DOT + ), + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + [4] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + [5] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + [6] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + [7] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ) +}; + + + +#ifdef OLED_DRIVER_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_270; +} + +void oled_task_user(void) { + // Host Keyboard Layer Status + sprintf(oled_layer,"Layer\nL: %d\n",get_highest_layer(layer_state)); + oled_write(oled_layer,false); + + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("NLCK ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("CAPS ") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("SCRLK") : PSTR(" "), false); +} +#endif diff --git a/keyboards/kingly_keys/romac/keymaps/boss566y/rules.mk b/keyboards/kingly_keys/romac/keymaps/boss566y/rules.mk new file mode 100755 index 000000000..73fd595ab --- /dev/null +++ b/keyboards/kingly_keys/romac/keymaps/boss566y/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +BOOTLOADER = qmk-dfu +OLED_DRIVER_ENABLE = yes # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C \ No newline at end of file