Merge remote-tracking branch 'qmk/master' into merge-2024-06-23

This commit is contained in:
Ilya Zhuravlev 2024-06-23 22:54:29 -06:00
commit e9d70b410a
15675 changed files with 653160 additions and 679575 deletions

View file

@ -1 +0,0 @@
# The default keymap for adelais

View file

@ -1 +0,0 @@
# The VIA keymap for adelais

View file

@ -3,6 +3,15 @@
"usb": {
"pid": "0xAEC1"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": true,
"command": true,
"nkro": true,
"rgb_matrix": true
},
"rgb_matrix": {
"animations": {
"alphas_mods": true,

View file

@ -1 +0,0 @@
RGB_MATRIX_ENABLE = yes

View file

@ -3,6 +3,17 @@
"usb": {
"pid": "0xAEC2"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": true,
"command": true,
"nkro": true,
"rgblight": true,
"rgb_matrix": true,
"encoder": true
},
"rgb_matrix": {
"animations": {
"alphas_mods": true,

View file

@ -1,3 +0,0 @@
RGB_MATRIX_ENABLE = yes
RGBLIGHT_ENABLE = yes
ENCODER_ENABLE = yes

View file

@ -3,6 +3,17 @@
"usb": {
"pid": "0xAEC3"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": false,
"command": false,
"nkro": true,
"rgblight": true,
"rgb_matrix": true,
"encoder": true
},
"rgb_matrix": {
"animations": {
"alphas_mods": true,

View file

@ -1,8 +0,0 @@
# Build Options
# change yes to no to disable
#
RGB_MATRIX_ENABLE = yes
RGBLIGHT_ENABLE = yes
ENCODER_ENABLE = yes
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration

View file

@ -1,3 +1 @@
DEFAULT_FOLDER = mechlovin/adelais/rgb_led/rev1
DEFAULT_FOLDER = mechlovin/adelais/rgb_led/rev1

View file

@ -1,12 +1 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = no # Audio output
DEFAULT_FOLDER = mechlovin/adelais/standard_led/arm/rev2

View file

@ -2,6 +2,16 @@
"usb": {
"pid": "0xAD01"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": true,
"command": true,
"nkro": true,
"backlight": true,
"rgblight": true
},
"processor": "STM32F303",
"board": "QMK_PROTON_C",
"bootloader": "stm32-dfu",

View file

@ -2,6 +2,17 @@
"usb": {
"pid": "0xAD02"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": true,
"command": true,
"nkro": true,
"backlight": true,
"rgblight": true,
"encoder": true
},
"encoder": {
"rotary": [
{"pin_a": "A6", "pin_b": "A5"},

View file

@ -1 +0,0 @@
ENCODER_ENABLE = yes

View file

@ -1,4 +0,0 @@
{
"processor": "STM32F103",
"bootloader": "stm32duino"
}

View file

@ -0,0 +1,15 @@
{
"processor": "STM32F103",
"bootloader": "stm32duino",
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": true,
"command": true,
"nkro": true,
"backlight": true,
"rgblight": true,
"encoder": true
}
}

View file

@ -1,3 +1 @@
ENCODER_ENABLE = yes
DEFAULT_FOLDER = mechlovin/adelais/standard_led/arm/rev4/stm32f303

View file

@ -1,5 +0,0 @@
{
"processor": "STM32F303",
"board": "QMK_PROTON_C",
"bootloader": "stm32-dfu"
}

View file

@ -0,0 +1,16 @@
{
"processor": "STM32F303",
"board": "QMK_PROTON_C",
"bootloader": "stm32-dfu",
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": true,
"command": true,
"nkro": true,
"backlight": true,
"rgblight": true,
"encoder": true
}
}

View file

@ -3,6 +3,16 @@
"usb": {
"pid": "0xAD04"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": false,
"command": false,
"nkro": true,
"backlight": true,
"rgblight": true
},
"encoder": {
"rotary": [
{"pin_a": "D3", "pin_b": "D2"},

View file

@ -16,13 +16,10 @@ 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 <stdint.h>
#include <stdbool.h>
#include "wait.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
#include "quantum.h"
#ifdef DIRECT_PINS
static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS;
@ -40,7 +37,7 @@ static void init_pins(void) {
for (int col = 0; col < MATRIX_COLS; col++) {
pin_t pin = direct_pins[row][col];
if (pin != NO_PIN) {
setPinInputHigh(pin);
gpio_set_pin_input_high(pin);
}
}
}
@ -53,7 +50,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
pin_t pin = direct_pins[current_row][col_index];
if (pin != NO_PIN) {
current_matrix[current_row] |= readPin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index);
current_matrix[current_row] |= gpio_read_pin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index);
}
}
@ -100,94 +97,94 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
static void select_col(uint8_t col) {
switch (col) {
case 0:
writePinLow(F4);
writePinLow(F1);
writePinHigh(F0);
writePinHigh(F5);
gpio_write_pin_low(F4);
gpio_write_pin_low(F1);
gpio_write_pin_high(F0);
gpio_write_pin_high(F5);
break;
case 1:
writePinLow(F4);
writePinHigh(F1);
writePinLow(F0);
writePinHigh(F5);
gpio_write_pin_low(F4);
gpio_write_pin_high(F1);
gpio_write_pin_low(F0);
gpio_write_pin_high(F5);
break;
case 2:
writePinLow(F4);
writePinHigh(F1);
writePinHigh(F0);
writePinHigh(F5);
gpio_write_pin_low(F4);
gpio_write_pin_high(F1);
gpio_write_pin_high(F0);
gpio_write_pin_high(F5);
break;
case 3:
writePinHigh(F4);
writePinLow(F1);
writePinLow(F0);
writePinHigh(F5);
gpio_write_pin_high(F4);
gpio_write_pin_low(F1);
gpio_write_pin_low(F0);
gpio_write_pin_high(F5);
break;
case 4:
writePinHigh(F4);
writePinLow(F1);
writePinHigh(F0);
writePinHigh(F5);
gpio_write_pin_high(F4);
gpio_write_pin_low(F1);
gpio_write_pin_high(F0);
gpio_write_pin_high(F5);
break;
case 5:
writePinHigh(F4);
writePinHigh(F1);
writePinHigh(F0);
writePinHigh(F5);
gpio_write_pin_high(F4);
gpio_write_pin_high(F1);
gpio_write_pin_high(F0);
gpio_write_pin_high(F5);
break;
case 6:
writePinHigh(F4);
writePinHigh(F1);
writePinHigh(F0);
writePinHigh(F6);
gpio_write_pin_high(F4);
gpio_write_pin_high(F1);
gpio_write_pin_high(F0);
gpio_write_pin_high(F6);
break;
case 7:
writePinLow(F4);
writePinLow(F1);
writePinLow(F0);
writePinHigh(F6);
gpio_write_pin_low(F4);
gpio_write_pin_low(F1);
gpio_write_pin_low(F0);
gpio_write_pin_high(F6);
break;
case 8:
writePinLow(F4);
writePinLow(F1);
writePinHigh(F0);
writePinHigh(F6);
gpio_write_pin_low(F4);
gpio_write_pin_low(F1);
gpio_write_pin_high(F0);
gpio_write_pin_high(F6);
break;
case 9:
writePinLow(F4);
writePinHigh(F1);
writePinLow(F0);
writePinHigh(F6);
gpio_write_pin_low(F4);
gpio_write_pin_high(F1);
gpio_write_pin_low(F0);
gpio_write_pin_high(F6);
break;
case 10:
writePinLow(F4);
writePinHigh(F1);
writePinHigh(F0);
writePinHigh(F6);
gpio_write_pin_low(F4);
gpio_write_pin_high(F1);
gpio_write_pin_high(F0);
gpio_write_pin_high(F6);
break;
case 11:
writePinHigh(F4);
writePinLow(F1);
writePinLow(F0);
writePinHigh(F6);
gpio_write_pin_high(F4);
gpio_write_pin_low(F1);
gpio_write_pin_low(F0);
gpio_write_pin_high(F6);
break;
case 12:
writePinHigh(F4);
writePinLow(F1);
writePinHigh(F0);
writePinHigh(F6);
gpio_write_pin_high(F4);
gpio_write_pin_low(F1);
gpio_write_pin_high(F0);
gpio_write_pin_high(F6);
break;
case 13:
writePinHigh(F4);
writePinHigh(F1);
writePinLow(F0);
writePinHigh(F6);
gpio_write_pin_high(F4);
gpio_write_pin_high(F1);
gpio_write_pin_low(F0);
gpio_write_pin_high(F6);
break;
case 14:
writePinLow(F4);
writePinLow(F1);
writePinLow(F0);
writePinHigh(F5);
gpio_write_pin_low(F4);
gpio_write_pin_low(F1);
gpio_write_pin_low(F0);
gpio_write_pin_high(F5);
break;
}
}
@ -195,94 +192,94 @@ static void select_col(uint8_t col) {
static void unselect_col(uint8_t col) {
switch (col) {
case 0:
writePinHigh(F4);
writePinHigh(F1);
writePinLow(F0);
writePinLow(F5);
gpio_write_pin_high(F4);
gpio_write_pin_high(F1);
gpio_write_pin_low(F0);
gpio_write_pin_low(F5);
break;
case 1:
writePinHigh(F4);
writePinLow(F1);
writePinHigh(F0);
writePinLow(F5);
gpio_write_pin_high(F4);
gpio_write_pin_low(F1);
gpio_write_pin_high(F0);
gpio_write_pin_low(F5);
break;
case 2:
writePinHigh(F4);
writePinLow(F1);
writePinLow(F0);
writePinLow(F5);
gpio_write_pin_high(F4);
gpio_write_pin_low(F1);
gpio_write_pin_low(F0);
gpio_write_pin_low(F5);
break;
case 3:
writePinLow(F4);
writePinHigh(F1);
writePinHigh(F0);
writePinLow(F5);
gpio_write_pin_low(F4);
gpio_write_pin_high(F1);
gpio_write_pin_high(F0);
gpio_write_pin_low(F5);
break;
case 4:
writePinLow(F4);
writePinHigh(F1);
writePinLow(F0);
writePinLow(F5);
gpio_write_pin_low(F4);
gpio_write_pin_high(F1);
gpio_write_pin_low(F0);
gpio_write_pin_low(F5);
break;
case 5:
writePinLow(F4);
writePinLow(F1);
writePinLow(F0);
writePinLow(F5);
gpio_write_pin_low(F4);
gpio_write_pin_low(F1);
gpio_write_pin_low(F0);
gpio_write_pin_low(F5);
break;
case 6:
writePinLow(F4);
writePinLow(F1);
writePinLow(F0);
writePinLow(F6);
gpio_write_pin_low(F4);
gpio_write_pin_low(F1);
gpio_write_pin_low(F0);
gpio_write_pin_low(F6);
break;
case 7:
writePinHigh(F4);
writePinHigh(F1);
writePinHigh(F0);
writePinLow(F6);
gpio_write_pin_high(F4);
gpio_write_pin_high(F1);
gpio_write_pin_high(F0);
gpio_write_pin_low(F6);
break;
case 8:
writePinHigh(F4);
writePinHigh(F1);
writePinLow(F0);
writePinLow(F6);
gpio_write_pin_high(F4);
gpio_write_pin_high(F1);
gpio_write_pin_low(F0);
gpio_write_pin_low(F6);
break;
case 9:
writePinHigh(F4);
writePinLow(F1);
writePinHigh(F0);
writePinLow(F6);
gpio_write_pin_high(F4);
gpio_write_pin_low(F1);
gpio_write_pin_high(F0);
gpio_write_pin_low(F6);
break;
case 10:
writePinHigh(F4);
writePinLow(F1);
writePinLow(F0);
writePinLow(F6);
gpio_write_pin_high(F4);
gpio_write_pin_low(F1);
gpio_write_pin_low(F0);
gpio_write_pin_low(F6);
break;
case 11:
writePinLow(F4);
writePinHigh(F1);
writePinHigh(F0);
writePinLow(F6);
gpio_write_pin_low(F4);
gpio_write_pin_high(F1);
gpio_write_pin_high(F0);
gpio_write_pin_low(F6);
break;
case 12:
writePinLow(F4);
writePinHigh(F1);
writePinLow(F0);
writePinLow(F6);
gpio_write_pin_low(F4);
gpio_write_pin_high(F1);
gpio_write_pin_low(F0);
gpio_write_pin_low(F6);
break;
case 13:
writePinLow(F4);
writePinLow(F1);
writePinHigh(F0);
writePinLow(F6);
gpio_write_pin_low(F4);
gpio_write_pin_low(F1);
gpio_write_pin_high(F0);
gpio_write_pin_low(F6);
break;
case 14:
writePinHigh(F4);
writePinHigh(F1);
writePinHigh(F0);
writePinLow(F5);
gpio_write_pin_high(F4);
gpio_write_pin_high(F1);
gpio_write_pin_high(F0);
gpio_write_pin_low(F5);
break;
}
}
@ -290,23 +287,23 @@ static void unselect_col(uint8_t col) {
static void unselect_cols(void) {
//Demultiplexer
writePinHigh(F0);
writePinHigh(F1);
writePinHigh(F4);
writePinLow(F5);
writePinLow(F6);
gpio_write_pin_high(F0);
gpio_write_pin_high(F1);
gpio_write_pin_high(F4);
gpio_write_pin_low(F5);
gpio_write_pin_low(F6);
}
static void init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
setPinInputHigh(row_pins[x]);
gpio_set_pin_input_high(row_pins[x]);
}
setPinOutput(F0);
setPinOutput(F1);
setPinOutput(F4);
setPinOutput(F5);
setPinOutput(F6);
gpio_set_pin_output(F0);
gpio_set_pin_output(F1);
gpio_set_pin_output(F4);
gpio_set_pin_output(F5);
gpio_set_pin_output(F6);
}
static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) {
@ -322,7 +319,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
matrix_row_t last_row_value = current_matrix[row_index];
// Check row pin state
if (readPin(row_pins[row_index]) == 0) {
if (gpio_read_pin(row_pins[row_index]) == 0) {
// Pin LO, set col bit
current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col);
} else {

View file

@ -1,7 +1,3 @@
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
CUSTOM_MATRIX = lite
SRC += matrix.c

View file

@ -1,5 +1 @@
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
DEFAULT_FOLDER = mechlovin/adelais/standard_led/arm/rev2

View file

@ -1 +0,0 @@
# The default keymap for delphine

View file

@ -1 +0,0 @@
# The via keymap for delphine

View file

@ -3,6 +3,14 @@
"pid": "0xDEF1",
"device_version": "0.0.1"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"nkro": true,
"backlight": true,
"rgblight": true
},
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,

View file

@ -1,2 +0,0 @@
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow

View file

@ -3,6 +3,13 @@
"pid": "0xDEF2",
"device_version": "0.0.1"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"nkro": true,
"rgb_matrix": true
},
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,

View file

@ -1,2 +0,0 @@
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
RGB_MATRIX_ENABLE = yes # Use RGB matrix

View file

@ -1,14 +1 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
DEFAULT_FOLDER = mechlovin/delphine/mono_led

View file

@ -8,6 +8,16 @@
"pid": "0x0180",
"device_version": "0.0.2"
},
"features": {
"bootmagic": true,
"command": true,
"console": true,
"encoder": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgblight": true
},
"matrix_pins": {
"cols": ["B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A15", "B9", "B8", "B7", "B6", "B5", "B4", "B3"],
"rows": ["B12", "B13", "B14", "A8", "A2"]

View file

@ -1 +0,0 @@
# The default keymap for Foundation

View file

@ -1,13 +0,0 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
ENCODER_ENABLE = yes
AUDIO_ENABLE = no # Audio output

View file

@ -8,6 +8,15 @@
"pid": "0x6001",
"device_version": "0.0.1"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": true,
"command": true,
"nkro": true,
"rgb_matrix": true
},
"ws2812": {
"pin": "A15"
},

View file

@ -1 +0,0 @@
RGB_MATRIX_ENABLE = yes

View file

@ -8,6 +8,16 @@
"pid": "0x6002",
"device_version": "0.0.1"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": true,
"command": true,
"nkro": true,
"rgblight": true,
"rgb_matrix": true
},
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,

View file

@ -1,2 +0,0 @@
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
RGB_MATRIX_ENABLE = yes

View file

@ -1,13 +1 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
DEFAULT_FOLDER = mechlovin/hannah60rgb/rev1

View file

@ -8,6 +8,15 @@
"pid": "0x6500",
"device_version": "0.0.1"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": true,
"command": true,
"nkro": true,
"backlight": true
},
"layouts": {
"LAYOUT_all": {
"layout": [

View file

@ -1 +0,0 @@
# The default keymap for hannah65

View file

@ -1,14 +1 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
DEFAULT_FOLDER = mechlovin/hannah65/rev1/haus

View file

@ -1,39 +0,0 @@
/*
Copyright 2019 Mechlovin
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
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT

View file

@ -16,17 +16,17 @@
#include "quantum.h"
void led_init_ports(void) {
setPinOutput(B2);
setPinOutput(D0);
setPinOutput(D1);
setPinOutput(D2);
gpio_set_pin_output(B2);
gpio_set_pin_output(D0);
gpio_set_pin_output(D1);
gpio_set_pin_output(D2);
}
bool led_update_kb(led_t led_state) {
bool res = led_update_user(led_state);
if(res) {
writePin(B2, led_state.caps_lock);
gpio_write_pin(B2, led_state.caps_lock);
}
return res;
}
@ -35,22 +35,22 @@ layer_state_t layer_state_set_user(layer_state_t state)
{
// if on layer 1, turn on D2 LED, otherwise off.
if (get_highest_layer(state) == 1) {
writePinHigh(D2);
gpio_write_pin_high(D2);
} else {
writePinLow(D2);
gpio_write_pin_low(D2);
}
// if on layer 2, turn on D1 LED, otherwise off.
if (get_highest_layer(state) == 2) {
writePinHigh(D1);
gpio_write_pin_high(D1);
} else {
writePinLow(D1);
gpio_write_pin_low(D1);
}
// if on layer 3, turn on D0 LED, otherwise off.
if (get_highest_layer(state) == 3) {
writePinHigh(D0);
gpio_write_pin_high(D0);
} else {
writePinLow(D0);
gpio_write_pin_low(D0);
}
return state;

View file

@ -8,6 +8,19 @@
"pid": "0x9101",
"device_version": "0.0.1"
},
"features": {
"bootmagic": true,
"mousekey": false,
"extrakey": true,
"backlight": true,
"rgblight": true
},
"qmk": {
"locking": {
"enabled": true,
"resync": true
}
},
"matrix_pins": {
"cols": ["E6", "B1", "B3", "F0", "F1", "F4", "F5", "F6", "F7", "D5", "D4", "B4", "D6", "D7", "B0"],
"rows": ["B5", "B6", "D3", "C6", "C7"]

View file

@ -1 +0,0 @@
# The ansi keymap for hannah910v1

View file

@ -1 +0,0 @@
# The default keymap for hannah910v1

View file

@ -1 +0,0 @@
# The default keymap (VIA support) for hannah910v1

View file

@ -1,12 +0,0 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output

View file

@ -8,6 +8,19 @@
"pid": "0x9102",
"device_version": "0.0.2"
},
"features": {
"bootmagic": true,
"mousekey": false,
"extrakey": true,
"backlight": true,
"rgblight": true
},
"qmk": {
"locking": {
"enabled": true,
"resync": true
}
},
"matrix_pins": {
"cols": ["E6", "B1", "B3", "F0", "F1", "F4", "F5", "F6", "F7", "D5", "D4", "B4", "D6", "D7", "B0"],
"rows": ["B5", "B6", "D3", "C6", "C7"]

View file

@ -1,12 +0,0 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output

View file

@ -8,6 +8,19 @@
"pid": "0x9103",
"device_version": "0.0.2"
},
"features": {
"bootmagic": true,
"mousekey": false,
"extrakey": true,
"backlight": true,
"rgblight": true
},
"qmk": {
"locking": {
"enabled": true,
"resync": true
}
},
"matrix_pins": {
"cols": ["E6", "B1", "B3", "F0", "F1", "F4", "F5", "F6", "F7", "D5", "D4", "B4", "D6", "D7", "B0"],
"rows": ["B5", "B6", "D3", "C6", "C7"]

View file

@ -1 +0,0 @@
# The ansi keymap for hannah910v2

View file

@ -1 +0,0 @@
# The full keymap for hannah910v2

View file

@ -1 +0,0 @@
# The via keymap for hannah910v3

View file

@ -1,12 +0,0 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output

View file

@ -1 +0,0 @@
# The default keymap for hex4b

View file

@ -3,6 +3,12 @@
"usb": {
"device_version": "0.0.1"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"backlight": true
},
"matrix_pins": {
"cols": ["B6", "B5", "B3", "B2", "B1", "B0", "A0", "A6", "A7", "C7", "C6", "C5", "C4", "D1", "D0"],
"rows": ["B7", "A2", "A1", "A3", "A4", "A5"]

View file

@ -1,15 +1,2 @@
# Processor frequency
F_CPU = 16000000
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output

View file

@ -3,6 +3,15 @@
"usb": {
"device_version": "0.0.2"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": true,
"command": true,
"nkro": true,
"backlight": true
},
"matrix_pins": {
"cols": ["B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A3", "C13", "B7", "B6", "B5", "B4", "B3"],
"rows": ["A4", "B12", "B13", "B14", "B15", "A1"]

View file

@ -1,12 +0,0 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output

View file

@ -8,6 +8,15 @@
"pid": "0x6C01",
"device_version": "0.0.1"
},
"features": {
"bootmagic": true,
"command": true,
"console": true,
"encoder": true,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["A13", "A14", "A1", "A0", "C13", "B9", "B4", "B7", "B8", "B5", "B6", "A9", "A5", "A6", "A7", "B1", "B2", "B10", "B3", "B14", "B15"],
"rows": ["A10", "B13", "B12", "B11", "C14", "C15"]

View file

@ -1 +0,0 @@
# The default keymap for hex6c

View file

@ -1,11 +0,0 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = yes

View file

@ -8,6 +8,12 @@
"pid": "0x8704",
"device_version": "0.0.1"
},
"features": {
"bootmagic": false,
"mousekey": false,
"extrakey": false,
"backlight": true
},
"layouts": {
"LAYOUT_all": {
"layout": [

View file

@ -1 +0,0 @@
# The default keymap for infinity87

View file

@ -1 +0,0 @@
# The via keymap for infinity87

View file

@ -8,6 +8,12 @@
"pid": "0x8703",
"device_version": "0.0.1"
},
"features": {
"bootmagic": false,
"mousekey": false,
"extrakey": false,
"backlight": true
},
"community_layouts": [
"tkl_ansi_tsangan",
"tkl_iso_tsangan"

View file

@ -1 +0,0 @@
# The default keymap for infinity87

View file

@ -1 +0,0 @@
# The via keymap for infinity87

View file

@ -1,3 +1 @@
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
DEFAULT_FOLDER = mechlovin/infinity87/rev1/standard

View file

@ -8,6 +8,16 @@
"pid": "0x8701",
"device_version": "0.0.1"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": true,
"command": true,
"nkro": true,
"backlight": true,
"rgblight": true
},
"rgblight": {
"led_count": 26,
"sleep": true,

View file

@ -1 +0,0 @@
# The default keymap for infinity87 Rev.1 Standard

View file

@ -1 +0,0 @@
# The via keymap for infinity87 Rev.1 Standard

View file

@ -1 +0,0 @@
RGBLIGHT_ENABLE = yes

View file

@ -8,6 +8,14 @@
"pid": "0x8702",
"device_version": "0.0.1"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"nkro": true,
"backlight": true,
"rgblight": true
},
"backlight": {
"pin": "B6",
"breathing": true

View file

@ -1 +0,0 @@
# The default keymap for infinity87

View file

@ -1 +0,0 @@
# The via keymap for infinity87

View file

@ -16,13 +16,10 @@ 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 <stdint.h>
#include <stdbool.h>
#include "wait.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
#include "quantum.h"
#ifdef DIRECT_PINS
static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS;
@ -40,7 +37,7 @@ static void init_pins(void) {
for (int col = 0; col < MATRIX_COLS; col++) {
pin_t pin = direct_pins[row][col];
if (pin != NO_PIN) {
setPinInputHigh(pin);
gpio_set_pin_input_high(pin);
}
}
}
@ -53,7 +50,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
pin_t pin = direct_pins[current_row][col_index];
if (pin != NO_PIN) {
current_matrix[current_row] |= readPin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index);
current_matrix[current_row] |= gpio_read_pin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index);
}
}
@ -104,103 +101,103 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
static void select_col(uint8_t col) {
switch (col) {
case 0:
writePinLow(B5);
writePinLow(B7);
writePinLow(F0);
writePinHigh(B0);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(B0);
break;
case 1:
writePinLow(B5);
writePinLow(B7);
writePinHigh(F0);
writePinHigh(B0);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(B0);
break;
case 2:
writePinLow(B5);
writePinHigh(B7);
writePinLow(F0);
writePinHigh(B0);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(B0);
break;
case 3:
writePinLow(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinHigh(B0);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(B0);
break;
case 4:
writePinHigh(B5);
writePinLow(B7);
writePinLow(F0);
writePinHigh(B0);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(B0);
break;
case 5:
writePinHigh(B5);
writePinLow(B7);
writePinHigh(F0);
writePinHigh(B0);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(B0);
break;
case 6:
writePinHigh(B5);
writePinHigh(B7);
writePinLow(F0);
writePinHigh(B0);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(B0);
break;
case 7:
writePinHigh(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinHigh(B0);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(B0);
break;
case 8:
writePinLow(B5);
writePinLow(B7);
writePinLow(F0);
writePinHigh(F1);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(F1);
break;
case 9:
writePinLow(B5);
writePinLow(B7);
writePinHigh(F0);
writePinHigh(F1);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(F1);
break;
case 10:
writePinLow(B5);
writePinHigh(B7);
writePinLow(F0);
writePinHigh(F1);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(F1);
break;
case 11:
writePinLow(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinHigh(F1);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(F1);
break;
case 12:
writePinHigh(B5);
writePinLow(B7);
writePinLow(F0);
writePinHigh(F1);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(F1);
break;
case 13:
writePinHigh(B5);
writePinLow(B7);
writePinHigh(F0);
writePinHigh(F1);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(F1);
break;
case 14:
writePinHigh(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinHigh(F1);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(F1);
break;
case 15:
writePinHigh(B5);
writePinHigh(B7);
writePinLow(F0);
writePinHigh(F1);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(F1);
break;
case 16:
writePinLow(E6);
gpio_write_pin_low(E6);
break;
}
}
@ -208,130 +205,130 @@ static void select_col(uint8_t col) {
static void unselect_col(uint8_t col) {
switch (col) {
case 0:
writePinHigh(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinLow(B0);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(B0);
break;
case 1:
writePinHigh(B5);
writePinHigh(B7);
writePinLow(F0);
writePinLow(B0);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(B0);
break;
case 2:
writePinHigh(B5);
writePinLow(B7);
writePinHigh(F0);
writePinLow(B0);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(B0);
break;
case 3:
writePinHigh(B5);
writePinLow(B7);
writePinLow(F0);
writePinLow(B0);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(B0);
break;
case 4:
writePinLow(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinLow(B0);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(B0);
break;
case 5:
writePinLow(B5);
writePinHigh(B7);
writePinLow(F0);
writePinLow(B0);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(B0);
break;
case 6:
writePinLow(B5);
writePinLow(B7);
writePinHigh(F0);
writePinLow(B0);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(B0);
break;
case 7:
writePinLow(B5);
writePinLow(B7);
writePinLow(F0);
writePinLow(B0);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(B0);
break;
case 8:
writePinHigh(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinLow(F1);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(F1);
break;
case 9:
writePinHigh(B5);
writePinHigh(B7);
writePinLow(F0);
writePinLow(F1);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(F1);
break;
case 10:
writePinHigh(B5);
writePinLow(B7);
writePinHigh(F0);
writePinLow(F1);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(F1);
break;
case 11:
writePinHigh(B5);
writePinLow(B7);
writePinLow(F0);
writePinLow(F1);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(F1);
break;
case 12:
writePinLow(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinLow(F1);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(F1);
break;
case 13:
writePinLow(B5);
writePinHigh(B7);
writePinLow(F0);
writePinLow(F1);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(F1);
break;
case 14:
writePinLow(B5);
writePinLow(B7);
writePinLow(F0);
writePinLow(F1);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(F1);
break;
case 15:
writePinLow(B5);
writePinLow(B7);
writePinHigh(F0);
writePinLow(F1);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(F1);
break;
case 16:
writePinHigh(E6);
gpio_write_pin_high(E6);
break;
}
}
static void unselect_cols(void) {
//Native
writePinHigh(E6);
gpio_write_pin_high(E6);
//Demultiplexer
writePinLow(B0);
writePinLow(F1);
writePinHigh(B5);
writePinHigh(B7);
writePinHigh(F0);
gpio_write_pin_low(B0);
gpio_write_pin_low(F1);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
}
static void init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
setPinInputHigh(row_pins[x]);
gpio_set_pin_input_high(row_pins[x]);
}
setPinOutput(B5);
setPinOutput(B7);
setPinOutput(F0);
setPinOutput(B0);
setPinOutput(F1);
setPinOutput(E6);
gpio_set_pin_output(B5);
gpio_set_pin_output(B7);
gpio_set_pin_output(F0);
gpio_set_pin_output(B0);
gpio_set_pin_output(F1);
gpio_set_pin_output(E6);
}
static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) {
@ -347,7 +344,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
matrix_row_t last_row_value = current_matrix[row_index];
// Check row pin state
if (readPin(row_pins[row_index]) == 0) {
if (gpio_read_pin(row_pins[row_index]) == 0) {
// Pin LO, set col bit
current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col);
} else {

View file

@ -1,11 +1,3 @@
# Build Options
# change yes to no to disable
#
CONSOLE_ENABLE = no
COMMAND_ENABLE = no
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes
RGBLIGHT_ENABLE = yes
CUSTOM_MATRIX = lite
SRC += matrix.c

View file

@ -8,6 +8,15 @@
"pid": "0x8710",
"device_version": "0.0.1"
},
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": true,
"command": true,
"nkro": true,
"rgb_matrix": true
},
"rgb_matrix": {
"animations": {
"alphas_mods": true,

View file

@ -1 +0,0 @@
# The default keymap for infinity87

View file

@ -1 +0,0 @@
# The via keymap for infinity87

View file

@ -1 +0,0 @@
RGB_MATRIX_ENABLE = yes # Use RGB matrix

View file

@ -1,15 +1 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
DEFAULT_FOLDER = mechlovin/infinity87/rgb_rev1

View file

@ -8,6 +8,12 @@
"pid": "0x0875",
"device_version": "0.0.1"
},
"features": {
"bootmagic": true,
"mousekey": false,
"extrakey": true,
"rgb_matrix": true
},
"rgb_matrix": {
"driver": "ws2812",
"max_brightness": 200,

View file

@ -1 +0,0 @@
# The default keymap for infinity875

View file

@ -1 +0,0 @@
# The VIA keymap for infinity87.5

View file

@ -16,13 +16,10 @@ 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 <stdint.h>
#include <stdbool.h>
#include "wait.h"
#include "util.h"
#include "matrix.h"
#include "debounce.h"
#include "quantum.h"
#ifdef DIRECT_PINS
static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS;
@ -40,7 +37,7 @@ static void init_pins(void) {
for (int col = 0; col < MATRIX_COLS; col++) {
pin_t pin = direct_pins[row][col];
if (pin != NO_PIN) {
setPinInputHigh(pin);
gpio_set_pin_input_high(pin);
}
}
}
@ -53,7 +50,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
pin_t pin = direct_pins[current_row][col_index];
if (pin != NO_PIN) {
current_matrix[current_row] |= readPin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index);
current_matrix[current_row] |= gpio_read_pin(pin) ? 0 : (MATRIX_ROW_SHIFTER << col_index);
}
}
@ -104,103 +101,103 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
static void select_col(uint8_t col) {
switch (col) {
case 0:
writePinLow(B5);
writePinLow(B7);
writePinLow(F0);
writePinHigh(B0);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(B0);
break;
case 1:
writePinLow(B5);
writePinLow(B7);
writePinHigh(F0);
writePinHigh(B0);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(B0);
break;
case 2:
writePinLow(B5);
writePinHigh(B7);
writePinLow(F0);
writePinHigh(B0);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(B0);
break;
case 3:
writePinLow(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinHigh(B0);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(B0);
break;
case 4:
writePinHigh(B5);
writePinLow(B7);
writePinLow(F0);
writePinHigh(B0);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(B0);
break;
case 5:
writePinHigh(B5);
writePinLow(B7);
writePinHigh(F0);
writePinHigh(B0);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(B0);
break;
case 6:
writePinHigh(B5);
writePinHigh(B7);
writePinLow(F0);
writePinHigh(B0);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(B0);
break;
case 7:
writePinHigh(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinHigh(B0);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(B0);
break;
case 8:
writePinLow(B5);
writePinLow(B7);
writePinLow(F0);
writePinHigh(F1);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(F1);
break;
case 9:
writePinLow(B5);
writePinLow(B7);
writePinHigh(F0);
writePinHigh(F1);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(F1);
break;
case 10:
writePinLow(B5);
writePinHigh(B7);
writePinLow(F0);
writePinHigh(F1);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(F1);
break;
case 11:
writePinLow(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinHigh(F1);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(F1);
break;
case 12:
writePinHigh(B5);
writePinLow(B7);
writePinLow(F0);
writePinHigh(F1);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(F1);
break;
case 13:
writePinHigh(B5);
writePinLow(B7);
writePinHigh(F0);
writePinHigh(F1);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(F1);
break;
case 14:
writePinHigh(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinHigh(F1);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_high(F1);
break;
case 15:
writePinHigh(B5);
writePinHigh(B7);
writePinLow(F0);
writePinHigh(F1);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_high(F1);
break;
case 16:
writePinLow(E6);
gpio_write_pin_low(E6);
break;
}
}
@ -208,130 +205,130 @@ static void select_col(uint8_t col) {
static void unselect_col(uint8_t col) {
switch (col) {
case 0:
writePinHigh(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinLow(B0);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(B0);
break;
case 1:
writePinHigh(B5);
writePinHigh(B7);
writePinLow(F0);
writePinLow(B0);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(B0);
break;
case 2:
writePinHigh(B5);
writePinLow(B7);
writePinHigh(F0);
writePinLow(B0);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(B0);
break;
case 3:
writePinHigh(B5);
writePinLow(B7);
writePinLow(F0);
writePinLow(B0);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(B0);
break;
case 4:
writePinLow(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinLow(B0);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(B0);
break;
case 5:
writePinLow(B5);
writePinHigh(B7);
writePinLow(F0);
writePinLow(B0);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(B0);
break;
case 6:
writePinLow(B5);
writePinLow(B7);
writePinHigh(F0);
writePinLow(B0);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(B0);
break;
case 7:
writePinLow(B5);
writePinLow(B7);
writePinLow(F0);
writePinLow(B0);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(B0);
break;
case 8:
writePinHigh(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinLow(F1);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(F1);
break;
case 9:
writePinHigh(B5);
writePinHigh(B7);
writePinLow(F0);
writePinLow(F1);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(F1);
break;
case 10:
writePinHigh(B5);
writePinLow(B7);
writePinHigh(F0);
writePinLow(F1);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(F1);
break;
case 11:
writePinHigh(B5);
writePinLow(B7);
writePinLow(F0);
writePinLow(F1);
gpio_write_pin_high(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(F1);
break;
case 12:
writePinLow(B5);
writePinHigh(B7);
writePinHigh(F0);
writePinLow(F1);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(F1);
break;
case 13:
writePinLow(B5);
writePinHigh(B7);
writePinLow(F0);
writePinLow(F1);
gpio_write_pin_low(B5);
gpio_write_pin_high(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(F1);
break;
case 14:
writePinLow(B5);
writePinLow(B7);
writePinLow(F0);
writePinLow(F1);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_low(F0);
gpio_write_pin_low(F1);
break;
case 15:
writePinLow(B5);
writePinLow(B7);
writePinHigh(F0);
writePinLow(F1);
gpio_write_pin_low(B5);
gpio_write_pin_low(B7);
gpio_write_pin_high(F0);
gpio_write_pin_low(F1);
break;
case 16:
writePinHigh(E6);
gpio_write_pin_high(E6);
break;
}
}
static void unselect_cols(void) {
//Native
writePinHigh(E6);
gpio_write_pin_high(E6);
//Demultiplexer
writePinLow(B0);
writePinLow(F1);
writePinHigh(B5);
writePinHigh(B7);
writePinHigh(F0);
gpio_write_pin_low(B0);
gpio_write_pin_low(F1);
gpio_write_pin_high(B5);
gpio_write_pin_high(B7);
gpio_write_pin_high(F0);
}
static void init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
setPinInputHigh(row_pins[x]);
gpio_set_pin_input_high(row_pins[x]);
}
setPinOutput(B5);
setPinOutput(B7);
setPinOutput(F0);
setPinOutput(B0);
setPinOutput(F1);
setPinOutput(E6);
gpio_set_pin_output(B5);
gpio_set_pin_output(B7);
gpio_set_pin_output(F0);
gpio_set_pin_output(B0);
gpio_set_pin_output(F1);
gpio_set_pin_output(E6);
}
static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) {
@ -347,7 +344,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
matrix_row_t last_row_value = current_matrix[row_index];
// Check row pin state
if (readPin(row_pins[row_index]) == 0) {
if (gpio_read_pin(row_pins[row_index]) == 0) {
// Pin LO, set col bit
current_matrix[row_index] |= (MATRIX_ROW_SHIFTER << current_col);
} else {

View file

@ -1,16 +1,3 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
CUSTOM_MATRIX = lite
RGB_MATRIX_ENABLE = yes
SRC += matrix.c

View file

@ -8,6 +8,16 @@
"pid": "0x8802",
"device_version": "0.0.1"
},
"features": {
"backlight": true,
"bootmagic": true,
"command": true,
"console": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgblight": true
},
"matrix_pins": {
"cols": ["C13", "B9", "B4", "B7", "B8", "B5", "B6", "A9", "A5", "A6", "A7", "B1", "B2", "B10", "B3", "B14", "B15"],
"rows": ["A10", "B13", "B12", "B11", "C14", "C15"]

View file

@ -1 +0,0 @@
# The default keymap for infinity87

View file

@ -1 +0,0 @@
# The via keymap for infinity87

View file

@ -1,11 +0,0 @@
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow

View file

@ -18,12 +18,12 @@
void led_init_ports(void) {
// * Set our LED pins as output
setPinOutput(B3);
gpio_set_pin_output(B3);
}
bool led_update_kb(led_t led_state) {
bool res = led_update_user(led_state);
if(res) {
writePin(B3, led_state.caps_lock);
gpio_write_pin(B3, led_state.caps_lock);
rgblight_set_effect_range(1, 30);
if (led_state.scroll_lock) {
rgblight_setrgb_at(255, 255, 255, 0);

View file

@ -8,6 +8,16 @@
"pid": "0x8801",
"device_version": "0.0.1"
},
"features": {
"backlight": true,
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgblight": true
},
"matrix_pins": {
"cols": ["B5", "B4", "B0", "D5", "D4", "D1", "D0", "E6", "F7", "F6", "F5", "F4", "F1", "F0", "B2", "D3", "D2"],
"rows": ["D7", "D6", "B6", "B1", "C6", "C7"]

Some files were not shown because too many files have changed in this diff Show more