Add bm-16a support

This commit is contained in:
2019-05-07 14:04:49 +02:00
parent ac62c1cfd7
commit 75875927f1
5 changed files with 120 additions and 2 deletions
+19
View File
@@ -0,0 +1,19 @@
/* Copyright 2019
*
* 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 <http://www.gnu.org/licenses/>.
*/
#pragma once
// place overrides here
+86
View File
@@ -0,0 +1,86 @@
/* Copyright 2019
*
* 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 <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
/* rgblight_sethsv(0.0, 0, 255); */
/* rgblight_sethsv_white(); */
enum layers {
_BASE = 0,
_FN1,
_FN2,
_FN3,
};
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
QMKBEST = SAFE_RANGE,
QMKURL
};
/* void matrix_init_user () { */
/* rgblight_setrgb (0xFF, 0xFF, 0xFF); */
/* } */
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_ortho_4x4(
LT(_FN3, KC_P7), KC_P8, KC_P9, KC_PAST, \
LT(_FN3, KC_P4), KC_P5, KC_P6, KC_PPLS, \
LT(_FN3, KC_P1), KC_P2, KC_P3, KC_PMNS, \
LT(_FN3, KC_P0), KC_COMMA, LT(_FN2, KC_DOT), TO(_FN1) \
),
[_FN1] = LAYOUT_ortho_4x4(
KC_PGUP, KC_HOME, KC_UP, KC_END , \
KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, \
KC_VOLU, KC_MPLY, KC_MPRV, MO(_FN2), \
KC_VOLD, KC_MUTE, KC_MNXT, TO(_BASE) \
),
[_FN2] = LAYOUT_ortho_4x4(
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, \
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, \
QMKURL, _______, _______, RESET, \
BL_STEP, RESET, _______, _______ \
),
[_FN3] = LAYOUT_ortho_4x4(
KC_ESC, _______, _______, KC_PSLS, \
_______, _______, _______, KC_TAB, \
_______, _______, _______, KC_ENT, \
_______, _______, _______, _______ \
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QMKBEST:
if (record->event.pressed) {
// when keycode QMKBEST is pressed
SEND_STRING("QMK is the best thing ever!");
} else {
// when keycode QMKBEST is released
}
break;
case QMKURL:
if (record->event.pressed) {
// when keycode QMKURL is pressed
SEND_STRING("https://crafity.com" SS_TAP(X_ENTER));
} else {
// when keycode QMKURL is released
}
break;
}
return true;
}
@@ -0,0 +1 @@
# The default keymap for bm16a
+2 -2
View File
@@ -64,9 +64,9 @@
// #define RGBLIGHT_SAT_STEP 8
// #define RGBLIGHT_VAL_STEP 8
// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
// /*== all animations enable ==*/
// #define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_ANIMATIONS
// /*== or choose animations ==*/
// #define RGBLIGHT_EFFECT_BREATHING
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
@@ -14,9 +14,21 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "bm16a.h"
#include "rgblight.h"
#include "mouse_jiggle.h"
bool is_mouse_jiggle_active = false;
void matrix_init_kb(void) {
// put your keyboard start-up code here
// runs once when the firmware starts up
/* rgblight_setrgb (0xFF, 0xFF, 0xFF); */
matrix_init_user();
}
void matrix_scan_kb(void) {
// put your looping keyboard code here
// runs every cycle (a lot)
void matrix_scan_mouse_jiggle(void) {
if (is_mouse_jiggle_active) {