Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
d41ccef8a5
30 changed files with 439 additions and 208 deletions
|
@ -21,5 +21,4 @@ COMMON_VPATH += $(QUANTUM_PATH)/keymap_extras
|
||||||
COMMON_VPATH += $(QUANTUM_PATH)/audio
|
COMMON_VPATH += $(QUANTUM_PATH)/audio
|
||||||
COMMON_VPATH += $(QUANTUM_PATH)/process_keycode
|
COMMON_VPATH += $(QUANTUM_PATH)/process_keycode
|
||||||
COMMON_VPATH += $(QUANTUM_PATH)/api
|
COMMON_VPATH += $(QUANTUM_PATH)/api
|
||||||
COMMON_VPATH += $(QUANTUM_PATH)/split_common
|
|
||||||
COMMON_VPATH += $(DRIVER_PATH)
|
COMMON_VPATH += $(DRIVER_PATH)
|
||||||
|
|
|
@ -268,4 +268,5 @@ ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
|
||||||
$(QUANTUM_DIR)/split_common/split_util.c
|
$(QUANTUM_DIR)/split_common/split_util.c
|
||||||
QUANTUM_LIB_SRC += $(QUANTUM_DIR)/split_common/i2c.c
|
QUANTUM_LIB_SRC += $(QUANTUM_DIR)/split_common/i2c.c
|
||||||
QUANTUM_LIB_SRC += $(QUANTUM_DIR)/split_common/serial.c
|
QUANTUM_LIB_SRC += $(QUANTUM_DIR)/split_common/serial.c
|
||||||
|
COMMON_VPATH += $(QUANTUM_PATH)/split_common
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -88,16 +88,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
void matrix_init_keymap(void) {
|
void matrix_init_keymap(void) {
|
||||||
//SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
|
//SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
|
||||||
#ifdef SSD1306OLED
|
#ifdef SSD1306OLED
|
||||||
iota_gfx_init(!has_usb()); // turns on the display
|
iota_gfx_init(!has_usb()); // turns on the display
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DDRD &= ~(1<<5);
|
#ifndef CONVERT_TO_PROTON_C
|
||||||
PORTD &= ~(1<<5);
|
setPinOutput(D5);
|
||||||
|
writePinHigh(D5);
|
||||||
|
|
||||||
DDRB &= ~(1<<0);
|
setPinOutput(B0);
|
||||||
PORTB &= ~(1<<0);
|
writePinHigh(B0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
|
//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
|
||||||
|
@ -126,10 +128,10 @@ const char code_to_name[60] = {
|
||||||
|
|
||||||
void set_keylog(uint16_t keycode, keyrecord_t *record) {
|
void set_keylog(uint16_t keycode, keyrecord_t *record) {
|
||||||
char name = ' ';
|
char name = ' ';
|
||||||
|
if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; }
|
||||||
if (keycode < 60) {
|
if (keycode < 60) {
|
||||||
name = code_to_name[keycode];
|
name = code_to_name[keycode];
|
||||||
}
|
}
|
||||||
|
|
||||||
// update keylog
|
// update keylog
|
||||||
snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c",
|
snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c",
|
||||||
record->event.key.row, record->event.key.col,
|
record->event.key.row, record->event.key.col,
|
||||||
|
|
|
@ -89,9 +89,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
|
||||||
void matrix_init_keymap(void) {
|
void matrix_init_keymap(void) {
|
||||||
DDRD &= ~(1<<5);
|
#ifndef CONVERT_TO_PROTON_C
|
||||||
PORTD &= ~(1<<5);
|
setPinOutput(D5);
|
||||||
|
writePinHigh(D5);
|
||||||
|
|
||||||
DDRB &= ~(1<<0);
|
setPinOutput(B0);
|
||||||
PORTB &= ~(1<<0);
|
writePinHigh(B0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -234,7 +234,7 @@ void rgblight_step_reverse(void) {
|
||||||
rgblight_mode(mode);
|
rgblight_mode(mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t rgblight_get_mode(void) {
|
uint8_t rgblight_get_mode(void) {
|
||||||
if (!rgblight_config.enable) {
|
if (!rgblight_config.enable) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
19
keyboards/namecard2x4/keymaps/brainfuck/config.h
Normal file
19
keyboards/namecard2x4/keymaps/brainfuck/config.h
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
/* Copyright 2018 takashiski
|
||||||
|
*
|
||||||
|
* 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
|
59
keyboards/namecard2x4/keymaps/brainfuck/keymap.c
Normal file
59
keyboards/namecard2x4/keymaps/brainfuck/keymap.c
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
/* Copyright 2018 takashiski
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
#include "keymap_jp.h"
|
||||||
|
|
||||||
|
enum Layer
|
||||||
|
{
|
||||||
|
JP,
|
||||||
|
EN,
|
||||||
|
CONFIG
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[JP] = LAYOUT(
|
||||||
|
JP_LT,JP_GT,JP_PLUS,JP_MINS,\
|
||||||
|
LT(CONFIG,JP_DOT),JP_COMM,JP_LBRC,LT(CONFIG,JP_RBRC)\
|
||||||
|
),
|
||||||
|
[EN] = LAYOUT(
|
||||||
|
KC_LT,KC_GT,KC_PLUS,KC_MINS,\
|
||||||
|
LT(CONFIG,KC_DOT),KC_COMM,KC_LBRC,LT(CONFIG,KC_RBRC)\
|
||||||
|
),
|
||||||
|
[CONFIG]= LAYOUT(
|
||||||
|
KC_NO,DF(JP),DF(JP),KC_NO,\
|
||||||
|
KC_TRNS,DF(EN),DF(JP),KC_TRNS\
|
||||||
|
)
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
void matrix_init_user(void) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void matrix_scan_user(void) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_set_user(uint8_t usb_led) {
|
||||||
|
|
||||||
|
}
|
12
keyboards/namecard2x4/keymaps/brainfuck/readme.md
Normal file
12
keyboards/namecard2x4/keymaps/brainfuck/readme.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# keymap for brainfuck
|
||||||
|
|
||||||
|
This keymap is specialized for the brainfuck programming language.
|
||||||
|
|
||||||
|
| < | > | + | - |
|
||||||
|
| . | , | [ | ] |
|
||||||
|
|
||||||
|
and when you hold . or ], change config layer.
|
||||||
|
|
||||||
|
default layer is for JP keyboard(logical pairing).
|
||||||
|
you can choose EN keyboard(typewrite pairing).
|
||||||
|
|
|
@ -97,9 +97,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
void matrix_init_keymap(void) {
|
void matrix_init_keymap(void) {
|
||||||
DDRD &= ~(1<<5);
|
#ifndef CONVERT_TO_PROTON_C
|
||||||
PORTD &= ~(1<<5);
|
setPinOutput(D5);
|
||||||
|
writePinHigh(D5);
|
||||||
|
|
||||||
DDRB &= ~(1<<0);
|
setPinOutput(B0);
|
||||||
PORTB &= ~(1<<0);
|
writePinHigh(B0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,19 +52,14 @@ OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
||||||
# the appropriate keymap folder that will get included automatically
|
# the appropriate keymap folder that will get included automatically
|
||||||
#
|
#
|
||||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||||
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||||
EXTRAKEY_ENABLE = no # Audio control and System control(+450)
|
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
|
||||||
MIDI_ENABLE = no # MIDI controls
|
|
||||||
AUDIO_ENABLE = no # Audio output on port C6
|
|
||||||
UNICODE_ENABLE = no # Unicode
|
UNICODE_ENABLE = no # Unicode
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
|
||||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
|
||||||
|
|
||||||
CUSTOM_MATRIX = yes
|
CUSTOM_MATRIX = yes
|
||||||
|
|
||||||
|
|
|
@ -87,10 +87,13 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void matrix_init_keymap(void) {
|
|
||||||
DDRD &= ~(1<<5);
|
|
||||||
PORTD &= ~(1<<5);
|
|
||||||
|
|
||||||
DDRB &= ~(1<<0);
|
void matrix_init_keymap(void) {
|
||||||
PORTB &= ~(1<<0);
|
#ifndef CONVERT_TO_PROTON_C
|
||||||
|
setPinOutput(D5);
|
||||||
|
writePinHigh(D5);
|
||||||
|
|
||||||
|
setPinOutput(B0);
|
||||||
|
writePinHigh(B0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#ifdef UNICODEMAP_ENABLE
|
#ifdef UNICODEMAP_ENABLE
|
||||||
#include "drashna_unicode.h"
|
#include "drashna_unicode.h"
|
||||||
#endif // UNICODEMAP_ENABLE
|
#endif // UNICODEMAP_ENABLE
|
||||||
extern uint8_t input_mode;
|
|
||||||
|
|
||||||
#ifdef RGB_MATRIX_ENABLE
|
#ifdef RGB_MATRIX_ENABLE
|
||||||
extern bool g_suspend_state;
|
extern bool g_suspend_state;
|
||||||
|
@ -425,17 +424,12 @@ void rgb_matrix_indicators_user(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_init_keymap(void) {
|
void matrix_init_keymap(void) {
|
||||||
|
#if 0
|
||||||
#ifdef RGB_MATRIX_KEYPRESSES
|
#ifdef RGB_MATRIX_KEYPRESSES
|
||||||
rgblight_mode(RGB_MATRIX_MULTISPLASH);
|
rgblight_mode(RGB_MATRIX_MULTISPLASH);
|
||||||
#else
|
#else
|
||||||
rgblight_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
|
rgblight_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
input_mode = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
void matrix_init_keymap(void) {
|
|
||||||
input_mode = 2;
|
|
||||||
}
|
}
|
||||||
#endif //RGB_MATRIX_INIT
|
#endif //RGB_MATRIX_INIT
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
TAP_DANCE_ENABLE = yes
|
TAP_DANCE_ENABLE = yes
|
||||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
ifneq (,$(findstring ergodox_ez,$(KEYBOARD)))
|
ifneq (,$(findstring ergodox_ez,$(KEYBOARD)))
|
||||||
RGBLIGHT_ENABLE = yes
|
RGBLIGHT_ENABLE = yes
|
||||||
RGB_MATRIX_ENABLE = no
|
RGB_MATRIX_ENABLE = no
|
||||||
|
|
|
@ -7,3 +7,5 @@ ifneq (,$(findstring ergodox_ez,$(KEYBOARD)))
|
||||||
RGBLIGHT_ENABLE = no
|
RGBLIGHT_ENABLE = no
|
||||||
RGB_MATRIX_ENABLE = yes
|
RGB_MATRIX_ENABLE = yes
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
COMMAND_ENABLE = no
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
#ifndef CONFIG_USER_H
|
#pragma once
|
||||||
#define CONFIG_USER_H
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM)
|
#if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM)
|
||||||
|
@ -61,5 +60,3 @@
|
||||||
|
|
||||||
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||||
//#define MIDI_TONE_KEYCODE_OCTAVES 2
|
//#define MIDI_TONE_KEYCODE_OCTAVES 2
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST,
|
KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST,
|
||||||
VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
|
VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
|
||||||
_______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
|
_______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NUKE
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -219,4 +219,15 @@ void rgb_matrix_indicators_user(void) {
|
||||||
void matrix_init_keymap(void) {
|
void matrix_init_keymap(void) {
|
||||||
rgblight_mode(RGB_MATRIX_MULTISPLASH);
|
rgblight_mode(RGB_MATRIX_MULTISPLASH);
|
||||||
}
|
}
|
||||||
|
#else //RGB_MATRIX_INIT
|
||||||
|
|
||||||
|
void matrix_init_keymap(void) {
|
||||||
|
#ifndef CONVERT_TO_PROTON_C
|
||||||
|
setPinOutput(D5);
|
||||||
|
writePinHigh(D5);
|
||||||
|
|
||||||
|
setPinOutput(B0);
|
||||||
|
writePinHigh(B0);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
#endif //RGB_MATRIX_INIT
|
#endif //RGB_MATRIX_INIT
|
||||||
|
|
16
layouts/community/ortho_5x12/drashna/config.h
Normal file
16
layouts/community/ortho_5x12/drashna/config.h
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
/* ws2812 RGB LED */
|
||||||
|
#if defined(KEYBOARD_fractal)
|
||||||
|
#define RGB_DI_PIN D2
|
||||||
|
#undef RGBLED_NUM
|
||||||
|
#define RGBLIGHT_ANIMATIONS
|
||||||
|
#define RGBLED_NUM 29 // Number of LEDs
|
||||||
|
#undef RGBLIGHT_HUE_STEP
|
||||||
|
#define RGBLIGHT_HUE_STEP 8
|
||||||
|
#undef RGBLIGHT_SAT_STEP
|
||||||
|
#define RGBLIGHT_SAT_STEP 8
|
||||||
|
#undef RGBLIGHT_VAL_STEP
|
||||||
|
#define RGBLIGHT_VAL_STEP 8
|
||||||
|
#endif
|
156
layouts/community/ortho_5x12/drashna/keymap.c
Normal file
156
layouts/community/ortho_5x12/drashna/keymap.c
Normal file
|
@ -0,0 +1,156 @@
|
||||||
|
/* Copyright 2015-2017 Jack Humbert
|
||||||
|
* Modified by KeyPCB for the Fractal keyboard
|
||||||
|
* Backlight isn't on the Fractal, so I've removed the keycode from the keymaps
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
#include "drashna.h"
|
||||||
|
|
||||||
|
#define LAYOUT_ortho_5x12_base( \
|
||||||
|
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
|
||||||
|
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
|
||||||
|
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \
|
||||||
|
K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A \
|
||||||
|
) \
|
||||||
|
LAYOUT_ortho_5x12_wrapper( \
|
||||||
|
KC_GRV, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \
|
||||||
|
KC_TAB, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_BSPC, \
|
||||||
|
KC_ESC, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, KC_QUOT, \
|
||||||
|
KC_MLSF, CTL_T(K31), K32, K33, K34, K35, K36, K37, K38, K39, CTL_T(K3A), KC_ENT, \
|
||||||
|
KC_NO, OS_LCTL, OS_LALT, OS_LGUI, SP_LWER, BK_LWER, DL_RAIS, ET_RAIS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
|
||||||
|
)
|
||||||
|
#define LAYOUT_ortho_5x12_base_wrapper(...) LAYOUT_ortho_5x12_base(__VA_ARGS__)
|
||||||
|
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[_QWERTY] = LAYOUT_ortho_5x12_base_wrapper(
|
||||||
|
________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________,
|
||||||
|
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
|
||||||
|
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
|
||||||
|
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________
|
||||||
|
),
|
||||||
|
|
||||||
|
[_COLEMAK] = LAYOUT_ortho_5x12_base_wrapper(
|
||||||
|
________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________,
|
||||||
|
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
|
||||||
|
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
|
||||||
|
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________
|
||||||
|
),
|
||||||
|
|
||||||
|
[_DVORAK] = LAYOUT_ortho_5x12_base_wrapper(
|
||||||
|
________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________,
|
||||||
|
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
|
||||||
|
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
|
||||||
|
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________
|
||||||
|
),
|
||||||
|
|
||||||
|
[_WORKMAN] = LAYOUT_ortho_5x12_base_wrapper(
|
||||||
|
________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________,
|
||||||
|
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
|
||||||
|
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
|
||||||
|
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
|
||||||
|
),
|
||||||
|
|
||||||
|
[_MODS] = LAYOUT_ortho_5x12_wrapper(
|
||||||
|
_______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
|
||||||
|
_______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
|
||||||
|
_______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
|
||||||
|
KC_LSFT, ___________________BLANK___________________, ___________________BLANK___________________, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
/* Lower
|
||||||
|
* ,-----------------------------------------------------------------------------------.
|
||||||
|
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||||
|
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||||
|
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
|
||||||
|
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||||
|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|
||||||
|
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||||
|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||||
|
* `-----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_LOWER] = LAYOUT_ortho_5x12_wrapper( \
|
||||||
|
_______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
|
||||||
|
KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_PIPE,
|
||||||
|
KC_DEL, _________________LOWER_L2__________________, _________________LOWER_R2__________________, _______,
|
||||||
|
_______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||||
|
),
|
||||||
|
|
||||||
|
/* Raise
|
||||||
|
* ,-----------------------------------------------------------------------------------.
|
||||||
|
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
|
||||||
|
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||||
|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||||
|
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||||
|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||||
|
* `-----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_RAISE] = LAYOUT_ortho_5x12_wrapper( \
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
|
||||||
|
KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______,
|
||||||
|
KC_DEL, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS,
|
||||||
|
_______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _________________RAISE_R3__________________
|
||||||
|
),
|
||||||
|
|
||||||
|
/* Adjust (Lower + Raise)
|
||||||
|
* ,-----------------------------------------------------------------------------------.
|
||||||
|
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | Reset| | | | | | | | | | Del |
|
||||||
|
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||||
|
* | | | |Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|
||||||
|
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||||
|
* | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
|
||||||
|
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||||
|
* | | | | | | | | | | | |
|
||||||
|
* `-----------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[_ADJUST] = LAYOUT_ortho_5x12_wrapper( \
|
||||||
|
KC_MAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RST,
|
||||||
|
VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EEP_RST,
|
||||||
|
_______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, _______,
|
||||||
|
_______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
|
void matrix_init_keymap(void) {
|
||||||
|
#ifdef KEYBOARD_fractal
|
||||||
|
setPinOutput(D5);
|
||||||
|
writePinHigh(D5);
|
||||||
|
|
||||||
|
setPinOutput(B0);
|
||||||
|
writePinHigh(B0);
|
||||||
|
#endif
|
||||||
|
}
|
23
layouts/community/ortho_5x12/drashna/rules.mk
Normal file
23
layouts/community/ortho_5x12/drashna/rules.mk
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||||
|
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||||
|
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
TAP_DANCE_ENABLE = no
|
||||||
|
AUDIO_ENABLE = yes
|
||||||
|
ifneq (,$(findstring fractal,$(KEYBOARD))) # Make sure it IS the Planck Light
|
||||||
|
RGB_MATRIX_ENABLE = no
|
||||||
|
AUDIO_ENABLE = no
|
||||||
|
RGBLIGHT_ENABLE = yes
|
||||||
|
RGBLIGHT_TWINKLE = yes
|
||||||
|
BOOTLOADER = qmk-dfu
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(strip $(PROTOCOL)), VUSB)
|
||||||
|
NKRO_ENABLE = no
|
||||||
|
else
|
||||||
|
NKRO_ENABLE = yes
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
MACROS_ENABLED = no
|
|
@ -973,7 +973,7 @@ void rgb_matrix_mode_noeeprom(uint8_t mode) {
|
||||||
rgb_matrix_config.mode = mode;
|
rgb_matrix_config.mode = mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t rgb_matrix_get_mode(void) {
|
uint8_t rgb_matrix_get_mode(void) {
|
||||||
return rgb_matrix_config.mode;
|
return rgb_matrix_config.mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -180,7 +180,7 @@ void rgb_matrix_increase_speed(void);
|
||||||
void rgb_matrix_decrease_speed(void);
|
void rgb_matrix_decrease_speed(void);
|
||||||
void rgb_matrix_mode(uint8_t mode);
|
void rgb_matrix_mode(uint8_t mode);
|
||||||
void rgb_matrix_mode_noeeprom(uint8_t mode);
|
void rgb_matrix_mode_noeeprom(uint8_t mode);
|
||||||
uint32_t rgb_matrix_get_mode(void);
|
uint8_t rgb_matrix_get_mode(void);
|
||||||
|
|
||||||
#ifndef RGBLIGHT_ENABLE
|
#ifndef RGBLIGHT_ENABLE
|
||||||
#define rgblight_toggle() rgb_matrix_toggle()
|
#define rgblight_toggle() rgb_matrix_toggle()
|
||||||
|
|
|
@ -234,7 +234,7 @@ void rgblight_step_reverse(void) {
|
||||||
rgblight_step_reverse_helper(true);
|
rgblight_step_reverse_helper(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t rgblight_get_mode(void) {
|
uint8_t rgblight_get_mode(void) {
|
||||||
if (!rgblight_config.enable) {
|
if (!rgblight_config.enable) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,7 +167,7 @@ void rgblight_enable(void);
|
||||||
void rgblight_disable(void);
|
void rgblight_disable(void);
|
||||||
void rgblight_step(void);
|
void rgblight_step(void);
|
||||||
void rgblight_step_reverse(void);
|
void rgblight_step_reverse(void);
|
||||||
uint32_t rgblight_get_mode(void);
|
uint8_t rgblight_get_mode(void);
|
||||||
void rgblight_mode(uint8_t mode);
|
void rgblight_mode(uint8_t mode);
|
||||||
void rgblight_set(void);
|
void rgblight_set(void);
|
||||||
void rgblight_update_dword(uint32_t dword);
|
void rgblight_update_dword(uint32_t dword);
|
||||||
|
|
|
@ -1,26 +1,78 @@
|
||||||
stages:
|
stages:
|
||||||
|
- test
|
||||||
- build
|
- build
|
||||||
|
- deploy
|
||||||
|
|
||||||
qmk_firmware:
|
Tests:
|
||||||
|
stage: test
|
||||||
|
variables:
|
||||||
|
GIT_SUBMODULE_STRATEGY: recursive
|
||||||
|
tags:
|
||||||
|
- linux
|
||||||
|
image: ubuntu:18.10
|
||||||
|
before_script:
|
||||||
|
- apt-get update -qy
|
||||||
|
- apt-get install -y build-essential avr-libc binutils-arm-none-eabi binutils-avr dfu-programmer dfu-util gcc gcc-arm-none-eabi gcc-avr git libnewlib-arm-none-eabi unzip wget zip
|
||||||
|
- avr-gcc --version
|
||||||
|
- uname -a
|
||||||
|
script:
|
||||||
|
- make test:all
|
||||||
|
- make planck/rev6:default
|
||||||
|
|
||||||
|
QMK Firmware Defaults:
|
||||||
|
stage: deploy
|
||||||
|
variables:
|
||||||
|
GIT_SUBMODULE_STRATEGY: recursive
|
||||||
|
tags:
|
||||||
|
- linux
|
||||||
|
image: ubuntu:18.10
|
||||||
|
before_script:
|
||||||
|
- apt-get update -qy
|
||||||
|
- apt-get install -y build-essential avr-libc binutils-arm-none-eabi binutils-avr dfu-programmer dfu-util gcc gcc-arm-none-eabi gcc-avr git libnewlib-arm-none-eabi unzip wget zip
|
||||||
|
- avr-gcc --version
|
||||||
|
- uname -a
|
||||||
|
script:
|
||||||
|
- make test:all
|
||||||
|
- make all:default -j16
|
||||||
|
|
||||||
|
Drashna Firmware:
|
||||||
stage: build
|
stage: build
|
||||||
variables:
|
variables:
|
||||||
GIT_SUBMODULE_STRATEGY: recursive
|
GIT_SUBMODULE_STRATEGY: recursive
|
||||||
tags:
|
tags:
|
||||||
- linux
|
- linux
|
||||||
image: ubuntu
|
image: ubuntu:18.10
|
||||||
before_script:
|
before_script:
|
||||||
- apt-get update -qy
|
- apt-get update -qy
|
||||||
- apt-get install -y build-essential avr-libc binutils-arm-none-eabi binutils-avr dfu-programmer dfu-util diffutils gcc gcc-arm-none-eabi gcc-avr git libnewlib-arm-none-eabi unzip wget zip
|
- apt-get install -y build-essential avr-libc binutils-arm-none-eabi binutils-avr dfu-programmer dfu-util gcc gcc-arm-none-eabi gcc-avr git libnewlib-arm-none-eabi unzip wget zip
|
||||||
- avr-gcc --version
|
- avr-gcc --version
|
||||||
script:
|
script:
|
||||||
- make iris/rev2:drashna:production iris/rev2:drashna_old:production ergodox_ez:drashna ergodox_ez:drashna_glow viterbi/rev1:drashna:production orthodox/rev1:drashna:production orthodox/rev3:drashna:production crkbd:drashna:production planck/light:drashna:production
|
- make iris/rev2:drashna iris/rev2:drashna_old ergodox_ez:drashna ergodox_ez:drashna_glow viterbi/rev1:drashna orthodox/rev1:drashna orthodox/rev3:drashna crkbd:drashna planck/light:drashna planck/rev6:drashna fractal:drashna
|
||||||
artifacts:
|
artifacts:
|
||||||
name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
|
name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
|
||||||
paths:
|
paths:
|
||||||
- ./*.hex
|
- ./*.hex
|
||||||
- ./*.bin
|
- ./*.bin
|
||||||
only:
|
expire_in: 1 month
|
||||||
- master
|
|
||||||
- drashna_keymaps
|
Firmware Deploy:
|
||||||
- merge-requests
|
stage: deploy
|
||||||
- branches
|
dependencies:
|
||||||
|
- Drashna Firmware
|
||||||
|
variables:
|
||||||
|
GIT_SUBMODULE_STRATEGY: recursive
|
||||||
|
tags:
|
||||||
|
- linux
|
||||||
|
image: ubuntu:18.10
|
||||||
|
before_script:
|
||||||
|
- apt-get update -qy
|
||||||
|
- apt-get install -y build-essential avr-libc binutils-arm-none-eabi binutils-avr dfu-programmer dfu-util gcc gcc-arm-none-eabi gcc-avr git libnewlib-arm-none-eabi unzip wget zip
|
||||||
|
- avr-gcc --version
|
||||||
|
script:
|
||||||
|
- make iris/rev2:drashna:production iris/rev2:drashna_old:production ergodox_ez:drashna ergodox_ez:drashna_glow viterbi/rev1:drashna:production orthodox/rev1:drashna:production orthodox/rev3:drashna:production crkbd:drashna:production planck/light:drashna planck/rev6:drashna fractal:drashna:production
|
||||||
|
artifacts:
|
||||||
|
name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
|
||||||
|
paths:
|
||||||
|
- ./*.hex
|
||||||
|
- ./*.bin
|
||||||
|
expire_in: 1 month
|
||||||
|
|
|
@ -14,8 +14,12 @@
|
||||||
#define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f
|
#define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f
|
||||||
// #ifdef RGBLIGHT_ENABLE
|
// #ifdef RGBLIGHT_ENABLE
|
||||||
// #define NO_MUSIC_MODE
|
// #define NO_MUSIC_MODE
|
||||||
// #endif //RGBLIGHT_ENABLE
|
// #endif //RGBLIGHT_ENABLE/
|
||||||
#endif
|
#ifndef __arm__
|
||||||
|
#undef NOTE_REST
|
||||||
|
#define NOTE_REST 1.00f
|
||||||
|
#endif // !__arm__
|
||||||
|
#endif // !AUDIO_ENABLE
|
||||||
|
|
||||||
#ifdef RGBLIGHT_ENABLE
|
#ifdef RGBLIGHT_ENABLE
|
||||||
#define RGBLIGHT_SLEEP
|
#define RGBLIGHT_SLEEP
|
||||||
|
|
|
@ -51,27 +51,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
|
||||||
case KC_MAKE: // Compiles the firmware, and adds the flash command based on keyboard bootloader
|
case KC_MAKE: // Compiles the firmware, and adds the flash command based on keyboard bootloader
|
||||||
if (!record->event.pressed) {
|
if (!record->event.pressed) {
|
||||||
uint8_t temp_mod = get_mods();
|
#if !defined(KEYBOARD_viterbi)
|
||||||
uint8_t temp_osm = get_oneshot_mods();
|
uint8_t temp_mod = get_mods();
|
||||||
clear_mods(); clear_oneshot_mods();
|
uint8_t temp_osm = get_oneshot_mods();
|
||||||
send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP), 10);
|
clear_mods(); clear_oneshot_mods();
|
||||||
if (temp_mod & MODS_SHIFT_MASK || temp_osm & MODS_SHIFT_MASK) {
|
#endif
|
||||||
#if defined(__ARM__)
|
send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP), MACRO_TIMER);
|
||||||
send_string_with_delay_P(PSTR(":dfu-util"), 10);
|
#if defined(KEYBOARD_viterbi)
|
||||||
#elif defined(BOOTLOADER_DFU)
|
send_string_with_delay_P(PSTR(":dfu" SS_TAP(X_ENTER)), MACRO_TIMER);
|
||||||
send_string_with_delay_P(PSTR(":dfu"), 10);
|
#else
|
||||||
#elif defined(BOOTLOADER_HALFKAY)
|
if (temp_mod & MODS_SHIFT_MASK || temp_osm & MODS_SHIFT_MASK) {
|
||||||
send_string_with_delay_P(PSTR(":teensy"), 10);
|
#if defined(__arm__)
|
||||||
#elif defined(BOOTLOADER_CATERINA)
|
send_string_with_delay_P(PSTR(":dfu-util"), MACRO_TIMER);
|
||||||
send_string_with_delay_P(PSTR(":avrdude"), 10);
|
#elif defined(BOOTLOADER_DFU)
|
||||||
#endif // bootloader options
|
send_string_with_delay_P(PSTR(":dfu"), MACRO_TIMER);
|
||||||
}
|
#elif defined(BOOTLOADER_HALFKAY)
|
||||||
#if defined(KEYBOARD_viterbi)
|
send_string_with_delay_P(PSTR(":teensy"), MACRO_TIMER);
|
||||||
send_string_with_delay_P(PSTR(":dfu"), 10);
|
#elif defined(BOOTLOADER_CATERINA)
|
||||||
|
send_string_with_delay_P(PSTR(":avrdude"), MACRO_TIMER);
|
||||||
|
#endif // bootloader options
|
||||||
|
}
|
||||||
|
if (temp_mod & MODS_CTRL_MASK || temp_osm & MODS_CTRL_MASK) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), MACRO_TIMER); }
|
||||||
|
send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), MACRO_TIMER);
|
||||||
|
set_mods(temp_mod);
|
||||||
#endif
|
#endif
|
||||||
if (temp_mod & MODS_CTRL_MASK || temp_osm & MODS_CTRL_MASK) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), 10); }
|
|
||||||
send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), 10);
|
|
||||||
set_mods(temp_mod);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -200,7 +200,10 @@ void start_rgb_light(void) {
|
||||||
|
|
||||||
|
|
||||||
bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
|
||||||
switch (keycode) {
|
if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) {
|
||||||
|
keycode = keycode & 0xFF;
|
||||||
|
}
|
||||||
|
switch (keycode) {
|
||||||
#ifdef RGBLIGHT_TWINKLE
|
#ifdef RGBLIGHT_TWINKLE
|
||||||
case KC_A ... KC_SLASH:
|
case KC_A ... KC_SLASH:
|
||||||
case KC_F1 ... KC_F12:
|
case KC_F1 ... KC_F12:
|
||||||
|
|
|
@ -42,16 +42,3 @@ ifdef CONSOLE_ENABLE
|
||||||
OPT_DEFS += -DKEYLOGGER_ENABLE
|
OPT_DEFS += -DKEYLOGGER_ENABLE
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(strip $(UCIS_ENABLE)), yes)
|
|
||||||
SRC += send_unicode.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(strip $(UNICODEMAP_ENABLE)), yes)
|
|
||||||
SRC += send_unicode.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(strip $(UNICODE_ENABLE)), yes)
|
|
||||||
SRC += send_unicode.c
|
|
||||||
endif
|
|
||||||
|
|
|
@ -1,112 +0,0 @@
|
||||||
// Written by konstantin: vomindoraan
|
|
||||||
#include "send_unicode.h"
|
|
||||||
#include <ctype.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
__attribute__((weak))
|
|
||||||
void send_unicode_hex_string(const char* str) {
|
|
||||||
if (!str) { return; } // Safety net
|
|
||||||
|
|
||||||
while (*str) {
|
|
||||||
// Find the next code point (token) in the string
|
|
||||||
for (; *str == ' '; str++);
|
|
||||||
size_t n = strcspn(str, " "); // Length of the current token
|
|
||||||
char code_point[n+1];
|
|
||||||
strncpy(code_point, str, n);
|
|
||||||
code_point[n] = '\0'; // Make sure it's null-terminated
|
|
||||||
|
|
||||||
// Normalize the code point: make all hex digits lowercase
|
|
||||||
for (char *p = code_point; *p; p++) {
|
|
||||||
*p = tolower((unsigned char)*p);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Send the code point as a Unicode input string
|
|
||||||
unicode_input_start();
|
|
||||||
send_string(code_point);
|
|
||||||
unicode_input_finish();
|
|
||||||
|
|
||||||
str += n; // Move to the first ' ' (or '\0') after the current token
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// (ノಠ痊ಠ)ノ彡┻━┻
|
|
||||||
// send_unicode_hex_string("0028 30CE 0CA0 75CA 0CA0 0029 30CE 5F61 253B 2501 253B");
|
|
||||||
|
|
||||||
//Old code
|
|
||||||
// (╯°□°)╯ ︵ ┻━┻
|
|
||||||
#if 0
|
|
||||||
register_code(KC_RSFT);
|
|
||||||
tap(KC_9);
|
|
||||||
unregister_code(KC_RSFT);
|
|
||||||
process_unicode((0x256F | QK_UNICODE), record); // Arm
|
|
||||||
process_unicode((0x00B0 | QK_UNICODE), record); // Eye
|
|
||||||
process_unicode((0x25A1 | QK_UNICODE), record); // Mouth
|
|
||||||
process_unicode((0x00B0 | QK_UNICODE), record); // Eye
|
|
||||||
register_code(KC_RSFT);
|
|
||||||
tap(KC_0);
|
|
||||||
unregister_code(KC_RSFT);
|
|
||||||
process_unicode((0x256F | QK_UNICODE), record); // Arm
|
|
||||||
tap(KC_SPC);
|
|
||||||
process_unicode((0x0361 | QK_UNICODE), record); // Flippy
|
|
||||||
tap(KC_SPC);
|
|
||||||
process_unicode((0x253B | QK_UNICODE), record); // Table
|
|
||||||
process_unicode((0x2501 | QK_UNICODE), record); // Table
|
|
||||||
process_unicode((0x253B | QK_UNICODE), record); // Table
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
// If you need a good converter: https://r12a.github.io/app-conversion/
|
|
||||||
uint8_t saved_mods;
|
|
||||||
|
|
||||||
void unicode_input_start (void) {
|
|
||||||
// save current mods
|
|
||||||
saved_mods = get_mods(); // Save current mods
|
|
||||||
clear_mods(); // Unregister mods to start from a clean state
|
|
||||||
|
|
||||||
switch(get_unicode_input_mode()) {
|
|
||||||
case UC_OSX:
|
|
||||||
register_code(KC_LALT);
|
|
||||||
break;
|
|
||||||
case UC_OSX_RALT:
|
|
||||||
register_code(KC_RALT);
|
|
||||||
break;
|
|
||||||
case UC_LNX:
|
|
||||||
register_code(KC_LCTL);
|
|
||||||
register_code(KC_LSFT);
|
|
||||||
register_code(KC_U);
|
|
||||||
unregister_code(KC_U);
|
|
||||||
unregister_code(KC_LSFT);
|
|
||||||
unregister_code(KC_LCTL);
|
|
||||||
break;
|
|
||||||
case UC_WIN:
|
|
||||||
register_code(KC_LALT);
|
|
||||||
register_code(KC_PPLS);
|
|
||||||
unregister_code(KC_PPLS);
|
|
||||||
break;
|
|
||||||
case UC_WINC:
|
|
||||||
register_code(KC_RALT);
|
|
||||||
unregister_code(KC_RALT);
|
|
||||||
register_code(KC_U);
|
|
||||||
unregister_code(KC_U);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
wait_ms(UNICODE_TYPE_DELAY);
|
|
||||||
}
|
|
||||||
|
|
||||||
void unicode_input_finish (void) {
|
|
||||||
switch(get_unicode_input_mode()) {
|
|
||||||
case UC_OSX:
|
|
||||||
case UC_WIN:
|
|
||||||
unregister_code(KC_LALT);
|
|
||||||
break;
|
|
||||||
case UC_OSX_RALT:
|
|
||||||
unregister_code(KC_RALT);
|
|
||||||
break;
|
|
||||||
case UC_LNX:
|
|
||||||
register_code(KC_SPC);
|
|
||||||
unregister_code(KC_SPC);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
set_mods(saved_mods); // Reregister previously set mods
|
|
||||||
}
|
|
|
@ -14,6 +14,7 @@ expanded before being used as arguments to the LAYOUT_xxx macro.
|
||||||
#define KEYMAP_wrapper(...) LAYOUT(__VA_ARGS__)
|
#define KEYMAP_wrapper(...) LAYOUT(__VA_ARGS__)
|
||||||
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
||||||
#define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__)
|
#define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__)
|
||||||
|
#define LAYOUT_ortho_5x12_wrapper(...) LAYOUT_ortho_5x12(__VA_ARGS__)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Blocks for each of the four major keyboard layouts
|
Blocks for each of the four major keyboard layouts
|
||||||
|
|
Loading…
Reference in a new issue