[Keyboard] Add P40, P20 and P18 Keyboards by pabile (#8759)
* Add files via upload * removed * Add files via upload * Rename pabile40.c to p40.c * Rename pabile40.h to p40.h * Add files via upload * Update p40.c * Update p40.h * Update README.md * Update README.md * Update README.md * Update README.md * Updated readme file * Updated readme file * Add files via upload * modified: keyboards/pabile/p18/config.h modified: keyboards/pabile/p18/keymaps/default/keymap.c modified: keyboards/pabile/p18/p18.h modified: keyboards/pabile/p18/rules.mk modified: keyboards/pabile/p40/config.h modified: keyboards/pabile/p40/keymaps/default/keymap.c * config update * Delete README.md.save * Delete keymap.c.save * Delete keymaps.c * modified: keyboards/pabile/p18/keymaps/default/keymap.c * Update p18.h * testing layout config * Create info.json * Create info.json * Create readme.md * Update readme.md * Updated description * Updated description * Update config.h updated vendor ID to 0000 * Update keymap.c removed unnecessary comments * Update keyboards/pabile/p18/p18.h * Update keyboards/pabile/p18/p18.h * Update p18.h removed unnecessary comments * Update keyboards/pabile/p18/rules.mk * Update keyboards/pabile/p18/rules.mk * Update config.h updated vendor id and removed unnecessary comments * Update keyboards/pabile/p40/info.json * Update keyboards/pabile/p40/keymaps/default/keymap.c * Update keyboards/pabile/p40/p40.h * Update keyboards/pabile/p40/p40.h * Update keyboards/pabile/p40/p40.h * Update keyboards/pabile/p40/rules.mk * Update keyboards/pabile/p40/rules.mk * Added p20 macropad * Update README.md * Updated VID and PID * Updated VID and PID * Update rules.mk * Update config.h * Update config.h * Update config.h * Update keymap.c * Replaced blank keys with KC_NO * Update keyboards/pabile/p18/keymaps/default/keymap.c * Update keyboards/pabile/p18/p18.h * Update keyboards/pabile/p18/rules.mk * Update keyboards/pabile/p20/keymaps/default/keymap.c * Update keymap.c * Update keymap.c * Update keyboards/pabile/p20/rules.mk * Update keyboards/pabile/p40/info.json * Update keyboards/pabile/p20/p20.h * Updated product ID * Updated product ID * Update keyboards/pabile/p20/config.h * Update keyboards/pabile/p20/p20.h * Update keyboards/pabile/p20/p20.h * Update keyboards/pabile/p20/keymaps/default/keymap.c * Update keyboards/pabile/p18/readme.md * Update keyboards/pabile/p20/README.md * Update keyboards/pabile/p20/rules.mk * Update keyboards/pabile/p20/rules.mk * Update keyboards/pabile/p20/rules.mk * Update keyboards/pabile/p20/rules.mk * Update keyboards/pabile/p40/README.md * Update keyboards/pabile/p40/rules.mk * Update keyboards/pabile/p40/rules.mk * Update keyboards/pabile/p18/rules.mk * Update keyboards/pabile/p18/rules.mk * Update keyboards/pabile/p40/config.h * Update keyboards/pabile/p40/config.h * Update keyboards/pabile/p18/readme.md * Changed to lowercase filename * Rename README.md to readme.md * Update keyboards/pabile/p18/rules.mk
This commit is contained in:
26
keyboards/pabile/p20/config.h
Normal file
26
keyboards/pabile/p20/config.h
Normal file
@@ -0,0 +1,26 @@
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x6666
|
||||
#define PRODUCT_ID 0x6667
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Pabile
|
||||
#define PRODUCT P20
|
||||
#define DESCRIPTION 5x4 Macropad
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 4
|
||||
|
||||
/* pin-out */
|
||||
#define MATRIX_ROW_PINS { B3, B4, B5, D7, E6 }
|
||||
#define MATRIX_COL_PINS { D0, B2, D4, B6 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
#define ENCODERS_PAD_A { F5, F7 }
|
||||
#define ENCODERS_PAD_B { F6, B1 }
|
||||
|
||||
/* COL2ROW or ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
38
keyboards/pabile/p20/keymaps/default/keymap.c
Normal file
38
keyboards/pabile/p20/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,38 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_ortho_5x4(
|
||||
KC_PSLS, KC_PMNS, KC_PAST, KC_MPLY,
|
||||
KC_P7, KC_P8, KC_P9, KC_PMNS,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3, KC_TAB,
|
||||
LT(2,KC_P0), KC_PCMM, KC_PDOT, LT(1,KC_PENT)),
|
||||
[1] = LAYOUT_ortho_5x4(
|
||||
KC_NLCK, KC_UNDS, KC_NO, KC_NO,
|
||||
KC_AMPR, KC_ASTR, KC_LPRN, KC_EQL,
|
||||
KC_DLR, KC_PERC, KC_CIRC, KC_NO,
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_NO,
|
||||
KC_RPRN, KC_NO, KC_PSLS, KC_NO),
|
||||
[2] = LAYOUT_ortho_5x4(
|
||||
KC_NLCK, KC_NO, KC_NO, KC_NO,
|
||||
KC_BTN1, KC_MS_U, KC_BTN2, KC_NO,
|
||||
KC_MS_L, KC_MS_D, KC_MS_R, KC_TAB,
|
||||
KC_WH_U, KC_NO, KC_WH_D, KC_NO,
|
||||
KC_NO, KC_NO, KC_DEL, KC_ESC)
|
||||
};
|
||||
|
||||
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (index == 0) { /* First encoder */
|
||||
if (clockwise) {
|
||||
tap_code(KC_WH_U); /*mouse wheel up*/
|
||||
} else {
|
||||
tap_code(KC_WH_D); /*mouse wheel down */
|
||||
}
|
||||
} else if (index == 1) { /* Second encoder */
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLD); /*volume down*/
|
||||
} else {
|
||||
tap_code(KC_VOLU); /*volume up*/
|
||||
}
|
||||
}
|
||||
}
|
1
keyboards/pabile/p20/p20.c
Normal file
1
keyboards/pabile/p20/p20.c
Normal file
@@ -0,0 +1 @@
|
||||
#include "p20.h"
|
18
keyboards/pabile/p20/p20.h
Normal file
18
keyboards/pabile/p20/p20.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_ortho_5x4( \
|
||||
k00, k01, k02, k03, \
|
||||
k10, k11, k12, k13, \
|
||||
k20, k21, k22, k23, \
|
||||
k30, k31, k32, k33, \
|
||||
k40, k41, k42, k43 \
|
||||
) \
|
||||
{ \
|
||||
{k00, k01, k02, k03}, \
|
||||
{k10, k11, k12, k13}, \
|
||||
{k20, k21, k22, k23}, \
|
||||
{k30, k31, k32, k33}, \
|
||||
{k40, k41, k42, k43} \
|
||||
}
|
16
keyboards/pabile/p20/readme.md
Normal file
16
keyboards/pabile/p20/readme.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# P20
|
||||
|
||||

