~ruther/qmk_firmware

d14573620d3e964730af960aab3c05a5d061796f — Can Baytok 5 years ago 9ea9806
[Keyboard] Added Cans12er keyboard (#7455)

* added cans12er keyboard

* updated readme

Updated the readme to conform with the provided template from the qmk_firmware githubpage

* Update keyboards/cans12er/README.md

Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>

* Changed configuration

Changed the configuration based on the Change Request from PR #7455 made by github user noroadsleft
A keyboards/handwired/cans12er/README.md => keyboards/handwired/cans12er/README.md +18 -0
@@ 0,0 1,18 @@
# Cans12er
![Cans12er](https://i.imgur.com/ZsO6QSI.jpg)

A 12-key, orthogonal keypad designed by Can!

* Keyboard Maintainer: [Can](https://github.com/canbaytok)
* Hardware Supported: Pro Micro Atmega32u4
* Hardware Availability: DIY with the [open-source design files](https://github.com/canbaytok/Cans12er)

Schematic can be found here: [EasyEDA](https://easyeda.com/senordoenermann/mediapad)

Build Instructions can be found here: [canbaytok/Cans12er](https://github.com/canbaytok/Cans12er)

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

    make handwired/cans12er: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/handwired/cans12er/cans12er.c => keyboards/handwired/cans12er/cans12er.c +1 -0
@@ 0,0 1,1 @@
#include "cans12er.h"

A keyboards/handwired/cans12er/cans12er.h => keyboards/handwired/cans12er/cans12er.h +13 -0
@@ 0,0 1,13 @@
#pragma once

#include "quantum.h"

#define LAYOUT_ortho_3x4( \
	K00, K01, K02, K03, \
	K10, K11, K12, K13, \
	K20, K21, K22, K23  \
) { \
	{ K00,   K01,   K02,   K03 }, \
	{ K10,   K11,   K12,   K13 }, \
	{ K20,   K21,   K22,   K23 }  \
}

A keyboards/handwired/cans12er/config.h => keyboards/handwired/cans12er/config.h +38 -0
@@ 0,0 1,38 @@
#pragma once

#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID       0xFEED
#define PRODUCT_ID      0x6060
#define DEVICE_VER      0x0001
#define MANUFACTURER    Can
#define PRODUCT         cans12er
#define DESCRIPTION     a simple 3x4 keypad. every part can be manufactured at home

/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 4

/* key matrix pins */
#define MATRIX_ROW_PINS { F7, B1, B3 }
#define MATRIX_COL_PINS { D0, D4, C6, D7 }
#define UNUSED_PINS

/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION ROW2COL

/* number of backlight levels */

#ifdef BACKLIGHT_PIN
#define BACKLIGHT_LEVELS 0
#endif

/* Set 0 if debouncing isn't 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

A keyboards/handwired/cans12er/keymaps/default/keymap.c => keyboards/handwired/cans12er/keymaps/default/keymap.c +20 -0
@@ 0,0 1,20 @@
// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
// this is the style you want to emulate.

#include QMK_KEYBOARD_H

// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.

#define _KEYPAD 0

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

[_KEYPAD] = LAYOUT_ortho_3x4(
		KC_A, KC_B, KC_C, KC_D, 
		KC_E, KC_F, KC_G, KC_H, 
		KC_I, KC_J, KC_K, KC_L 
),
};

A keyboards/handwired/cans12er/rules.mk => keyboards/handwired/cans12er/rules.mk +32 -0
@@ 0,0 1,32 @@
# 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 = atmel-dfu

# Build Options
#   comment out to disable the options.
#
BOOTMAGIC_ENABLE = lite      # 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 = yes           # 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
\ No newline at end of file