~ruther/qmk_firmware

76e88e228b9351b48949c5b7613f9d168a97f386 — wangyifu 4 years ago 554b937
[Keyboard] latin64ble Keyboard (#10884)

* Update rules.mk

* Update config.h

* Update keyboards/latinpad/config.h

Co-authored-by: Joel Challis <git@zvecr.com>

* Create rules.mk

* Create config.h

* Create latin64ble.h

* Create latin64ble.c

* Create keymap.c

* Create keymap.c

* Create rules.mk

* Create readme.md

* Update rules.mk

* Update rules.mk

* Update keymap.c

* Update keymap.c

* Update rules.mk

* Update readme.md

* Update keyboards/latin64ble/config.h

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/latin64ble/config.h

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/latin64ble/rules.mk

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update config.h

* Update rules.mk

* Update config.h

* Update keymap.c

* Update rules.mk

* Update keymap.c

* Update keymap.c

* Update latin64ble.h

* Update rules.mk

* Update rules.mk

* Update keymap.c

* Update keymap.c

* Update keyboards/latin64ble/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/latin64ble/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/latin64ble/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update readme.md

* Update readme.md

* Update keyboards/latin64ble/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
A keyboards/latin64ble/config.h => keyboards/latin64ble/config.h +51 -0
@@ 0,0 1,51 @@
/*
Copyright 2020 latincompass

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

#include "config_common.h"
#define VENDOR_ID       0x6C63 // "lc" = latincompass
#define PRODUCT_ID      0x6C71 // "lp" = latin64BLE
#define DEVICE_VER      0x0001
#define MANUFACTURER    latincompass
#define PRODUCT         Latin64BLE

/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D6, D7, B5, B6 }
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6 }
#define UNUSED_PINS

#define DIODE_DIRECTION ROW2COL


#define RGB_DI_PIN B7

#define RGBLED_NUM 2
#define DRIVER_LED_TOTAL RGBLED_NUM

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5


#define RGBLIGHT_VAL_STEP 25
#define RGBLIGHT_LIMIT_VAL 255
#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 20
#define RGBLIGHT_ANIMATIONS             // Run RGB animations





A keyboards/latin64ble/keymaps/default/keymap.c => keyboards/latin64ble/keymaps/default/keymap.c +41 -0
@@ 0,0 1,41 @@
 /* Copyright 2020 latincompass
  * 
  * 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
#define T1 MO(1)
#define T2 MO(2)



const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT( 
    KC_ESC,  KC_1,  KC_2,  KC_3,  KC_4,  KC_5,  KC_6,  KC_7,  KC_8,  KC_9,    KC_0,    KC_MINS,  KC_EQL,  KC_BSPC,
	KC_TAB,  KC_Q,  KC_W,  KC_E,  KC_R,  KC_T,  KC_Y,  KC_U,  KC_I,  KC_O,    KC_P,    KC_LBRC,  KC_RBRC, KC_DEL,
	KC_CAPS, KC_A,  KC_S,  KC_D,  KC_F,  KC_G,  KC_H,  KC_J,  KC_K,  KC_L,    KC_SCLN, KC_QUOT,  KC_ENT,
	KC_LSFT, KC_Z,  KC_X,  KC_C,  KC_V,  KC_B,  KC_N,  KC_M, KC_COMM, KC_DOT, RGB_TOG, RGB_MOD,  KC_MY_COMPUTER, MO(1),
	KC_LCTL, KC_LCTL, KC_LALT,          KC_SPC,       MO(2), KC_PGDOWN, KC_PGUP, KC_CALCULATOR,KC_DEL),	
    [1] = LAYOUT( 
    RGB_TOG,  RGB_MOD, RGB_M_K, RGB_M_X, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9,   KC_F10,  KC_F11,   KC_F12,  KC_BSPC,
	RGB_SAI,  RGB_SAD,  RGB_HUI, RGB_HUD,  KC_R,  KC_T,  KC_Y,  KC_U,  KC_I,  KC_O,    KC_P,    KC_LBRC,  KC_RBRC, KC_DEL,
	RGB_VAI, RGB_VAD,  RGB_SPI,  RGB_SPD,  KC_F,  KC_G,  KC_H,  KC_J,  KC_K,  KC_L,    KC_SCLN, KC_QUOT,  KC_ENT,
	RGB_SPI, RGB_SPD,  KC_X,  KC_C,  KC_V,  KC_B,  KC_N,  KC_M, KC_COMM, KC_DOT, RGB_TOG, RGB_MOD,  KC_MY_COMPUTER, MO(1),
	KC_LCTL, KC_LGUI, KC_LALT,          KC_SPC,       MO(2), KC_PGUP, KC_PGDOWN, KC_CALCULATOR,KC_DEL),	
    [2] = LAYOUT( 
    KC_NUMLOCK,  KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_F6,  KC_F7,  KC_F8,  KC_F9,    KC_F10,    KC_MINS,  KC_EQL,  KC_BSPC,
	KC_TAB,  KC_Q,  KC_W,  KC_E,  KC_R,  KC_T,  KC_Y,  KC_U,  KC_I,  KC_O,    KC_P,    KC_LBRC,  KC_RBRC, KC_DEL,
	KC_CAPS, KC_A,  KC_S,  KC_D,  KC_F,  KC_G,  KC_H,  KC_J,  KC_K,  KC_L,    KC_SCLN, KC_QUOT,  KC_ENT,
	KC_LSFT, KC_Z,  KC_X,  KC_C,  KC_V,  KC_B,  KC_N,  KC_M, KC_COMM, KC_DOT, RGB_TOG, RGB_MOD,  KC_MY_COMPUTER, MO(1),
	KC_LCTL, KC_LGUI, KC_LALT,          KC_SPC,       MO(2), KC_PGUP, KC_PGDOWN, KC_CALCULATOR,KC_DEL),	
};

A keyboards/latin64ble/keymaps/via/keymap.c => keyboards/latin64ble/keymaps/via/keymap.c +32 -0
@@ 0,0 1,32 @@
#include QMK_KEYBOARD_H
#define T1 MO(1)
#define T2 MO(2)



const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT( 
    KC_ESC,  KC_1,  KC_2,  KC_3,  KC_4,  KC_5,  KC_6,  KC_7,  KC_8,  KC_9,    KC_0,    KC_MINS,  KC_EQL,  KC_BSPC,
	KC_TAB,  KC_Q,  KC_W,  KC_E,  KC_R,  KC_T,  KC_Y,  KC_U,  KC_I,  KC_O,    KC_P,    KC_LBRC,  KC_RBRC, KC_DEL,
	KC_CAPS, KC_A,  KC_S,  KC_D,  KC_F,  KC_G,  KC_H,  KC_J,  KC_K,  KC_L,    KC_SCLN, KC_QUOT,  KC_ENT,
	KC_LSFT, KC_Z,  KC_X,  KC_C,  KC_V,  KC_B,  KC_N,  KC_M, KC_COMM, KC_DOT, RGB_TOG, RGB_MOD,  KC_MY_COMPUTER, MO(1),
	KC_LCTL, KC_LCTL, KC_LALT,          KC_SPC,       MO(2), KC_PGDOWN, KC_PGUP, KC_CALCULATOR,KC_DEL),	
    [1] = LAYOUT( 
    RGB_TOG,  RGB_MOD, RGB_M_K, RGB_M_X, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9,   KC_F10,  KC_F11,   KC_F12,  KC_BSPC,
	RGB_SAI,  RGB_SAD,  RGB_HUI, RGB_HUD,  KC_R,  KC_T,  KC_Y,  KC_U,  KC_I,  KC_O,    KC_P,    KC_LBRC,  KC_RBRC, KC_DEL,
	RGB_VAI, RGB_VAD,  RGB_SPI,  RGB_SPD,  KC_F,  KC_G,  KC_H,  KC_J,  KC_K,  KC_L,    KC_SCLN, KC_QUOT,  KC_ENT,
	RGB_SPI, RGB_SPD,  KC_X,  KC_C,  KC_V,  KC_B,  KC_N,  KC_M, KC_COMM, KC_DOT, RGB_TOG, RGB_MOD,  KC_MY_COMPUTER, MO(1),
	KC_LCTL, KC_LGUI, KC_LALT,          KC_SPC,       MO(2), KC_PGUP, KC_PGDOWN, KC_CALCULATOR,KC_DEL),	
    [2] = LAYOUT( 
    KC_NUMLOCK,  KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_F6,  KC_F7,  KC_F8,  KC_F9,    KC_F10,    KC_MINS,  KC_EQL,  KC_BSPC,
	KC_TAB,  KC_Q,  KC_W,  KC_E,  KC_R,  KC_T,  KC_Y,  KC_U,  KC_I,  KC_O,    KC_P,    KC_LBRC,  KC_RBRC, KC_DEL,
	KC_CAPS, KC_A,  KC_S,  KC_D,  KC_F,  KC_G,  KC_H,  KC_J,  KC_K,  KC_L,    KC_SCLN, KC_QUOT,  KC_ENT,
	KC_LSFT, KC_Z,  KC_X,  KC_C,  KC_V,  KC_B,  KC_N,  KC_M, KC_COMM, KC_DOT, RGB_TOG, RGB_MOD,  KC_MY_COMPUTER, MO(1),
	KC_LCTL, KC_LGUI, KC_LALT,          KC_SPC,       MO(2), KC_PGUP, KC_PGDOWN, KC_CALCULATOR,KC_DEL),	
    [3] = LAYOUT( 
    _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,    _______,    _______,  _______,  _______,
	_______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,    _______,    _______,  _______, _______,
	_______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,    _______,    _______,  _______,
	_______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,    _______,    _______,  _______, _______,
	_______, _______, _______,          _______,       _______, _______, _______, _______,_______),	
};

A keyboards/latin64ble/keymaps/via/rules.mk => keyboards/latin64ble/keymaps/via/rules.mk +2 -0
@@ 0,0 1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes

A keyboards/latin64ble/latin64ble.c => keyboards/latin64ble/latin64ble.c +16 -0
@@ 0,0 1,16 @@
/* Copyright 2020 latincompass
 *
 * 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 "latin64ble.h"

A keyboards/latin64ble/latin64ble.h => keyboards/latin64ble/latin64ble.h +34 -0
@@ 0,0 1,34 @@
/* Copyright 2020 latincompass
 *
 * 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
#include "quantum.h"
#define XXX KC_NO
#define LAYOUT(    \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13,\
    K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, K26, K27,\
    K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, K38, K39,     K40, \
	K41, K42, K43, K44, K45, K46, K47, K48, K49, K50, K51, K52, K53, K54,\
	K55, K56, K57,              K58,         K59, K60, K61, K62, K63\
) { \
    { K00, K01, K02, K03, K04, K05, K06, K07}, \
    { K08, K09, K10, K11, K12, K13, K14, K15}, \
	{ K16, K17, K18, K19, K20, K21, K22, K23}, \
	{ K24, K25, K26, K27, K28, K29, K30, K31}, \
	{ K32, K33, K34, K35, K36, K37, K38, K39}, \
    { K40, K41, K42, K43, K44, K45, K46, K47}, \
	{ K48, K49, K50, K51, K52, K53, K54, K55}, \
    { K56, K57, K58, K59, K60, K61, K62, K63}  \
}

A keyboards/latin64ble/readme.md => keyboards/latin64ble/readme.md +14 -0
@@ 0,0 1,14 @@
# Latin64ble

![Latin64ble](https://i.imgur.com/zRlOU3ml.jpg)

macro 64 ble 4.0 RGB keyboard

* Keyboard Maintainer: [latincompass](https://github.com/latincompass)
* Hardware Availability: https://github.com/latincompass/latin64BLE-kb

Make example for this keyboard (after setting up your build environment):

    make latin64ble:default

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

A keyboards/latin64ble/rules.mk => keyboards/latin64ble/rules.mk +26 -0
@@ 0,0 1,26 @@
# MCU name
MCU = atmega32u4

# Processor frequency
F_CPU = 8000000

# Bootloader selection
BOOTLOADER = caterina

# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = no      # Virtual DIP switch configuration
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
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no            # USB Nkey Rollover
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no       # Enable Bluetooth
AUDIO_ENABLE = no           # Audio output
BLUETOOTH = AdafruitBLE