Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zeal60/Zeal65/M60-A implementation #3879

Merged
merged 103 commits into from
Sep 13, 2018
Merged
Show file tree
Hide file tree
Changes from 102 commits
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
bf71342
Initial version of zeal60
Nov 23, 2016
ce9020e
Merge branch 'master' into zeal60
Dec 19, 2016
48900f8
WIP
Dec 19, 2016
c575951
Fixes issue #900
Dec 19, 2016
a71661b
Merge branch 'master' into zeal60
Dec 19, 2016
3f68fd1
Merge branch 'master' into zeal60
Dec 20, 2016
b0021be
Adding RGB underglow functionality.
tusing Dec 29, 2016
3a5860c
Refactor RPC protocol
Dec 29, 2016
79ae4c6
Merge branch 'master' into zeal60
Dec 29, 2016
2ca3fe2
Merge branch 'master' into zeal60
Dec 29, 2016
d662a30
Fix last merge
Dec 29, 2016
1a543e0
Fix merge
Dec 29, 2016
0174c34
Merge branch 'zeal60' of https://github.com/Wilba6582/qmk_firmware in…
tusing Dec 29, 2016
7f75c6c
README for RGB underglow updated.
tusing Dec 29, 2016
1bcaca0
Additional README changes.
tusing Dec 29, 2016
a45d11b
Adding RGBW strip software-based current-limiting functionality.
tusing Dec 29, 2016
7b8d366
RGBW current-limiting functionality should be handled by RGBSTRIP_MAX…
tusing Dec 29, 2016
5bb0b48
Updated README to reflect implementation of built-in current limiting.
tusing Dec 29, 2016
eb02a3b
Keymap readability improvements.
tusing Dec 29, 2016
e27a6a8
Minor keymap improvements.
tusing Dec 29, 2016
bf73848
Merge branch 'master' into zeal60
Dec 30, 2016
3e07051
Merge branch 'master' into zeal60
Dec 31, 2016
f75d0e6
Resolved merge conflict
tusing Jan 2, 2017
a4bc8dc
Fixed LED driver init sequence, formatting
Jan 3, 2017
cf3409d
Dimming implementation tested, working.
tusing Jan 5, 2017
ecfd716
Stab LEDs synced with spacebar hits in effects.
Jan 5, 2017
f4cc965
RGB underglow tested and functional. Simplified README for RGB underg…
tusing Jan 5, 2017
a0f1759
Undid accidental file deletion from previous merge conflict. Safer va…
tusing Jan 5, 2017
d0bff09
Merge branch 'master' into zeal60
Jan 5, 2017
9da7a92
Merge branch 'pr/1' into zeal60
Jan 5, 2017
bbb96e4
Improved arrow key positions in keymap.
tusing Jan 6, 2017
79f35ca
Merge branch 'zeal60' of https://github.com/Wilba6582/qmk_firmware in…
tusing Jan 6, 2017
d8bfe26
Merge branch 'master' into zeal60
Jan 7, 2017
c5be7fd
Added functionality to correct uneven RGB underglow. Refactored relat…
tusing Jan 7, 2017
1a87e4c
Merge branch 'zeal60' of https://github.com/Wilba6582/qmk_firmware in…
tusing Jan 7, 2017
490433d
Reverted to safer values for underglow.
tusing Jan 7, 2017
36b4cc1
Changes for v0.3
Jan 9, 2017
f21a091
Merge branch 'master' into zeal60
Jan 9, 2017
53c3903
Merge branch 'zeal60' of https://github.com/Wilba6582/qmk_firmware in…
tusing Jan 11, 2017
4f32bcb
Custom LED brightness scaling will take place after current adjustmen…
tusing Jan 18, 2017
350f1c9
Create keymap.c
ryanmaclean Jan 20, 2017
340219d
Create config.h
ryanmaclean Jan 20, 2017
1e10073
Fixed bug where left spacebar stabilizer LED (LC06) would adopt color…
tusing Jan 23, 2017
47cffec
Added hhkb_wilba keymap
Jan 24, 2017
f10009a
Update keymap.c
ryanmaclean Jan 24, 2017
9c51c80
Update keymap.c
ryanmaclean Jan 24, 2017
8bd3c09
Update keymap.c
ryanmaclean Jan 24, 2017
41ce152
Added indicators, full param setting via host
Jan 25, 2017
cd3469d
Merge pull request #2 from tusing/zeal60
Jan 25, 2017
90ba791
Merge pull request #3 from ryanmaclean/zeal60
Jan 25, 2017
277b987
Merge branch 'master' into zeal60
Jan 25, 2017
a854011
Merge branch 'zeal60' of https://github.com/Wilba6582/qmk_firmware in…
Jan 25, 2017
9762cac
Added "mousekey" layout
Jan 26, 2017
1896525
Added Zeal65 support, factory test mode
Apr 13, 2017
c8b4d49
Merge branch 'master' into zeal60
Apr 13, 2017
f7f957c
Keycode safe range changed, caused bugs
Apr 13, 2017
c22dbf3
Bumped EEPROM version due to change in QMK keycodes
Apr 14, 2017
e0cb4ae
Disable HHKB "blocked" LEDs if KC_NO in keymap
Aug 19, 2017
d556666
Merge branch 'master' into zeal60
Aug 19, 2017
80c7926
Added "disable_hhkb_blocker_leds"
Aug 19, 2017
959746e
Required overridden function for keymaps in EEPROM
Aug 19, 2017
681f870
Merge branch 'fix1' into zeal60
Aug 19, 2017
0220134
Added polar coordinate mapping, effect speed
Sep 2, 2017
279980e
Merge branch 'master' into zeal60
Sep 2, 2017
cc05713
Force Raw HID interface number to 1 always
Sep 2, 2017
cb74b38
Merge branch 'master' into zeal60
Sep 7, 2017
9f967e4
Fixed last merge from master
Sep 7, 2017
fe07413
Added effect speed to default keymaps
Sep 7, 2017
a8c30c9
add BACKLIGHT_ prefix to vars
domoaligato Sep 8, 2017
3c319a7
Merge pull request #6 from domoaligato/zeal60
Sep 8, 2017
2ec33dd
add BACKLIGHT_ prefix to vars
Sep 8, 2017
a23b63e
Keymap speed effect; keymap improvements/fixes
tusing Oct 5, 2017
3089fd2
Merge remote-tracking branch 'upstream/master' into zeal60
wilba Mar 24, 2018
50e72f0
Merge branch 'master' into zeal60
May 12, 2018
701a450
Merge branch 'master' into zeal60
May 20, 2018
e7b5b86
Refactored to use common IS31FL3731/I2C drivers
May 20, 2018
81c1e31
Fixed make rules, backlight disabled feature
May 21, 2018
077bb41
Make split rightshift default for Zeal65
Jul 11, 2018
534037e
Added M60-A as a "version" of Zeal60.
Aug 18, 2018
e45d71d
Merge branch 'master' into zeal60
Aug 27, 2018
8891f42
Renamed IS31FL3731 driver functions
Sep 8, 2018
a3f7288
Fix suspend_wakeup_init_kb() being defined twice
Sep 8, 2018
39d2e70
First pass refactor dynamic keymaps
Sep 8, 2018
c8acc66
Merge branch 'master' into zeal60
Sep 8, 2018
74c8a05
Updated to changed I2C and ISSI drivers
Sep 8, 2018
8bd142c
Refactor zeal_color.* usage to quantum/color.*
Sep 8, 2018
ef100b6
Updated Zeal65, fixed dynamic_keymap
Sep 8, 2018
404db53
Major refactoring of Zeal60 backlight and API
Sep 8, 2018
fe876a3
Lots of little cleanups
Sep 8, 2018
2f9797c
Added readme.md
Sep 8, 2018
a82ba76
Added readme.md
Sep 8, 2018
524212d
Added LAYOUT_60*() macros, refactored and cleaned up default keymaps
Sep 8, 2018
a096e97
Merge branch 'zeal60' into zeal60
Sep 9, 2018
6ed9a44
Merge pull request #9 from tusing/zeal60
Sep 9, 2018
6cd5867
Fix compile error in suspend.c
Sep 9, 2018
c78d0dd
Added Zeal65 LAYOUT macros, info.json
Sep 9, 2018
85e6775
Added rama/m60_a, deleted zeal60/keymaps/m60_a
Sep 9, 2018
d8dea59
Fixed rama/m60_a/keymaps/proto
Sep 9, 2018
3426b29
Fixed compilation error for suspend.c
Sep 9, 2018
ebe55af
Requested changes for PR
Sep 9, 2018
5f29769
Fixed readme.md images
Sep 9, 2018
0693f36
Another readme.md fix
Sep 9, 2018
08959a4
Added drashna's requested changes
Sep 10, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions common_features.mk
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,11 @@ ifeq ($(strip $(HD44780_ENABLE)), yes)
OPT_DEFS += -DHD44780_ENABLE
endif

