Planck unicode rune layout (#18674)

* Furthark layout
master
trguhq 2022-11-15 11:57:09 -05:00 committed by GitHub
parent 7e843d0eca
commit cadf18c6d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 454 additions and 0 deletions

View File

@ -0,0 +1,27 @@
/* Ortho 4x12 Unicode Rune Layout
*
* Copyright 2021 trguhq
*
* 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/>.
*/
#pragma once
#define UNICODE_SELECTED_MODES UC_MAC, UC_LNX, UC_WIN, UC_WINC
// #define UNICODE_SONG_MAC AUDIO_ON_SOUND
// #define UNICODE_SONG_LNX UNICODE_LINUX
// #define UNICODE_SONG_BSD TERMINAL_SOUND
// #define UNICODE_SONG_WIN UNICODE_WINDOWS
// #define UNICODE_SONG_WINC UNICODE_WINDOWS

View File

@ -0,0 +1,29 @@
/* Ortho 4x12 Unicode Rune Layout
*
* Copyright 2021 trguhq
*
* 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 QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ortho_4x12(KC_ESC, KC_GRV, UC(0x16A0), UC(0x16A2), UC(0x16A6), UC(0x16A8), UC(0x16B1), UC(0x16B2), UC(0x16B7), UC(0x16B9), KC_QUOT, KC_BSPC, KC_TAB, KC_SCLN, UC(0x16BA), UC(0x16BE), UC(0x16C1), UC(0x16C3), UC(0x16C7), UC(0x16C8), UC(0x16C9), UC(0x16CA), KC_COMM, KC_DOT, KC_LSFT, KC_BSLS, UC(0x16CF), UC(0x16D2), UC(0x16D6), UC(0x16D7), UC(0x16DA), UC(0x16DC), UC(0x16DF), UC(0x16DE), KC_UP, KC_ENT, BL_STEP, KC_LCTL, KC_LALT, KC_LGUI, MO(3), KC_SPC, KC_SPC, MO(4), KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT_ortho_4x12(KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, BL_STEP, KC_LCTL, KC_LALT, KC_LGUI, MO(3), KC_SPC, KC_SPC, MO(4), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT),
[2] = LAYOUT_ortho_4x12(KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT, BL_STEP, KC_LCTL, KC_LALT, KC_LGUI, MO(3), KC_SPC, KC_SPC, MO(4), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT),
[3] = LAYOUT_ortho_4x12(KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, LSFT(KC_NUHS), LSFT(KC_NUBS), KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(6), KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY),
[4] = LAYOUT_ortho_4x12(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(6), KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY),
[5] = LAYOUT_ortho_4x12(KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, TO(0), KC_NO, KC_NO, KC_C, KC_V, KC_NO, KC_NO, KC_N, KC_M, KC_NO, KC_NO, KC_NO),
[6] = LAYOUT_ortho_4x12(UNICODE_MODE_MAC, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL, UNICODE_MODE_LNX, KC_TRNS, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, DF(0), DF(1), DF(2), TO(5), KC_TRNS, UNICODE_MODE_WIN, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, /* TERM_ON */ KC_TRNS, /* TERM_OFF */ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UNICODE_MODE_WINC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};

View File

