Przeglądaj źródła

Fixes for JJ40 and Oscillope keymap (#2496)

* Add navigation layer for hjkl arrow keys

* Fix Oscillope keymap after jj40.h changes. Also fix jj40.c so that it can build without rgblight if you don't want that enabled.
Oscillope 7 lat temu
rodzic
commit
7d9dc61504

+ 6 - 3
keyboards/jj40/jj40.c

@@ -28,8 +28,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "backlight.h"
 #include "backlight_custom.h"
 
-extern rgblight_config_t rgblight_config;
-
 // for keyboard subdirectory level init functions
 // @Override
 void matrix_init_kb(void) {
@@ -52,6 +50,9 @@ void backlight_set(uint8_t level) {
 }
 #endif
 
+#ifdef RGBLIGHT_ENABLE
+extern rgblight_config_t rgblight_config;
+
 // custom RGB driver
 void rgblight_set(void) {
   if (!rgblight_config.enable) {
@@ -77,7 +78,9 @@ void matrix_scan_kb(void) {
   }
 
   rgblight_task();
-
+#else
+void matrix_scan_kb(void) {
+#endif
   matrix_scan_user();
   /* Nothing else for now. */
 }

+ 9 - 0
keyboards/jj40/keymaps/oscillope/config.h

@@ -0,0 +1,9 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+#define PREVENT_STUCK_MODIFIERS
+#define TAPPING_TERM 300
+
+#endif

+ 18 - 3
keyboards/jj40/keymaps/oscillope/keymap.c

@@ -18,9 +18,17 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "jj40.h"
 #include "action_layer.h"
 
+#ifdef KEYMAP
+#undef KEYMAP
+#endif
+#define KEYMAP KEYMAP_OFFSET
+
 #define _QWERTY 0
 #define _LOWER  1
 #define _RAISE  2
+#define _NAV    3
+
+#define NAV_TAP LT(_NAV, KC_SPC)
 
 enum custom_keycodes {
   QWERTY = SAFE_RANGE,
@@ -48,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   KC_ESC,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC, \
   KC_TAB,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_ENT, \
   KC_GRV,  KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_QUOT, \
-  KC_LCTL, KC_LGUI, KC_LALT, TT(_LOWER), KC_LSFT, TT(_RAISE),   KC_SPC,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT \
+  KC_LCTL, KC_LGUI, KC_LALT, TT(_LOWER), KC_LSFT, TT(_RAISE), NAV_TAP,    KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT \
 ),
 
 /* Lower
@@ -66,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   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_INS,  _______, _______, CC_PRN,  CC_BRC,  CC_CBR,  KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, _______, _______, \
   KC_PSCR, KC_WBAK, KC_WFWD, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, \
-  _______, _______, _______, _______, KC_LOCK, _______, _______, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT \
+  _______, _______, _______, _______, KC_LOCK, _______, _______,          KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT \
 ),
 
 /* Raise
@@ -84,7 +92,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   KC_CAPS, KC_AMPR, KC_ASTR, KC_UNDS, KC_LPRN, KC_RPRN, KC_7,    KC_8,    KC_9,    KC_EQL,  KC_BSPC, KC_DEL, \
   KC_TAB,  KC_DLR,  KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_4,    KC_5,    KC_6,    KC_MINS, KC_PLUS, _______, \
   CC_ARRW, KC_EXLM, KC_AT,   KC_HASH, KC_LCBR, KC_RCBR, KC_1,    KC_2,    KC_3,    _______, KC_BSLS, KC_PIPE, \
-  _______, _______, _______, _______, _______, _______, KC_0,    KC_HOME, KC_PGDN, KC_PGUP, KC_END \
+  _______, _______, _______, _______, _______, _______, KC_0,             KC_HOME, KC_PGDN, KC_PGUP, KC_END \
+),
+
+[_NAV] = KEYMAP( \
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+  _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, _______, _______, \
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+  _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______ \
 )
 };
 

+ 14 - 0
keyboards/jj40/keymaps/oscillope/rules.mk

@@ -0,0 +1,14 @@
+# build options
+BOOTMAGIC_ENABLE = no
+MOUSEKEY_ENABLE = no
+EXTRAKEY_ENABLE = yes
+CONSOLE_ENABLE = no
+COMMAND_ENABLE = yes
+
+BACKLIGHT_ENABLE = no
+BACKLIGHT_CUSTOM_DRIVER = no
+
+RGBLIGHT_ENABLE = no
+RGBLIGHT_CUSTOM_DRIVER = no
+
+KEY_LOCK_ENABLE = yes