ifeq ($(strip $(DYNAMIC_KEYMAP_ENABLE)), yes)
OPT_DEFS += -DDYNAMIC_KEYMAP_ENABLE
SRC += $(QUANTUM_DIR)/dynamic_keymap.c
endif

QUANTUM_SRC:= \
$(QUANTUM_DIR)/quantum.c \
$(QUANTUM_DIR)/keymap_common.c \
Expand Down
131 changes: 131 additions & 0 deletions keyboards/rama/m60_a/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
/* Copyright 2017 Jason Williams (Wilba)
*
* 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/>.
*/
#ifndef CONFIG_H
#define CONFIG_H

#include "config_common.h"

// USB Device descriptor parameter
#define VENDOR_ID 0xFEED // This is same as Zeal60 for now
#define PRODUCT_ID 0x6060 // This is same as Zeal60 for now
#define DEVICE_VER 0x0001
#define MANUFACTURER RAMA.WORKS
#define PRODUCT RAMA M60-A
#define DESCRIPTION RAMA M60-A Keyboard



// key matrix size
#define MATRIX_ROWS 5
#define MATRIX_COLS 14

// Zeal60 PCB default pin-out
#define MATRIX_ROW_PINS { F0, F1, F4, F6, F7 }
#define MATRIX_COL_PINS { F5, D5, B1, B2, B3, D3, D2, C7, C6, B6, B5, B4, D7, D6 }
#define UNUSED_PINS

// IS31FL3731 driver
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 72

// COL2ROW or ROW2COL
#define DIODE_DIRECTION COL2ROW

// Set 0 if debouncing isn't needed
#define DEBOUNCING_DELAY 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

// key combination for command
#define IS_COMMAND() ( \
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
)

/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/

// disable debug print
//#define NO_DEBUG

// disable print
//#define NO_PRINT

// disable action features
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION

#define RGB_BACKLIGHT_ENABLED 1

// This conditionally compiles the backlight code for M60-A specifics
#define RGB_BACKLIGHT_M60_A

// enable/disable LEDs based on layout
// they aren't really used if RGB_BACKLIGHT_M60_A defined
#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 1
#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0
#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 1
#define RGB_BACKLIGHT_USE_7U_SPACEBAR 1
#define RGB_BACKLIGHT_USE_ISO_ENTER 0
#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 1

// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
#define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0

// disable backlight after timeout in minutes, 0 = no timeout
#define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 0

// the default effect (RGB test)
#define RGB_BACKLIGHT_EFFECT 255

// These define which keys in the matrix are alphas/mods
// Used for backlight effects so colors are different for
// alphas vs. mods
// Each value is for a row, bit 0 is column 0
// Alpha=0 Mod=1
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0000000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0010000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0011000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0011000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0011100000000111

#define DYNAMIC_KEYMAP_LAYER_COUNT 4

// EEPROM usage

// TODO: refactor with new user EEPROM code (coming soon)
#define EEPROM_MAGIC 0x451F
#define EEPROM_MAGIC_ADDR 32
// Bump this every time we change what we store
// This will automatically reset the EEPROM with defaults
// and avoid loading invalid data from the EEPROM
#define EEPROM_VERSION 0x07
#define EEPROM_VERSION_ADDR 34

// Backlight config starts after EEPROM version
#define RGB_BACKLIGHT_CONFIG_EEPROM_ADDR 35
// Dynamic keymap starts after backlight config (35+37)
#define DYNAMIC_KEYMAP_EEPROM_ADDR 72


#endif
13 changes: 13 additions & 0 deletions keyboards/rama/m60_a/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"keyboard_name": "M60-A",
"url": "",
"maintainer": "Wilba",
"bootloader": "DFU",
"width": 15,
"height": 5,
"layouts": {
"LAYOUT_60_hhkb": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"|", "x":13, "y":0}, {"label":"~", "x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Delete", "x":13.5, "y":1, "w":1.5}, {"label":"Control", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"Os", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Os", "x":12.5, "y":4}]
}
}
}
40 changes: 40 additions & 0 deletions keyboards/rama/m60_a/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// M60-A layout
#include QMK_KEYBOARD_H

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

// Default layer
[0] = LAYOUT_60_hhkb(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FN_MO13,
KC_LGUI, KC_LALT, KC_SPC, KC_RALT, FN_MO23),

// Fn1 Layer
[1] = LAYOUT_60_hhkb(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS,
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),

// Fn2 Layer
[2] = LAYOUT_60_hhkb(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),

// Fn3 Layer (zeal60 Configuration)
[3] = LAYOUT_60_hhkb(
KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ES_DEC, ES_INC, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),

};


10 changes: 10 additions & 0 deletions keyboards/rama/m60_a/keymaps/proto/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#ifndef CONFIG_USER_H
#define CONFIG_USER_H

#include "../../config.h"
wilba marked this conversation as resolved.
Show resolved Hide resolved

// This fixes the diodes mounted reversed (fab fail) on M60-A prototype
#undef DIODE_DIRECTION
#define DIODE_DIRECTION ROW2COL

#endif //CONFIG_USER_H
40 changes: 40 additions & 0 deletions keyboards/rama/m60_a/keymaps/proto/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// M60-A layout
#include QMK_KEYBOARD_H

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

// Default layer
[0] = LAYOUT_60_hhkb(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FN_MO13,
KC_LGUI, KC_LALT, KC_SPC, KC_RALT, FN_MO23),

// Fn1 Layer
[1] = LAYOUT_60_hhkb(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS,
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),

// Fn2 Layer
[2] = LAYOUT_60_hhkb(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),

// Fn3 Layer (zeal60 Configuration)
[3] = LAYOUT_60_hhkb(
KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ES_DEC, ES_INC, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),

};


20 changes: 20 additions & 0 deletions keyboards/rama/m60_a/m60_a.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/* Copyright 2017 Jason Williams (Wilba)
*
* 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/>.
*/
#include "config.h"
wilba marked this conversation as resolved.
Show resolved Hide resolved

#ifndef RGB_BACKLIGHT_M60_A
#error RGB_BACKLIGHT_M60_A not defined, you done goofed somehao, brah
#endif
39 changes: 39 additions & 0 deletions keyboards/rama/m60_a/m60_a.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/* Copyright 2017 Jason Williams (Wilba)
*
* 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/>.
*/
#ifndef M60_A_H
#define M60_A_H

#include "quantum.h"
#include "../../zeal60/rgb_backlight_keycodes.h"
#include "../../zeal60/zeal60_keycodes.h"

#define XXX KC_NO

#define LAYOUT_60_hhkb( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
K41, K42, K47, K4B, K4C \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
{ K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
{ XXX, K41, K42, XXX, XXX, XXX, XXX, K47, XXX, XXX, XXX, K4B, K4C, XXX } \
}

#endif // M60_A_H
15 changes: 15 additions & 0 deletions keyboards/rama/m60_a/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# RAMA M60-A

![RAMA M60-A](https://static1.squarespace.com/static/563c788ae4b099120ae219e2/t/5aafa6a20e2e7254480b21bf/1535873164793/RAMA-M60-A-03.688.jpg?format=1500w)

The M60-A represents the benchmark and equilibrium between function and design for us at Rama Works. The gently exaggerated design of the frame is not understated, but rather provocative. Inspiration and evolution from previous models are evident in the beautifully articulated design and the well defined aesthetic, the fingerprint of our 'Industrial Modern' designs. The M60-A offers a unique contender in the traditional 60% form factor. [More info at RAMA WORKS](https://rama.works/m60-a/)

Keyboard Maintainer: [Wilba6582](https://github.com/Wilba6582)
Hardware Supported: RAMA M60-A PCB
Hardware Availability: [RAMA WORKS Store](https://ramaworks.store/)

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

make rama/m60_a: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).
Loading