summaryrefslogtreecommitdiff
path: root/keyboards/s60-x/keymaps/felix
diff options
context:
space:
mode:
authorFelix Uhl <felix.uhl@outlook.de>2016-08-14 00:41:09 +0200
committerFelix Uhl <felix.uhl@outlook.de>2016-08-14 00:41:09 +0200
commit911cc6832598ac9b637fdb11448354d418c197c4 (patch)
treea202d768e782f2a8edd8a4344203e0782bc6dcf2 /keyboards/s60-x/keymaps/felix
parent4725942dc71c2f386d8323865a6255f4dfd2785b (diff)
Added all original S60-X keymaps
All keymaps that were included in VinnyCordeiro's repository were ported to QMK. Main Readme was copied over from VC's repo, slightly altered. Main Makefile was updated to reflect VC's original configuration. Small changes in felix keymap.
Diffstat (limited to 'keyboards/s60-x/keymaps/felix')
-rw-r--r--keyboards/s60-x/keymaps/felix/keymap.c127
-rw-r--r--keyboards/s60-x/keymaps/felix/readme.md10
2 files changed, 112 insertions, 25 deletions
diff --git a/keyboards/s60-x/keymaps/felix/keymap.c b/keyboards/s60-x/keymaps/felix/keymap.c
index 7fc0e021c9..9c620527b0 100644
--- a/keyboards/s60-x/keymaps/felix/keymap.c
+++ b/keyboards/s60-x/keymaps/felix/keymap.c
@@ -16,26 +16,52 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "s60-x.h"
+//make keymap a little easier to read
+#define _______ KC_TRNS
+#define XXXXXXX KC_NO
+
+enum layer_names {
+ DEFAULT,
+ GAMING,
+ FUNCTION
+};
+
+enum languages {
+ GERMAN
+};
+
+#define LANGUAGE GERMAN
+
+enum custom_keycodes {
+ KC_C_AM = SAFE_RANGE,
+ KC_C_EM,
+ KC_C_IM,
+ KC_C_OM,
+ KC_C_UM,
+ KC_C_SM,
+ KC_C_YM,
+ KC_C_WM
+};
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Layout 0: Default Layer
- * RSFT will be replaced once a better way to control magic is found.
* ,-----------------------------------------------------------.
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \|Del|
* |-----------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|BckSp|
+ * |Tab | Q| W| E| R| T| Z| U| I| O| P| [| ]|BckSp|
* |-----------------------------------------------------------|
* |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return |
* |-----------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /| Up |RSft|
+ * |Shift | Y| X| C| V| B| N| M| ,| .| /| Up |RSft|
* |-----------------------------------------------------------|
- * |Fn2 |Gui |Alt | SpaceFn |Alt |Left|Down|Right|
+ * |Fn2 |Gui |Alt | SpaceFn |Alt |Left|Down|Right|
* `-----------------------------------------------------------'
*/
- KEYMAP(
+ [DEFAULT] = KEYMAP(
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, 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_NUHS, KC_ENT, \
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_UP, KC_RSFT, \
+ KC_LSFT, KC_NUBS, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_UP, KC_RSFT, \
KC_FN2, KC_LGUI, KC_LALT, KC_FN0, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
/* Layout 1: Gaming Layer, SpaceFn disabled
@@ -51,32 +77,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | NOP| | Space | | | | |
* `-----------------------------------------------------------'
*/
- KEYMAP(
- 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_FN1, \
- KC_TRNS, KC_NO, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+ [GAMING] = KEYMAP(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_FN1, \
+ _______, XXXXXXX, _______, KC_SPC, _______, _______, _______, _______),
/* Layout 2: Function Layer
* ,-----------------------------------------------------------.
- * |` | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |RES|
+ * |` | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|RES|
* |-----------------------------------------------------------|
- * | |Prv|Ply|Nxt|Stp| | |PUp|Up |PDn| |Slk|Pau|Ins |
+ * | | | | |Prv|Ply|Nxt| Ü | | Ö | |Prt|Slk|Pau |
* |-----------------------------------------------------------|
- * | |Vl-|Mut|Vl+| | |Hom|Lef|Dow|Rig|End| |PEnt |
+ * | | Ä | ß | |Vl-|Mut|Vl+| | | | | |PEnt |
* |-----------------------------------------------------------|
- * | |Prt| | | |Cal| | | | |Pau |PUp |Fn1 |
+ * | | | | | |Cal| | | | |Pau |PUp |Fn1 |
* |-----------------------------------------------------------|
* | | | | | |Home|PDn |End |
* `-----------------------------------------------------------'
*/
- KEYMAP(
- 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, DEBUG, RESET, \
- KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_TRNS, KC_SLCK, KC_PAUS, KC_INS, \
- KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_TRNS, KC_TRNS, KC_PENT, \
- KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_PGUP, KC_FN1, \
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END),
+ [FUNCTION] = KEYMAP(
+ 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, RESET, \
+ _______, _______, KC_C_WM, KC_C_EM, KC_MPRV, KC_MPLY, KC_MNXT, KC_C_UM, KC_C_IM, KC_C_OM, _______, KC_PSCR, KC_SLCK, KC_PAUS, \
+ _______, KC_C_AM, KC_C_SM, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, _______, _______, KC_PENT, \
+ _______, KC_C_YM, _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_FN1, \
+ _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END),
};
/*
@@ -102,8 +128,61 @@ void matrix_scan_user(void) {
}
+bool process_german(uint16_t keycode, keyrecord_t *record) {
+ uint16_t send_code = 0;
+ switch (keycode) {
+ case KC_C_AM:
+ if (record->event.pressed) {
+ send_code = KC_Q;
+ }
+ break;
+
+ case KC_C_OM:
+ if (record->event.pressed) {
+ send_code = KC_P;
+ }
+ break;
+
+ case KC_C_UM:
+ if (record->event.pressed) {
+ send_code = KC_Y;
+ }
+ break;
+
+ case KC_C_SM:
+ if (record->event.pressed) {
+ send_code = KC_S;
+ }
+ break;
+ }
+
+ if (send_code == 0) {
+ return true;
+ }
+ else {
+ register_code(KC_RALT);
+ register_code(send_code);
+ unregister_code(send_code);
+ unregister_code(KC_RALT);
+ return false;
+ }
+}
+
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
+ if (keycode == KC_QUOT) {
+ if (record->event.pressed) {
+ register_code(KC_QUOT);
+ unregister_code(KC_QUOT);
+ register_code(KC_SPACE);
+ unregister_code(KC_SPACE);
+ }
+ return false;
+ }
+#if LANGUAGE == GERMAN
+ return process_german(keycode, record);
+#else
+ return true;
+#endif
}
void led_set_user(uint8_t usb_led) {
diff --git a/keyboards/s60-x/keymaps/felix/readme.md b/keyboards/s60-x/keymaps/felix/readme.md
index 73318dad72..7f083dfd08 100644
--- a/keyboards/s60-x/keymaps/felix/readme.md
+++ b/keyboards/s60-x/keymaps/felix/readme.md
@@ -1 +1,9 @@
-# The default keymap for s60-x \ No newline at end of file
+# A non-US ANSI QWERTZ keymap
+
+This keymap was specifically designed to support ANSI keycaps while retaining the possibility of inputting characters with diacritics that are normally not used in the english language.
+
+It relies on the US-International keyboard layout, which can be installed in any current operating system without the use of third party hardware.
+
+Currently, it explicitly supports the following languages, though other languages are readily useable using the AltGr modifier.
+- German
+