New Pok3r Based Keymap (#3226)

* Create keymap.c

Modified the default to be way more like a pok3r, already clear that it needs a better ctrl location.

* Delete keymap.c

* Create keymap.c

Modified the default keymap to be more like a pok3r, clearly needs a better ctrl location and probably some other tweaks.

* Add files via upload

* Update keymap.c

Parenthesis correction.

* Parenthetical cleanup

Forgot one...

* Mods and numpad; cleanup

Rework mods and numpad layer, remove superfluous declarations

* comment define devlayer

* Create readme.md

Background and intention.

* Updated to fit example

* Update readme.md

* Update rules.mk

* Update config.h

* Updated includes

Replaced: 
#include "iris.h"
#include "action_layer.h"
#include "eeconfig.h"

With:
#include QMK_KEYBOARD_H

* Update rules.mk

Removed RGB enable declarations

* Update rules.mk

* Update keymap.c

Spaced out on MINS and EQL.

* Update rules.mk

Removed unnecessary block.

* Remove the RGB call

Make would fail because of the RGB call that wasn't anywhere but here, cleaned that up from the default config.

* Update keymap.c

Added [ and ] since I'd forgotten them originally...
This commit is contained in:
fordmr 2018-06-25 19:11:14 -05:00 committed by Drashna Jaelre
parent 52906ad4ba
commit fc975fc255
4 changed files with 190 additions and 0 deletions

View File

@ -0,0 +1,34 @@
/*
Copyright 2017 Danny Nguyen <danny@keeb.io>
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_USER_H
#define CONFIG_USER_H
#include "config_common.h"
/* Use I2C or Serial, not both */
#define USE_SERIAL
// #define USE_I2C
/* Select hand configuration */
#define MASTER_LEFT
// #define MASTER_RIGHT
// #define EE_HANDS
#endif

View File

@ -0,0 +1,145 @@
#include QMK_KEYBOARD_H
extern keymap_config_t keymap_config;
#define _QWERTY 0
#define _LOWER 1
#define _RAISE 2
#define _ADJUST 16
enum custom_keycodes {
QWERTY = SAFE_RANGE,
LOWER,
RAISE,
ADJUST,
};
#define KC_ KC_TRNS
#define _______ KC_TRNS
#define KC_LOWR LOWER
#define KC_RASE RAISE
#define KC_RST RESET
#define KC_DBUG DEBUG
//#define KC_DEV DEVLAYER
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_kc(
//,----+----+----+--+-+----+----. ,----+----+-+--+----+----+----.
ESC , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,BSPC,
//|----+----+----+----+----+----| |----+----+----+----+----+----|
TAB , Q , W , E , R , T , Y , U , I , O , P ,BSLS,
//|----+----+----+----+----+----| |----+----+----+----+----+----|
LOWR, A , S , D , F , G , H , J , K , L ,SCLN,QUOT,
//|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
LSFT, Z , X , C , V , B ,LGUI, RCMD, N , M ,COMM,DOT ,SLSH,RSFT,
//`----+----+----+--+-+----+----+----/ \----+----+----+-+--+----+----+----'
RCTL,ENT ,SPC , SPC ,RASE,RALT
// `----+----+----' `----+----+----'
),
[_LOWER] = LAYOUT_kc(
//,----+----+----+--+-+----+----. ,----+----+-+--+----+----+----.
GRV , , , , , , , , ,MINS,EQL ,DEL ,
//|----+----+----+----+----+----| |----+----+----+----+----+----|
, , , , , , ,PGDN, UP ,PGUP,LBRC,RBRC,
//|----+----+----+----+----+----| |----+----+----+----+----+----|
,VOLD,VOLU,MUTE, , , HOME,LEFT,DOWN,RGHT, , ,
//|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
LSFT, , , , , ,LGUI, RCMD,END , , , ,PSCR,RSFT,
//`----+----+----+--+-+----+----+----/ \----+----+----+-+--+----+----+----'
RCTL,ENT ,SPC , SPC , ,RALT
// `----+----+----' `----+----+----'
),
[_RAISE] = LAYOUT_kc(
//,----+----+----+--+-+----+----. ,----+----+-+--+----+----+----.
F12 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 ,
//|----+----+----+----+----+----| |----+----+----+----+----+----|
, , UP , , , , , P7 , P8 , P9 ,PSLS,PAST,
//|----+----+----+----+----+----| |----+----+----+----+----+----|
,LEFT,DOWN,RGHT, , , , P4 , P5 , P6 ,PMNS,PPLS,
//|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
, , , , , , , NLCK, , P1 , P2 , P3 ,PDOT,PENT,
//`----+----+----+--+-+----+----+----/ \----+----+----+-+--+----+----+----'
RCTL,ENT ,SPC , SPC , , P0
// `----+----+----' `----+----+----'
),
[_ADJUST] = LAYOUT_kc(
//,----+----+----+--+-+----+----. ,----+----+-+--+----+----+----.
, , , , ,RST , , , , , , ,
//|----+----+----+----+----+----| |----+----+----+----+----+----|
, , , , ,DBUG, , , , , , ,
//|----+----+----+----+----+----| |----+----+----+----+----+----|
, , , , , , , , , , , ,
//|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
, , , , , , , , , , , , , ,
//`----+----+----+--+-+----+----+----/ \----+----+----+-+--+----+----+----'
, , , , ,
// `----+----+----' `----+----+----'
)
/*
[_DEVLAYER] = LAYOUT_kc(
//,----+----+----+--+-+----+----. ,----+----+-+--+----+----+----.
, , , , , , , , , , , ,
//|----+----+----+----+----+----| |----+----+----+----+----+----|
, , , , , , , , , , , ,
//|----+----+----+----+----+----| |----+----+----+----+----+----|
, , , , , , , , , , , ,
//|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
, , , , , , , , , , , , , ,
//`----+----+----+--+-+----+----+----/ \----+----+----+-+--+----+----+----'
, , , , ,
// `----+----+----' `----+----+----'
)
*/
};
void persistent_default_layer_set(uint16_t default_layer) {
eeconfig_update_default_layer(default_layer);
default_layer_set(default_layer);
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
persistent_default_layer_set(1UL<<_QWERTY);
}
return false;
break;
case LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
case RAISE:
if (record->event.pressed) {
layer_on(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
} else {
layer_off(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
return false;
break;
case ADJUST:
if (record->event.pressed) {
layer_on(_ADJUST);
} else {
layer_off(_ADJUST);
}
return false;
break;
}
return true;
}

View File

@ -0,0 +1,9 @@
# Pok3r Based iris Keymap
Pok3r was what got me into mechanical keyboards years ago and what has been my daily driver since, WhiteFox and the like being always on the periphery. As such, those keybinds are what is most natural and notably not in the default keymap configuration.
Make example for this keymap (after setting up your build environment):
make iris/rev2:s1carii:avrdude
See [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.

View File

@ -0,0 +1,2 @@
RGBLIGHT_ENABLE = no
BACKLIGHT_ENABLE= no