aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/primekb/prime_l
diff options
context:
space:
mode:
authorGravatar holtenc <holtenc@gmail.com>2020-02-19 13:12:11 -0600
committerGravatar GitHub <noreply@github.com>2020-02-19 11:12:11 -0800
commit42d6270f28831e95d1cb9c14a7423d5b1d864d67 (patch)
tree9441d287e4a0f28eaeb4581e5c7fe22c23498201 /keyboards/primekb/prime_l
parent19c91414739191158fa0ecdb29f06a99e49f55dc (diff)
downloadqmk_firmware-42d6270f28831e95d1cb9c14a7423d5b1d864d67.tar.gz
Merge /prime_l and /prime_l_v2 (#8194)
* 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
Diffstat (limited to 'keyboards/primekb/prime_l')
-rw-r--r--keyboards/primekb/prime_l/config.h12
-rw-r--r--keyboards/primekb/prime_l/keymaps/default/config.h19
-rw-r--r--keyboards/primekb/prime_l/keymaps/default/keymap.c40
-rw-r--r--keyboards/primekb/prime_l/prime_l.c30
-rw-r--r--keyboards/primekb/prime_l/prime_l.h23
-rw-r--r--keyboards/primekb/prime_l/readme.md14
-rw-r--r--keyboards/primekb/prime_l/rules.mk12
-rw-r--r--keyboards/primekb/prime_l/v1/config.h34
-rw-r--r--keyboards/primekb/prime_l/v1/info.json12
-rw-r--r--keyboards/primekb/prime_l/v1/readme.md15
-rw-r--r--keyboards/primekb/prime_l/v1/rules.mk1
-rw-r--r--keyboards/primekb/prime_l/v1/v1.h33
-rw-r--r--keyboards/primekb/prime_l/v2/config.h34
-rw-r--r--keyboards/primekb/prime_l/v2/info.json16
-rw-r--r--keyboards/primekb/prime_l/v2/readme.md15
-rw-r--r--keyboards/primekb/prime_l/v2/rules.mk1
-rw-r--r--keyboards/primekb/prime_l/v2/v2.h33
17 files changed, 218 insertions, 126 deletions
diff --git a/keyboards/primekb/prime_l/config.h b/keyboards/primekb/prime_l/config.h
index 786ceb59c..33048ef50 100644
--- a/keyboards/primekb/prime_l/config.h
+++ b/keyboards/primekb/prime_l/config.h
@@ -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
@@ -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
diff --git a/keyboards/primekb/prime_l/keymaps/default/config.h b/keyboards/primekb/prime_l/keymaps/default/config.h
deleted file mode 100644
index 95917a65c..000000000
--- a/keyboards/primekb/prime_l/keymaps/default/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* 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
-
-// place overrides here
diff --git a/keyboards/primekb/prime_l/keymaps/default/keymap.c b/keyboards/primekb/prime_l/keymaps/default/keymap.c
index 8a044b955..dbaf52245 100644
--- a/keyboards/primekb/prime_l/keymaps/default/keymap.c
+++ b/keyboards/primekb/prime_l/keymaps/default/keymap.c
@@ -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,
@@ -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) {
-
-}
diff --git a/keyboards/primekb/prime_l/prime_l.c b/keyboards/primekb/prime_l/prime_l.c
index 844407a10..5a7a0a100 100644
--- a/keyboards/primekb/prime_l/prime_l.c
+++ b/keyboards/primekb/prime_l/prime_l.c
@@ -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
@@ -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" \ No newline at end of file
diff --git a/keyboards/primekb/prime_l/prime_l.h b/keyboards/primekb/prime_l/prime_l.h
index b50898b28..10b587b6a 100644
--- a/keyboards/primekb/prime_l/prime_l.h
+++ b/keyboards/primekb/prime_l/prime_l.h
@@ -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
@@ -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
diff --git a/keyboards/primekb/prime_l/readme.md b/keyboards/primekb/prime_l/readme.md
index 3f760a4cc..fb04e1d39 100644
--- a/keyboards/primekb/prime_l/readme.md
+++ b/keyboards/primekb/prime_l/readme.md
@@ -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).
diff --git a/keyboards/primekb/prime_l/rules.mk b/keyboards/primekb/prime_l/rules.mk
index f6979a626..3030b50f0 100644
--- a/keyboards/primekb/prime_l/rules.mk
+++ b/keyboards/primekb/prime_l/rules.mk
@@ -14,16 +14,16 @@ 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
@@ -31,3 +31,5 @@ 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 \ No newline at end of file
diff --git a/keyboards/primekb/prime_l/v1/config.h b/keyboards/primekb/prime_l/v1/config.h
new file mode 100644
index 000000000..b9ca56364
--- /dev/null
+++ b/keyboards/primekb/prime_l/v1/config.h
@@ -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 \ No newline at end of file
diff --git a/keyboards/primekb/prime_l/v1/info.json b/keyboards/primekb/prime_l/v1/info.json
new file mode 100644
index 000000000..8a407fd3e
--- /dev/null
+++ b/keyboards/primekb/prime_l/v1/info.json
@@ -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}]
+ }
+ }
+}
diff --git a/keyboards/primekb/prime_l/v1/readme.md b/keyboards/primekb/prime_l/v1/readme.md
new file mode 100644
index 000000000..665ad09a0
--- /dev/null
+++ b/keyboards/primekb/prime_l/v1/readme.md
@@ -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).
diff --git a/keyboards/primekb/prime_l/v1/rules.mk b/keyboards/primekb/prime_l/v1/rules.mk
new file mode 100644
index 000000000..54a2685bf
--- /dev/null
+++ b/keyboards/primekb/prime_l/v1/rules.mk
@@ -0,0 +1 @@
+BACKLIGHT_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/primekb/prime_l/v1/v1.h b/keyboards/primekb/prime_l/v1/v1.h
new file mode 100644
index 000000000..bb82bacf5
--- /dev/null
+++ b/keyboards/primekb/prime_l/v1/v1.h
@@ -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 } \
+}
diff --git a/keyboards/primekb/prime_l/v2/config.h b/keyboards/primekb/prime_l/v2/config.h
new file mode 100644
index 000000000..9a3a05d72
--- /dev/null
+++ b/keyboards/primekb/prime_l/v2/config.h
@@ -0,0 +1,34 @@
+/*
+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 0x0002
+#define PRODUCT Prime_L V2
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+
+/* 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 \ No newline at end of file
diff --git a/keyboards/primekb/prime_l/v2/info.json b/keyboards/primekb/prime_l/v2/info.json
new file mode 100644
index 000000000..524c6ef18
--- /dev/null
+++ b/keyboards/primekb/prime_l/v2/info.json
@@ -0,0 +1,16 @@
+{
+ "keyboard_name": "Prime_L V2",
+ "url": "https://www.primekb.com",
+ "maintainer": "HoltenC",
+ "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, "w":1.25}, {"x":7.75, "y":4, "w":1.75}, {"x":9.5, "y":4, "w":1.75}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.25}, {"x":14.75, "y":4, "w":1.25}]
+ }
+ }
+}
diff --git a/keyboards/primekb/prime_l/v2/readme.md b/keyboards/primekb/prime_l/v2/readme.md
new file mode 100644
index 000000000..d72c17dc1
--- /dev/null
+++ b/keyboards/primekb/prime_l/v2/readme.md
@@ -0,0 +1,15 @@
+# Prime_L V2
+
+![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 Availability: [Store Link](https://www.primekb.com)
+
+Make example for this keyboard (after setting up your build environment):
+
+ 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).
diff --git a/keyboards/primekb/prime_l/v2/rules.mk b/keyboards/primekb/prime_l/v2/rules.mk
new file mode 100644
index 000000000..f84561674
--- /dev/null
+++ b/keyboards/primekb/prime_l/v2/rules.mk
@@ -0,0 +1 @@
+BACKLIGHT_ENABLE = no \ No newline at end of file
diff --git a/keyboards/primekb/prime_l/v2/v2.h b/keyboards/primekb/prime_l/v2/v2.h
new file mode 100644
index 000000000..ebac56e76
--- /dev/null
+++ b/keyboards/primekb/prime_l/v2/v2.h
@@ -0,0 +1,33 @@
+/* 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 "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, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K314, K315 }, \
+ { K400, K401, K402, K403, K405, K406, K407, K408, KC_NO, K410, KC_NO, K412, K413, KC_NO, K414, K415 } \
+}