Crawlpad refactor (#4854)

* Crawlpad: delete kbfirmware JSON file

* Crawlpad: refactor

- config.h and crawlpad.h updated to use #pragma once method
- layout macro renamed from KEYMAP to LAYOUT_ortho_4x4
- default keymap now uses #include QMK_KEYBOARD_H
- deleted deprecated action_get_macro function
- cleanup rules.mk file
- add LAYOUTS = ortho_4x4 to rules.mk

* Crawlpad: Configurator support

* Crawlpad: readme update

- update image link to direct link
- fully update Docs link line
- delete reference to deleted kbfirmware JSON file
This commit is contained in:
noroadsleft 2019-01-16 09:08:12 -08:00 committed by MechMerlin
parent 57fbf072f1
commit 6630e4bb41
7 changed files with 68 additions and 46 deletions

View file

@ -1,5 +1,4 @@
#ifndef CONFIG_H #pragma once
#define CONFIG_H
#include "config_common.h" #include "config_common.h"
@ -46,4 +45,3 @@
#define RGBLED_NUM 3 #define RGBLED_NUM 3
#endif #endif
#endif

View file

@ -1,9 +1,8 @@
#ifndef KB_H #pragma once
#define KB_H
#include "quantum.h" #include "quantum.h"
#define KEYMAP( \ #define LAYOUT_ortho_4x4( \
K00, K01, K02, K03, \ K00, K01, K02, K03, \
K10, K11, K12, K13, \ K10, K11, K12, K13, \
K20, K21, K22, K23, \ K20, K21, K22, K23, \
@ -15,4 +14,3 @@
{ K30, K31, K32, K33 } \ { K30, K31, K32, K33 } \
} }
#endif

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,29 @@
{
"keyboard_name": "Crawlpad",
"url": "",
"maintainer": "colemarkham",
"width": 4,
"height": 4,
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
{"label":"7", "x":0, "y":0},
{"label":"8", "x":1, "y":0},
{"label":"9", "x":2, "y":0},
{"label":"+", "x":3, "y":0},
{"label":"4", "x":0, "y":1},
{"label":"5", "x":1, "y":1},
{"label":"6", "x":2, "y":1},
{"label":"-", "x":3, "y":1},
{"label":"1", "x":0, "y":2},
{"label":"2", "x":1, "y":2},
{"label":"3", "x":2, "y":2},
{"label":"*", "x":3, "y":2},
{"label":"Fn", "x":0, "y":3},
{"label":"0", "x":1, "y":3},
{"label":".", "x":2, "y":3},
{"label":"Enter", "x":3, "y":3}
]
}
}
}

View file

@ -1,4 +1,4 @@
#include "../../crawlpad.h" #include QMK_KEYBOARD_H
enum custom_keycodes { enum custom_keycodes {
BL1 = SAFE_RANGE, BL1 = SAFE_RANGE,
@ -11,17 +11,19 @@ const uint8_t LED_PINS[] = LED_ROW_PINS;
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KEYMAP( [0] = LAYOUT_ortho_4x4(
KC_P7, KC_P8, KC_P9, KC_PPLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
KC_P4, KC_P5, KC_P6, KC_PMNS, KC_P4, KC_P5, KC_P6, KC_PMNS,
KC_P1, KC_P2, KC_P3, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PAST,
MO(1), KC_P0, KC_PDOT, KC_ENT), MO(1), KC_P0, KC_PDOT, KC_ENT
),
KEYMAP( [1] = LAYOUT_ortho_4x4(
KC_NLCK, BL1, KC_TRNS, KC_PSLS, KC_NLCK, BL1, KC_TRNS, KC_PSLS,
RESET, BL2, KC_TRNS, KC_TRNS, RESET, BL2, KC_TRNS, KC_TRNS,
KC_TRNS, BL3, KC_TRNS, KC_TRNS, KC_TRNS, BL3, KC_TRNS, KC_TRNS,
KC_TRNS, BL4, KC_TRNS, KC_TRNS), KC_TRNS, BL4, KC_TRNS, KC_TRNS
),
}; };
@ -35,19 +37,6 @@ void set_led(int idx, bool enable) {
} }
} }
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
return MACRO_NONE ;
}
void matrix_init_user(void) {
/* set LED row pins to output and low */
DDRB |= (1 << 4) | (1 << 5) | (1 << 6) | (1 << 7);
PORTB &= ~(1 << 4) & ~(1 << 5) & ~(1 << 6) & ~(1 << 7);
}
void matrix_scan_user(void) {
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) { switch (keycode) {
case BL1: case BL1:
@ -82,6 +71,15 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true; return true;
} }
void matrix_init_user(void) {
/* set LED row pins to output and low */
DDRB |= (1 << 4) | (1 << 5) | (1 << 6) | (1 << 7);
PORTB &= ~(1 << 4) & ~(1 << 5) & ~(1 << 6) & ~(1 << 7);
}
void matrix_scan_user(void) {
}
void led_set_user(uint8_t usb_led) { void led_set_user(uint8_t usb_led) {
if (usb_led & (1 << USB_LED_NUM_LOCK)) { if (usb_led & (1 << USB_LED_NUM_LOCK)) {

View file

@ -1,6 +1,6 @@
# Crawlpad # Crawlpad
![Crawlpad](https://imgur.com/8BnztWo) ![Crawlpad](https://i.imgur.com/8BnztWo.jpg)
A 4x4 macropad/numpad, exclusively availabe at Keycrawl events. A 4x4 macropad/numpad, exclusively availabe at Keycrawl events.
@ -12,6 +12,4 @@ Make example for this keyboard (after setting up your build environment):
make crawlpad:default make crawlpad:default
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. 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).
For those that prefer a GUI tool, the crawlpad.json file in this repo can be used on [kbfirmware.com](http://kbfirmware.com).

View file

@ -44,13 +44,15 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
# Build Options # Build Options
# comment out to disable the options. # comment out to disable the options.
# #
BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000) BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE ?= no # Console for debug(+400) CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE ?= no # Commands for debug and configuration COMMAND_ENABLE = no # Commands for debug and configuration
SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE ?= no # [Crawlpad] Custom backlighting code is used, so this should not be enabled BACKLIGHT_ENABLE = no # [Crawlpad] Custom backlighting code is used, so this should not be enabled
AUDIO_ENABLE ?= no # [Crawlpad] This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below AUDIO_ENABLE = no # [Crawlpad] This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
RGBLIGHT_ENABLE ?= no # [Crawlpad] This can be enabled if a ws2812 strip is connected to the expansion port. RGBLIGHT_ENABLE = no # [Crawlpad] This can be enabled if a ws2812 strip is connected to the expansion port.
LAYOUTS = ortho_4x4