@ -0,0 +1,36 @@
# Planck Ortho 4x12 Unicode Futhark Rune layout
![Planck Futhark Layout Image](https://i.imgur.com/ocILTZ3.png)
* Layout Maintainer: [trguhq](https://github.com/trguhq)
Types unicode runes on ortholinear QMK keyboard. Legacy Latin letter
layers left for user but have been marked red as irrelevant.
## OS specific
With both modifiers (either side of spacebar) selected, layer 6
lets you select which OS mode to use with the first vertical column
of keys:
1. macOS
2. Linux
3. Windows Unicode
4. Windows WinCompose
See [QMK docs](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_unicode.md) for details.
### macOS
On macOS this will have to be enabled in keyboard settings as a
Unicode Hex Input Keyboard Source and selected under the
keyboard layouts icon on the menu bar.
### Linux
Uses IBus or GTK.
### Windows
Either create the needed EnableHexNumpad registry key for Windows Unicode
entry, or (recommended) install WinCompose.

View File

@ -0,0 +1 @@
UNICODE_ENABLE = yes

View File

@ -0,0 +1,361 @@
{
"version": 1,
"notes": "",
"documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
"keyboard": "planck/rev6_drop",
"keymap": "trguhq",
"layout": "LAYOUT_ortho_4x12",
"layers": [
[
"KC_ESC",
"KC_GRV",
"ANY(UC(0x16A0))",
"ANY(UC(0x16A2))",
"ANY(UC(0x16A6))",
"ANY(UC(0x16A8))",
"ANY(UC(0x16B1))",
"ANY(UC(0x16B2))",
"ANY(UC(0x16B7))",
"ANY(UC(0x16B9))",
"KC_QUOT",
"KC_BSPC",
"KC_TAB",
"KC_SCLN",
"ANY(UC(0x16BA))",
"ANY(UC(0x16BE))",
"ANY(UC(0x16C1))",
"ANY(UC(0x16C3))",
"ANY(UC(0x16C7))",
"ANY(UC(0x16C8))",
"ANY(UC(0x16C9))",
"ANY(UC(0x16CA))",
"KC_COMM",
"KC_DOT",
"KC_LSFT",
"KC_BSLS",
"ANY(UC(0x16CF))",
"ANY(UC(0x16D2))",
"ANY(UC(0x16D6))",
"ANY(UC(0x16D7))",
"ANY(UC(0x16DA))",
"ANY(UC(0x16DC))",
"ANY(UC(0x16DF))",
"ANY(UC(0x16DE))",
"KC_UP",
"KC_ENT",
"BL_STEP",
"KC_LCTL",
"KC_LALT",
"KC_LGUI",
"MO(3)",
"KC_SPC",
"KC_SPC",
"MO(4)",
"KC_SLSH",
"KC_LEFT",
"KC_DOWN",
"KC_RGHT"
],
[
"KC_TAB",
"KC_Q",
"KC_W",
"KC_F",
"KC_P",
"KC_G",
"KC_J",
"KC_L",
"KC_U",
"KC_Y",
"KC_SCLN",
"KC_BSPC",
"KC_ESC",
"KC_A",
"KC_R",
"KC_S",
"KC_T",
"KC_D",
"KC_H",
"KC_N",
"KC_E",
"KC_I",
"KC_O",
"KC_QUOT",
"KC_LSFT",
"KC_Z",
"KC_X",
"KC_C",
"KC_V",
"KC_B",
"KC_K",
"KC_M",
"KC_COMM",
"KC_DOT",
"KC_SLSH",
"KC_ENT",
"BL_STEP",
"KC_LCTL",
"KC_LALT",
"KC_LGUI",
"MO(3)",
"KC_SPC",
"KC_SPC",
"MO(4)",
"KC_LEFT",
"KC_DOWN",
"KC_UP",
"KC_RGHT"
],
[
"KC_TAB",
"KC_QUOT",
"KC_COMM",
"KC_DOT",
"KC_P",
"KC_Y",
"KC_F",
"KC_G",
"KC_C",
"KC_R",
"KC_L",
"KC_BSPC",
"KC_ESC",
"KC_A",
"KC_O",
"KC_E",
"KC_U",
"KC_I",
"KC_D",
"KC_H",
"KC_T",
"KC_N",
"KC_S",
"KC_SLSH",
"KC_LSFT",
"KC_SCLN",
"KC_Q",
"KC_J",
"KC_K",
"KC_X",
"KC_B",
"KC_M",
"KC_W",
"KC_V",
"KC_Z",
"KC_ENT",
"BL_STEP",
"KC_LCTL",
"KC_LALT",
"KC_LGUI",
"MO(3)",
"KC_SPC",
"KC_SPC",
"MO(4)",
"KC_LEFT",
"KC_DOWN",
"KC_UP",
"KC_RGHT"
],
[
"KC_TILD",
"KC_EXLM",
"KC_AT",
"KC_HASH",
"KC_DLR",
"KC_PERC",
"KC_CIRC",
"KC_AMPR",
"KC_ASTR",
"KC_LPRN",
"KC_RPRN",
"KC_BSPC",
"KC_DEL",
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_F6",
"KC_UNDS",
"KC_PLUS",
"KC_LCBR",
"KC_RCBR",
"KC_PIPE",
"KC_TRNS",
"KC_F7",
"KC_F8",
"KC_F9",
"KC_F10",
"KC_F11",
"KC_F12",
"LSFT(KC_NUHS)",
"LSFT(KC_NUBS)",
"KC_HOME",
"KC_END",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"MO(6)",
"KC_MNXT",
"KC_VOLD",
"KC_VOLU",
"KC_MPLY"
],
[
"KC_GRV",
"KC_1",
"KC_2",
"KC_3",
"KC_4",
"KC_5",
"KC_6",
"KC_7",
"KC_8",
"KC_9",
"KC_0",
"KC_BSPC",
"KC_DEL",
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_F6",
"KC_MINS",
"KC_EQL",
"KC_LBRC",
"KC_RBRC",
"KC_BSLS",
"KC_TRNS",
"KC_F7",
"KC_F8",
"KC_F9",
"KC_F10",
"KC_F11",
"KC_F12",
"KC_NUHS",
"KC_NUBS",
"KC_PGUP",
"KC_PGDN",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"MO(6)",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_MNXT",
"KC_VOLD",
"KC_VOLU",
"KC_MPLY"
],
[
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_1",
"KC_NO",
"KC_Q",
"KC_W",
"KC_E",
"KC_R",
"KC_T",
"KC_Y",
"KC_U",
"KC_I",
"KC_O",
"KC_P",
"KC_LBRC",
"KC_NO",
"KC_A",
"KC_S",
"KC_D",
"KC_F",
"KC_G",
"KC_H",
"KC_J",
"KC_K",
"KC_L",
"KC_SCLN",
"KC_QUOT",
"TO(0)",
"KC_NO",
"KC_NO",
"KC_C",
"KC_V",
"KC_NO",
"KC_NO",
"KC_N",
"KC_M",
"KC_NO",
"KC_NO",
"KC_NO"
],
[
"ANY(UNICODE_MODE_MAC)",
"QK_BOOT",
"DEBUG",
"RGB_TOG",
"RGB_MOD",
"RGB_HUI",
"RGB_HUD",
"RGB_SAI",
"RGB_SAD",
"RGB_VAI",
"RGB_VAD",
"KC_DEL",
"ANY(UNICODE_MODE_LNX)",
"KC_TRNS",
"ANY(MU_MOD)",
"ANY(AU_ON)",
"ANY(AU_OFF)",
"AG_NORM",
"AG_SWAP",
"DF(0)",
"DF(1)",
"DF(2)",
"TO(5)",
"KC_TRNS",
"ANY(UNICODE_MODE_WIN)",
"ANY(MUV_DE)",
"ANY(MUV_IN)",
"ANY(MU_ON)",
"ANY(MU_OFF)",
"ANY(MI_ON)",
"ANY(MI_OFF)",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"ANY(UNICODE_MODE_WINC)",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
]
],
"author": ""
}