Skip to content

Commit

Permalink
Merge /prime_l and /prime_l_v2 (qmk#8194)
Browse files Browse the repository at this point in the history
* correct indicator light states.

function of indicator lights was inverted. these changes correct that.

* flesh out keymaps pre production

* Enable extrakey in rules

* Prime_BLE initial commit

* Initial commit for Prime_L V2

* Update info.json

correct key spacing.

* update copyright

* Update readme.md

* Inital commit

* updates before PR into QMK master

* Drop Prime_EXL Plus from PR. Make requested changes to Prime_L V2

* Rename keyboards/primekb/Prime_l_v2/config.h to keyboards/primekb/prime_l_v2/config.h

* Rename keyboards/primekb/prime_l_v2/config.h to keyboards/primekb/Prime_l_v2/config.h

* remove directory Prime_l_v2

* re-submit with proper folder name.

* Restructure /primekb directory to merge /prime_l and /prime_l_v2

* made changes requested by QMK reviewers

* Update keyboards/primekb/prime_l/v1/readme.md

* Update keyboards/primekb/prime_l/v1/readme.md

* Update keyboards/primekb/prime_l/v1/readme.md
  • Loading branch information
holtenc authored Feb 19, 2020
1 parent 19c9141 commit 42d6270
Show file tree
Hide file tree
Showing 21 changed files with 129 additions and 233 deletions.
12 changes: 1 addition & 11 deletions keyboards/primekb/prime_l/config.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/*
Copyright 2018 Jumail Mundekkat
Copyright 2020 Holten Campbell
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
Expand All @@ -22,27 +23,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x4024
#define DEVICE_VER 0x0001
#define MANUFACTURER PrimeKB
#define PRODUCT Prime_L
#define DESCRIPTION Custom layout keyboard

/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16

/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { D1, D0, B7, B3, B2 }
#define MATRIX_COL_PINS { D2, D3, D5, D4, D6, D7, B4, B5, C7, C6, F7, F6, F5, F4, F1, F0 }
#define UNUSED_PINS

/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

#define BACKLIGHT_PIN B6
/*#define BACKLIGHT_BREATHING*/
#define BACKLIGHT_LEVELS 4

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

Expand Down
19 changes: 0 additions & 19 deletions keyboards/primekb/prime_l/keymaps/default/config.h

This file was deleted.

40 changes: 0 additions & 40 deletions keyboards/primekb/prime_l/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,6 @@
*/
#include QMK_KEYBOARD_H

// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
QMKBEST = SAFE_RANGE,
QMKURL
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, KC_HOME, KC_END, KC_PSCR, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PGUP, KC_BSPC,
Expand All @@ -38,37 +32,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
BL_TOGG, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS
)
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QMKBEST:
if (record->event.pressed) {
// when keycode QMKBEST is pressed
SEND_STRING("QMK is the best thing ever!");
} else {
// when keycode QMKBEST is released
}
break;
case QMKURL:
if (record->event.pressed) {
// when keycode QMKURL is pressed
SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
} else {
// when keycode QMKURL is released
}
break;
}
return true;
}

void matrix_init_user(void) {

}

void matrix_scan_user(void) {

}

void led_set_user(uint8_t usb_led) {

}
30 changes: 2 additions & 28 deletions keyboards/primekb/prime_l/prime_l.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/* Copyright 2018 Jumail Mundekkat
* Copyright 2020 Holten Campbell
*
* 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
Expand All @@ -13,31 +14,4 @@
* 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 "prime_l.h"

void matrix_init_kb(void) {
// put your keyboard start-up code here
// runs once when the firmware starts up

matrix_init_user();
}

void matrix_scan_kb(void) {
// put your looping keyboard code here
// runs every cycle (a lot)

matrix_scan_user();
}

bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
// put your per-action keyboard code here
// runs for every action, just before processing by the firmware

return process_record_user(keycode, record);
}

void led_set_kb(uint8_t usb_led) {
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here

led_set_user(usb_led);
}
#include "prime_l.h"
23 changes: 7 additions & 16 deletions keyboards/primekb/prime_l/prime_l.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/* Copyright 2018 Jumail Mundekkat
* Copyright 2020 Holten Campbell
*
* 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
Expand All @@ -13,23 +14,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef PRIME_L_H
#define PRIME_L_H

#include "quantum.h"
#pragma once

#define LAYOUT( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215 , \
K300, K301, K302, K303, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
K400, K401, K402, K403, K405, K406, K407, K408, K410, K412, K413, K414, K415 \
) { \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO, K215 }, \
{ K300, K301, K302, K303, KC_NO, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
{ K400, K401, K402, K403, KC_NO, K405, K406, K407, K408, KC_NO, K410, KC_NO, K412, K413, K414, K415 } \
}
#include "quantum.h"

#if defined(KEYBOARD_primekb_prime_l_v1)
#include "v1.h"
#elif defined(KEYBOARD_primekb_prime_l_v2)
#include "v2.h"
#endif
14 changes: 7 additions & 7 deletions keyboards/primekb/prime_l/readme.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Prime_L

![Prime_L](https://i.imgur.com/jUWhjOD.jpg)
A compact layout with the footprint of your typical 65% board, featuring a left mini-numpad.

A compact layout with the footprint of your typical 65% board, featuring a left mini-numpad. Pre-drilled and counter sunk holes for use with optional feet for a slight tilt. Switches are oriented so that back light LEDs are on the top of the switch.

Keyboard Maintainer: [MxBlue](https://github.com/MxBlu)
Hardware Supported: Prime_L PCBs, ATMega32u4
Hardware Availability: [Store Link](https://www.primekb.com/collections/keyboards/products/bundle-save)
* Hardware Supported:
* [Prime_L V1](v1/) PCBs, ATmega32U4 (supports in-switch LEDs)
* [Prime_L V2](v2/) PCBs, ATmega32U4 (no in-switch LED supports)
* Hardware Availability: [Store Link](https://www.primekb.com)

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

make primekb/prime_l:default
make primekb/prime_l/v1:default
make primekb/prime_l/v2: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).
12 changes: 7 additions & 5 deletions keyboards/primekb/prime_l/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,22 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
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
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 = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
NKRO_ENABLE = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI support
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs

DEFAULT_FOLDER = primekb/prime_l/v1
34 changes: 34 additions & 0 deletions keyboards/primekb/prime_l/v1/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*
Copyright 2018 Jumail Mundekkat
Copyright 2020 Holten Campbell
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"

/* USB Device descriptor parameter */
#define DEVICE_VER 0x0001
#define PRODUCT Prime_L V1

/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { D1, D0, B7, B3, B2 }
#define MATRIX_COL_PINS { D2, D3, D5, D4, D6, D7, B4, B5, C7, C6, F7, F6, F5, F4, F1, F0 }
#define UNUSED_PINS

#define BACKLIGHT_PIN B6
/*#define BACKLIGHT_BREATHING*/
#define BACKLIGHT_LEVELS 4
12 changes: 12 additions & 0 deletions keyboards/primekb/prime_l/v1/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"keyboard_name": "Prime_L",
"url": "https://www.primekb.com",
"maintainer": "MxBlu",
"width": 16,
"height": 5,
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":15, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2, "w":1.25}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2, "w":1.75}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3, "w":1.75}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.25}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4, "w":1.25}, {"x":4.25, "y":4, "w":1.25}, {"x":5.5, "y":4}, {"x":6.5, "y":4}, {"x":7.5, "y":4, "w":2}, {"x":9.5, "y":4, "w":2.25}, {"x":11.75, "y":4}, {"x":12.75, "y":4}, {"x":13.75, "y":4}, {"x":14.75, "y":4, "w":1.25}]
}
}
}
15 changes: 15 additions & 0 deletions keyboards/primekb/prime_l/v1/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Prime_L V1

![Prime_L V1](https://i.imgur.com/jUWhjOD.jpg)

A compact layout with the footprint of your typical 65% board, featuring a left mini-numpad. Pre-drilled and counter sunk holes for use with optional feet for a slight tilt. Switches are oriented so that back light LEDs are on the top of the switch.

* Keyboard Maintainer: [MxBlue](https://github.com/MxBlu)
* Hardware Supported: Prime_L V1 PCBs, ATmega32u4
* Hardware Availability: V1 PCB no longer produced

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

make primekb/prime_l/v1: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).
1 change: 1 addition & 0 deletions keyboards/primekb/prime_l/v1/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
BACKLIGHT_ENABLE = yes
33 changes: 33 additions & 0 deletions keyboards/primekb/prime_l/v1/v1.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/* Copyright 2018 Jumail Mundekkat
*
* 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 "prime_l.h"

#define LAYOUT( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215 , \
K300, K301, K302, K303, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
K400, K401, K402, K403, K405, K406, K407, K408, K410, K412, K413, K414, K415 \
) { \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO, K215 }, \
{ K300, K301, K302, K303, KC_NO, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
{ K400, K401, K402, K403, KC_NO, K405, K406, K407, K408, KC_NO, K410, KC_NO, K412, K413, K414, K415 } \
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x4024
#define DEVICE_VER 0x0001
#define MANUFACTURER PrimeKB
#define PRODUCT Prime_L_V2
#define DESCRIPTION Custom layout keyboard

#define DEVICE_VER 0x0002
#define PRODUCT Prime_L V2

/* key matrix size */
#define MATRIX_ROWS 5
Expand All @@ -34,15 +31,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Keyboard Matrix Assignments */
#define MATRIX_ROW_PINS { E6, B2, B1, B0, B6 }
#define MATRIX_COL_PINS { C6, C7, F7, F6, F5, F4, F1, F0, D4, D0, D1, D2, D3, D5, B7, B3 }
#define UNUSED_PINS

/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

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

/* 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
#define UNUSED_PINS
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Prime_L_V2
# Prime_L V2

![Prime_L_V2](https://i.imgur.com/P3P6GUu.jpg)
![Prime_L V2](https://i.imgur.com/P3P6GUu.jpg)

A compact layout with the footprint of your typical 65% board, featuring a left mini-numpad.

* Keyboard Maintainer: [HoltenC](https://github.com/HoltenC)
* Hardware Supported: Prime_L_V2 PCBs, ATMega32u4
* Hardware Supported: Prime_L V2 PCBs, ATmega32u4
* Hardware Availability: [Store Link](https://www.primekb.com)

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

make primekb/prime_l_v2:default
make primekb/prime_l/v2: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).
1 change: 1 addition & 0 deletions keyboards/primekb/prime_l/v2/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
BACKLIGHT_ENABLE = no
Loading

0 comments on commit 42d6270

Please sign in to comment.