|
||||

|
||||
|
||||
A 5x4 grid keyboard with 2 rotary encoders.
|
||||
|
||||
* Keyboard Maintainer: [pabile](https://github.com/pabile)
|
||||
* Hardware Supported: Pabile P20 PCB, Pro Micro
|
||||
* Hardware Availability: [Info at pabileonline.blogspot.com](https://pabileonline.blogspot.com/search/label/pabile20)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make pabile/p20: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).
|
37
keyboards/pabile/p20/rules.mk
Normal file
37
keyboards/pabile/p20/rules.mk
Normal file
@@ -0,0 +1,37 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
# Teensy halfkay
|
||||
# Pro Micro caterina
|
||||
# Atmel DFU atmel-dfu
|
||||
# LUFA DFU lufa-dfu
|
||||
# QMK DFU qmk-dfu
|
||||
# ATmega32A bootloadHID
|
||||
# ATmega328P USBasp
|
||||
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 = no # Enable keyboard RGB underglow
|
||||
MIDI_ENABLE = no # MIDI support
|
||||
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
|
||||
UNICODE_ENABLE = yes # Unicode
|
||||
IOS_DEVICE_ENABLE = no # connect to IOS Device
|
||||
ENCODER_ENABLE = yes
|
||||
|
||||
LAYOUTS = ortho_5x4
|
Reference in New Issue
Block a user