aboutsummaryrefslogtreecommitdiff
path: root/keyboards/6ball
diff options
context:
space:
mode:
authorDanny Nguyen <danny@keeb.io>2017-10-31 17:03:14 -0400
committerJack Humbert <jack.humb@gmail.com>2017-10-31 20:59:26 -0400
commitc9a0436422a8884fd8b5bd706ffc70020c3437be (patch)
tree2b3ec87b60f8a71062da8ea8b80b13d72b5b8c7a /keyboards/6ball
parentfca03e15b9f111e614738d9dcce09e03c49e9409 (diff)
downloadqmk_firmware-c9a0436422a8884fd8b5bd706ffc70020c3437be.tar.gz
qmk_firmware-c9a0436422a8884fd8b5bd706ffc70020c3437be.zip
Add 6-ball macropad
Diffstat (limited to 'keyboards/6ball')
-rw-r--r--keyboards/6ball/6ball.c5
-rw-r--r--keyboards/6ball/6ball.h16
-rw-r--r--keyboards/6ball/config.h53
-rw-r--r--keyboards/6ball/keymaps/default/keymap.c28
-rw-r--r--keyboards/6ball/keymaps/default/rules.mk3
-rw-r--r--keyboards/6ball/readme.md14
-rw-r--r--keyboards/6ball/rules.mk67
7 files changed, 186 insertions, 0 deletions
diff --git a/keyboards/6ball/6ball.c b/keyboards/6ball/6ball.c
new file mode 100644
index 000000000..5060a5db4
--- /dev/null
+++ b/keyboards/6ball/6ball.c
@@ -0,0 +1,5 @@
1#include "6ball.h"
2
3void matrix_init_kb(void) {
4 matrix_init_user();
5}
diff --git a/keyboards/6ball/6ball.h b/keyboards/6ball/6ball.h
new file mode 100644
index 000000000..34fcc4e6a
--- /dev/null
+++ b/keyboards/6ball/6ball.h
@@ -0,0 +1,16 @@
1#ifndef SIXBALL_H
2#define SIXBALL_H
3
4#include "quantum.h"
5
6#define KEYMAP( \
7 k01, k02, k03, \
8 k04, k05, k06 \
9) \
10{ \
11 { k02, k03, k06, k05, k04, k01 } \
12}
13
14#define KC_KEYMAP(k01, k02, k03, k04, k05, k06) KEYMAP(KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06)
15
16#endif
diff --git a/keyboards/6ball/config.h b/keyboards/6ball/config.h
new file mode 100644
index 000000000..19d24486c
--- /dev/null
+++ b/keyboards/6ball/config.h
@@ -0,0 +1,53 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#ifndef CONFIG_H
19#define CONFIG_H
20
21#include "config_common.h"
22
23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xCEEB
25#define PRODUCT_ID 0x0007
26#define DEVICE_VER 0x0001
27#define MANUFACTURER That-Canadian
28#define PRODUCT 6-Ball
29#define DESCRIPTION 6-Ball Macropuck
30
31/* key matrix size */
32#define MATRIX_ROWS 1
33#define MATRIX_COLS 6
34
35/* pin-out */
36#define MATRIX_ROW_PINS { F5 }
37#define MATRIX_COL_PINS { F4, D4, B5, B6, B2, F6 }
38#define UNUSED_PINS
39
40/* ws2812 RGB LED */
41#define RGB_DI_PIN F7
42#define RGBLIGHT_TIMER
43#define RGBLIGHT_ANIMATIONS
44#define RGBLED_NUM 6 // Number of LEDs
45#define ws2812_PORTREG PORTD
46#define ws2812_DDRREG DDRD
47
48/* COL2ROW or ROW2COL */
49#define DIODE_DIRECTION COL2ROW
50
51#define TAPPING_TERM 200
52
53#endif
diff --git a/keyboards/6ball/keymaps/default/keymap.c b/keyboards/6ball/keymaps/default/keymap.c
new file mode 100644
index 000000000..f93587ffc
--- /dev/null
+++ b/keyboards/6ball/keymaps/default/keymap.c
@@ -0,0 +1,28 @@
1#include "6ball.h"
2
3#define _MAIN 0
4#define _FN 1
5
6#define KC_ KC_TRNS
7
8#define KC_CAPW LGUI(LSFT(KC_3)) // Capture whole screen
9#define KC_CPYW LGUI(LSFT(LCTL(KC_3))) // Copy whole screen
10#define KC_CAPP LGUI(LSFT(KC_4)) // Capture portion of screen
11#define KC_CPYP LGUI(LSFT(LCTL(KC_4))) // Copy portion of screen
12#define KC_X0 LT(_FN, KC_ESC)
13#define KC_RTOG RGB_TOG
14#define KC_RMOD RGB_MOD
15#define KC_RHUI RGB_HUI
16#define KC_RHUD RGB_HUD
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [_MAIN] = KC_KEYMAP(
20 F , X0 ,LCTL,
21 R , D , M
22 ),
23
24 [_FN] = KC_KEYMAP(
25 F , ,RHUI,
26 RTOG,RMOD,RHUD
27 )
28};
diff --git a/keyboards/6ball/keymaps/default/rules.mk b/keyboards/6ball/keymaps/default/rules.mk
new file mode 100644
index 000000000..457a3d01d
--- /dev/null
+++ b/keyboards/6ball/keymaps/default/rules.mk
@@ -0,0 +1,3 @@
1ifndef QUANTUM_DIR
2 include ../../../../Makefile
3endif
diff --git a/keyboards/6ball/readme.md b/keyboards/6ball/readme.md
new file mode 100644
index 000000000..7316a9816
--- /dev/null
+++ b/keyboards/6ball/readme.md
@@ -0,0 +1,14 @@
16-Ball
2======
3
4A circular 6-key macropad made by ThatCanadian.
5
6Keyboard Maintainer: QMK Community
7Hardware Supported: Pro Micro ATmega32U4
8Hardware Availability: ThatCanadian
9
10Make example for this keyboard (after setting up your build environment):
11
12 make 6ball:default
13
14See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
diff --git a/keyboards/6ball/rules.mk b/keyboards/6ball/rules.mk
new file mode 100644
index 000000000..46f733b87
--- /dev/null
+++ b/keyboards/6ball/rules.mk
@@ -0,0 +1,67 @@
1# MCU name
2#MCU = at90usb1287
3MCU = atmega32u4
4
5# Processor frequency.
6# This will define a symbol, F_CPU, in all source code files equal to the
7# processor frequency in Hz. You can then use this symbol in your source code to
8# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
9# automatically to create a 32-bit value in your source code.
10#
11# This will be an integer division of F_USB below, as it is sourced by
12# F_USB after it has run through any CPU prescalers. Note that this value
13# does not *change* the processor frequency - it should merely be updated to
14# reflect the processor speed set externally so that the code can use accurate
15# software delays.
16F_CPU = 16000000
17
18#
19# LUFA specific
20#
21# Target architecture (see library "Board Types" documentation).
22ARCH = AVR8
23
24# Input clock frequency.
25# This will define a symbol, F_USB, in all source code files equal to the
26# input clock frequency (before any prescaling is performed) in Hz. This value may
27# differ from F_CPU if prescaling is used on the latter, and is required as the
28# raw input clock is fed directly to the PLL sections of the AVR for high speed
29# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
30# at the end, this will be done automatically to create a 32-bit value in your
31# source code.
32#
33# If no clock division is performed on the input clock inside the AVR (via the
34# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
35F_USB = $(F_CPU)
36
37# Interrupt driven control endpoint task(+60)
38OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
39
40
41# Boot Section Size in *bytes*
42# Teensy halfKay 512
43# Teensy++ halfKay 1024
44# Atmel DFU loader 4096
45# LUFA bootloader 4096
46# USBaspLoader 2048
47OPT_DEFS += -DBOOTLOADER_SIZE=4096
48
49# Build Options
50# change to "no" to disable the options, or define them in the Makefile in
51# the appropriate keymap folder that will get included automatically
52#
53BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
54MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
55EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
56CONSOLE_ENABLE = no # Console for debug(+400)
57COMMAND_ENABLE = no # Commands for debug and configuration
58NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
59BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
60MIDI_ENABLE = no # MIDI controls
61AUDIO_ENABLE = no # Audio output on port C6
62UNICODE_ENABLE = yes # Unicode
63BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
64RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
65
66# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
67SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend