summaryrefslogtreecommitdiffstats
path: root/keyboards/gh60/satan/keymaps/ben_iso
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/gh60/satan/keymaps/ben_iso')
-rw-r--r--keyboards/gh60/satan/keymaps/ben_iso/config.h58
-rw-r--r--keyboards/gh60/satan/keymaps/ben_iso/keymap.c127
-rw-r--r--keyboards/gh60/satan/keymaps/ben_iso/readme.md12
-rw-r--r--keyboards/gh60/satan/keymaps/ben_iso/rules.mk18
4 files changed, 215 insertions, 0 deletions
diff --git a/keyboards/gh60/satan/keymaps/ben_iso/config.h b/keyboards/gh60/satan/keymaps/ben_iso/config.h
new file mode 100644
index 0000000000..84d55698c5
--- /dev/null
+++ b/keyboards/gh60/satan/keymaps/ben_iso/config.h
@@ -0,0 +1,58 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+
+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_BEN
+#define CONFIG_H_BEN
+
+#include "config_common.h"
+#include "../../config.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x6060
+#define DEVICE_VER 0x0003
+#define MANUFACTURER SATAN
+#define PRODUCT GH60
+#define DESCRIPTION QMK keyboard firmware for Satan GH60 with WS2812 support
+
+/*MOUSE CONFIG OPTIONS */
+
+#define MOUSEKEY_INTERVAL 20
+#define MOUSEKEY_DELAY 0
+#define MOUSEKEY_TIME_TO_MAX 45
+#define MOUSEKEY_MAX_SPEED 3
+#define MOUSEKEY_WHEEL_DELAY 0
+
+/*
+ * 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
+
+#endif
diff --git a/keyboards/gh60/satan/keymaps/ben_iso/keymap.c b/keyboards/gh60/satan/keymaps/ben_iso/keymap.c
new file mode 100644
index 0000000000..5dfb2ae703
--- /dev/null
+++ b/keyboards/gh60/satan/keymaps/ben_iso/keymap.c
@@ -0,0 +1,127 @@
+#include QMK_KEYBOARD_H
+
+
+#define BASE 0 // Default layer
+#define SPACE 1 // Space layer
+#define NUMPAD 2 // Alt layer
+#define CAPS 3 // Caps layer
+#define FN1 4 // Generic function layer
+
+#define MAC0 M(0) //
+#define MAC1 M(1) //
+#define MAC2 M(2) //
+#define MAC3 M(3) //
+#define MAC4 M(4) //
+#define MAC5 M(5) //
+#define MAC6 M(6) //
+#define MAC7 M(7) //
+#define MAC8 M(8) //
+#define MAC9 M(9) //
+#define GRAV KC_GRV //
+#define MEDI F(FNO1)//
+
+// General shortenings
+#define ESCA KC_ESC
+#define MINS KC_MINS
+#define EQUL KC_EQL
+#define BSPC KC_BSPC
+#define DELE KC_DEL
+#define LBRC KC_LBRC
+#define RBRC KC_RBRC
+#define ALTR KC_RALT
+#define SCLN KC_SCLN
+#define QUOT KC_QUOT
+#define NUHS KC_NUHS
+#define ENTE KC_ENT
+#define NUBS KC_NUBS // Less/ greater sign
+#define COMM KC_COMM // Comma
+#define FSTO KC_DOT // Full stop
+#define SLSH KC_SLSH
+#define ALTL KC_LALT
+#define GUIL KC_LGUI
+#define GUIR KC_RGUI
+#define MENO KC_MENU
+
+// Special Actions and Media Keys
+#define INSE KC_INS // Insert here
+#define HOME KC_HOME // Go to beginning of line
+#define ENDI KC_END // go to end of line
+#define PSCR KC_PSCR // Print Screen
+#define SLCK KC_SLCK // go to end of line
+#define PGDN KC_PGDN // go to end of line
+#define PGUP KC_PGUP // go to end of line
+#define PLPS KC_MPLY // Play/Pause
+#define PAUS KC_PAUS // Pause button
+#define MUTE KC_MUTE // Mute sound
+#define VOLU KC_VOLU // Volume increase
+#define VOLD KC_VOLD // Volume decrease
+#define MNXT KC_MNXT // next track
+#define MPRV KC_MPRV // prev track
+#define MSTP KC_MSTP // stop playing
+#define MSEL KC_MSEL // Select media (Start playing it)
+#define MAIL KC_MAIL // Open default mail app
+#define CALC KC_CALC // Open default calculator app
+#define MYCM KC_MYCM // Open default file manager
+
+// increase readability
+#define XXXXX KC_NO
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /* Keymap BASE: (Base Layer) Default Layer
+ * ,-----------------------------------------------------------.
+ * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
+ * |-----------------------------------------------------------|
+ * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| R |
+ * |-----------------------------------------------------------|
+ * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| # | R |
+ * |-----------------------------------------------------------|
+ * |Shft| \ | Z| X| C| V| B| N| M| ,| .| /|Shift |
+ * |-----------------------------------------------------------|
+ * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl |
+ * `-----------------------------------------------------------|
+ */
+
+ [BASE] = LAYOUT_60_iso(
+ 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_BSPC,
+ 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,
+ OSL(CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
+ KC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
+ KC_LCTL, KC_LGUI, KC_LALT, LT(SPACE, KC_SPC), KC_RALT, OSL(FN1), TG(NUMPAD), KC_RCTL
+ ),
+
+ [SPACE] = LAYOUT_60_iso(
+ KC_GRAVE, 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_DEL,
+ _______, _______, _______, _______, MAIL, _______, _______, HOME, KC_UP, PSCR, SLCK, PAUS, PGUP,
+ _______, _______, _______, PGUP, PGDN, _______, LALT(KC_F4), KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______,
+ _______, _______, _______, _______, CALC, _______, _______, _______, MUTE, VOLD, VOLU, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [NUMPAD] = LAYOUT_60_iso( //Numpad and alt shortcuts
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [CAPS] = LAYOUT_60_iso( //Mostly mouse layer with option for caps too
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, _______, KC_MS_U, _______, _______, _______, _______,
+ _______, KC_CAPS, _______, _______, KC_MS_BTN1, KC_MS_BTN2, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [FN1] = LAYOUT_60_iso( //Functions/settings
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_INC, BL_DEC, BL_TOGG, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+};
+
+
diff --git a/keyboards/gh60/satan/keymaps/ben_iso/readme.md b/keyboards/gh60/satan/keymaps/ben_iso/readme.md
new file mode 100644
index 0000000000..74b7680b2f
--- /dev/null
+++ b/keyboards/gh60/satan/keymaps/ben_iso/readme.md
@@ -0,0 +1,12 @@
+# UK ISO layout for the Satan GH60
+## By Ben James
+-----
+This layout has a few unique features including:
+* Spacebar activates special features when held:
+ * Arrow keys directly under right hand
+ * Volume control
+ * Fn keys on number row
+ * PageUp/PageDn/Home/other general buttons
+* Mouse control when CAPS is held. Right hand controls mouse direction, left hand controls speed and mouse buttons.
+* Space cadet style brackets when left/right shift are tapped
+
diff --git a/keyboards/gh60/satan/keymaps/ben_iso/rules.mk b/keyboards/gh60/satan/keymaps/ben_iso/rules.mk
new file mode 100644
index 0000000000..53644093d6
--- /dev/null
+++ b/keyboards/gh60/satan/keymaps/ben_iso/rules.mk
@@ -0,0 +1,18 @@
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+