diff options
| -rw-r--r-- | keyboards/tada68/keymaps/rupa/config.h | 10 | ||||
| -rwxr-xr-x | keyboards/tada68/keymaps/rupa/keymap.c | 45 | ||||
| -rwxr-xr-x | keyboards/tada68/keymaps/rupa/readme.md | 21 | ||||
| -rw-r--r-- | keyboards/tada68/keymaps/rupa/rules.mk | 4 | ||||
| -rw-r--r-- | users/rupa/config.h | 8 | ||||
| -rwxr-xr-x | users/rupa/process_records.c | 72 | ||||
| -rwxr-xr-x | users/rupa/process_records.h | 21 | ||||
| -rw-r--r-- | users/rupa/rules.mk | 3 | ||||
| -rwxr-xr-x | users/rupa/rupa.c | 49 | ||||
| -rwxr-xr-x | users/rupa/rupa.h | 54 | ||||
| -rwxr-xr-x | users/rupa/unicode.c | 42 | ||||
| -rwxr-xr-x | users/rupa/unicode.h | 43 |
12 files changed, 372 insertions, 0 deletions
diff --git a/keyboards/tada68/keymaps/rupa/config.h b/keyboards/tada68/keymaps/rupa/config.h new file mode 100644 index 000000000..ddbf0ab66 --- /dev/null +++ b/keyboards/tada68/keymaps/rupa/config.h | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | #define GRAVE_ESC_ALT_OVERRIDE | ||
| 4 | |||
| 5 | /* disable features */ | ||
| 6 | //#define NO_ACTION_LAYER | ||
| 7 | //#define NO_ACTION_TAPPING | ||
| 8 | //#define NO_ACTION_ONESHOT | ||
| 9 | #define NO_ACTION_MACRO | ||
| 10 | #define NO_ACTION_FUNCTION | ||
diff --git a/keyboards/tada68/keymaps/rupa/keymap.c b/keyboards/tada68/keymaps/rupa/keymap.c new file mode 100755 index 000000000..3a8a55056 --- /dev/null +++ b/keyboards/tada68/keymaps/rupa/keymap.c | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | #include "rupa.h" | ||
| 2 | |||
| 3 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 4 | /* Keymap _QWERTY: (Base Layer) Default Layer | ||
| 5 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ | ||
| 6 | * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│~ `│ | ||
| 7 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ | ||
| 8 | * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│ | ||
| 9 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ | ||
| 10 | * │ Fn │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgU│ | ||
| 11 | * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ | ||
| 12 | * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │PgD│ | ||
| 13 | * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ | ||
| 14 | * │Ctrl│Alt │Gui │ Space │Fn │Alt│Ctl│ ← │ ↓ │ → │ | ||
| 15 | * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ | ||
| 16 | */ | ||
| 17 | [_QWERTY] = LAYOUT_65_ansi( | ||
| 18 | KC_GESC, 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_GRV, | ||
| 19 | 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_BSLS, KC_DEL, | ||
| 20 | RAISE, 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_PGUP, | ||
| 21 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, | ||
| 22 | KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, RAISE, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | ||
| 23 | ), | ||
| 24 | |||
| 25 | /* Keymap _RAISE: Function Layer | ||
| 26 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ | ||
| 27 | * │LOD│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ Del │Hme│ | ||
| 28 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ | ||
| 29 | * │ │VSN│U_s│U_f│U_m│ │ │uni│ │ ॐ │ │♩ ♪│♫ ♬│★ ☆ │Ins│ | ||
| 30 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ | ||
| 31 | * │ │ │ │ │ │ │ │ │ │ │ │ │ ✓ │End│ | ||
| 32 | * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ | ||
| 33 | * │ RShift │ ⸮ │Rup│Brt│Bls│Blt│ │Mut│V- │V+ │‽ ☭│ McL│M↑ │McR│ | ||
| 34 | * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ | ||
| 35 | * │RCtl│RAlt│RGui│ │ │ │CAP│M← │M↓ │M→ │ | ||
| 36 | * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ | ||
| 37 | */ | ||
| 38 | [_RAISE] = LAYOUT_65_ansi( | ||
| 39 | LOD, 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, KC_HOME, | ||
| 40 | _______, VRSN, U_SCRPT, U_FRACT, U_MONOS, _______, _______, UC_MOD, _______, X(OM), _______, XP(M4,M8), XP(M8B,M16), XP(STB, STW), KC_INS, | ||
| 41 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, X(CHEK), KC_END, | ||
| 42 | OS_RSFT, X(IRNY), RUPA, BL_BRTG, BL_STEP, BL_TOGG, _______, KC_MUTE, KC_VOLD, KC_VOLU, XP(IBNG,HAS), KC_BTN1, KC_MS_U, KC_BTN2, | ||
| 43 | OS_RCTL, OS_RALT, OS_RGUI, _______, _______, _______, KC_CAPS, KC_MS_L, KC_MS_D, KC_MS_R | ||
| 44 | ), | ||
| 45 | }; | ||
diff --git a/keyboards/tada68/keymaps/rupa/readme.md b/keyboards/tada68/keymaps/rupa/readme.md new file mode 100755 index 000000000..77629131a --- /dev/null +++ b/keyboards/tada68/keymaps/rupa/readme.md | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | # rupa's TADA68 layout | ||
| 2 | |||
| 3 | i've swapped the lufa-ms bootloader for caterina | ||
| 4 | |||
| 5 | most everything is in my userspace dir | ||
| 6 | |||
| 7 | console mode is on, and there's barely any room left! | ||
| 8 | |||
| 9 | * win/alt -> alt/cmd | ||
| 10 | * alt/fn -> fn/alt | ||
| 11 | * grave escape, with alt override | ||
| 12 | * caps is another fn key, CAPS on fn-rctl | ||
| 13 | |||
| 14 | fn layer: | ||
| 15 | * no wasd arrows | ||
| 16 | * rotate mute/vol | ||
| 17 | * backlight -> breathing, step, toggle | ||
| 18 | * swap home and ins | ||
| 19 | * unicode chars sprinkled around | ||
| 20 | * script mode! | ||
| 21 | * (one-shot) right versions of shift/ctl/alt/gui (not working quite right yet) | ||
diff --git a/keyboards/tada68/keymaps/rupa/rules.mk b/keyboards/tada68/keymaps/rupa/rules.mk new file mode 100644 index 000000000..df6f5674b --- /dev/null +++ b/keyboards/tada68/keymaps/rupa/rules.mk | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | BOOTLOADER = caterina | ||
| 2 | |||
| 3 | UNICODEMAP_ENABLE = yes | ||
| 4 | CONSOLE_ENABLE = yes | ||
diff --git a/users/rupa/config.h b/users/rupa/config.h new file mode 100644 index 000000000..902405204 --- /dev/null +++ b/users/rupa/config.h | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | #define UNICODE_SELECTED_MODES UC_MAC, UC_LNX | ||
| 4 | |||
| 5 | #define ONESHOT_TAP_TOGGLE 5 | ||
| 6 | #define ONESHOT_TIMEOUT 5000 | ||
| 7 | |||
| 8 | #define TAP_CODE_DELAY 5 //DEFAULT: 100 | ||
diff --git a/users/rupa/process_records.c b/users/rupa/process_records.c new file mode 100755 index 000000000..2d7231010 --- /dev/null +++ b/users/rupa/process_records.c | |||
| @@ -0,0 +1,72 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2020 rupa <rupa@lrrr.us> @rupa | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #include "rupa.h" | ||
| 19 | |||
| 20 | font_t *translator = NULL; | ||
| 21 | |||
| 22 | __attribute__((weak)) | ||
| 23 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | ||
| 24 | return true; | ||
| 25 | } | ||
| 26 | |||
| 27 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 28 | bool is_shifted = get_mods()&MOD_MASK_SHIFT; | ||
| 29 | bool is_pressed = record->event.pressed; | ||
| 30 | |||
| 31 | switch(keycode) { | ||
| 32 | case VRSN: | ||
| 33 | if (is_pressed) { | ||
| 34 | send_string_with_delay_P(PSTR( | ||
| 35 | "# " QMK_KEYBOARD "/" QMK_KEYMAP ":" QMK_VERSION " " QMK_BUILDDATE "\n" | ||
| 36 | ), TAP_CODE_DELAY); | ||
| 37 | } | ||
| 38 | return false; | ||
| 39 | |||
| 40 | case LOD: | ||
| 41 | case RUPA: | ||
| 42 | if (is_pressed) { | ||
| 43 | if (keycode == LOD) { | ||
| 44 | send_unicode_string((is_shifted ? "¯\\_(ツ)_/¯" : "ಠ_ಠ")); | ||
| 45 | } else if (keycode == RUPA) { | ||
| 46 | send_unicode_string((is_shifted ? "Śrīrūpa" : "rūpa")); | ||
| 47 | } | ||
| 48 | } | ||
| 49 | return false; | ||
| 50 | |||
| 51 | // script modes | ||
| 52 | case U_FRACT: | ||
| 53 | case U_MONOS: | ||
| 54 | case U_SCRPT: | ||
| 55 | if (is_pressed) { | ||
| 56 | if (keycode == U_SCRPT) { | ||
| 57 | translator = (translator == &script_bold ? NULL : &script_bold); | ||
| 58 | } else if (keycode == U_FRACT) { | ||
| 59 | translator = (translator == &fraktu_bold ? NULL : &fraktu_bold); | ||
| 60 | } else if (keycode == U_MONOS) { | ||
| 61 | translator = (translator == &monosp_bold ? NULL : &monosp_bold); | ||
| 62 | } | ||
| 63 | } | ||
| 64 | return true; | ||
| 65 | |||
| 66 | default: | ||
| 67 | if (is_pressed && translator != NULL) { | ||
| 68 | return script_mode_translate(translator, is_shifted, keycode); | ||
| 69 | } | ||
| 70 | } | ||
| 71 | return process_record_keymap(keycode, record); | ||
| 72 | } | ||
diff --git a/users/rupa/process_records.h b/users/rupa/process_records.h new file mode 100755 index 000000000..7c7fe491b --- /dev/null +++ b/users/rupa/process_records.h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2020 rupa <rupa@lrrr.us> @rupa | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #pragma once | ||
| 19 | #include "rupa.h" | ||
| 20 | |||
| 21 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record); | ||
diff --git a/users/rupa/rules.mk b/users/rupa/rules.mk new file mode 100644 index 000000000..c4f147d91 --- /dev/null +++ b/users/rupa/rules.mk | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | SRC += rupa.c \ | ||
| 2 | process_records.c \ | ||
| 3 | unicode.c | ||
diff --git a/users/rupa/rupa.c b/users/rupa/rupa.c new file mode 100755 index 000000000..60fec3caf --- /dev/null +++ b/users/rupa/rupa.c | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2020 rupa <rupa@lrrr.us> @rupa | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #include <print.h> | ||
| 19 | #include "rupa.h" | ||
| 20 | |||
| 21 | // https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols | ||
| 22 | font_t script_bold = {0x1D4D0, 0x1D4EA, 0x1D7CE}; // with bold numbers | ||
| 23 | font_t fraktu_bold = {0x1D56C, 0x1D586, 0x1D7D8}; // with doublestruck numbers | ||
| 24 | font_t monosp_bold = {0x1D670, 0x1D68A, 0x1D7F6}; | ||
| 25 | |||
| 26 | // Maps A-Z, a-z, and 0-9 to other unicode ranges. We also map space to EN | ||
| 27 | // SPACE for some reason :) | ||
| 28 | uint32_t map_alnum(font_t *f, bool is_shifted, uint32_t keycode) { | ||
| 29 | switch (keycode) { | ||
| 30 | case KC_SPACE: | ||
| 31 | return (is_shifted ? 0 : 0x2002); // EN SPACE | ||
| 32 | case KC_0: | ||
| 33 | return (is_shifted ? 0 : f->zero_glyph); | ||
| 34 | case KC_A ... KC_Z: | ||
| 35 | return (is_shifted ? f->upper_alpha : f->lower_alpha) + keycode - KC_A; | ||
| 36 | case KC_1 ... KC_9: | ||
| 37 | return (is_shifted ? 0 : f->zero_glyph + keycode - KC_1 + 1); | ||
| 38 | default: | ||
| 39 | return 0; | ||
| 40 | } | ||
| 41 | } | ||
| 42 | |||
| 43 | bool script_mode_translate(font_t *translator, bool is_shifted, uint32_t keycode) { | ||
| 44 | uint32_t translated = map_alnum(translator, is_shifted, keycode); | ||
| 45 | if (translated == 0) return true; | ||
| 46 | dprintf("script_mode_translate: %u => %d\n", keycode, translated); | ||
| 47 | register_unicode(translated); | ||
| 48 | return false; | ||
| 49 | } | ||
diff --git a/users/rupa/rupa.h b/users/rupa/rupa.h new file mode 100755 index 000000000..9be3a2d62 --- /dev/null +++ b/users/rupa/rupa.h | |||
| @@ -0,0 +1,54 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2020 rupa <rupa@lrrr.us> @rupa | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #pragma once | ||
| 19 | #include QMK_KEYBOARD_H | ||
| 20 | #include "version.h" | ||
| 21 | #include "process_records.h" | ||
| 22 | #include "unicode.h" | ||
| 23 | |||
| 24 | enum userspace_layers { | ||
| 25 | _QWERTY = 0, | ||
| 26 | _RAISE, | ||
| 27 | }; | ||
| 28 | |||
| 29 | enum userspace_custom_keycodes { | ||
| 30 | VRSN = SAFE_RANGE, | ||
| 31 | LOD, | ||
| 32 | RUPA, | ||
| 33 | U_FRACT, | ||
| 34 | U_MONOS, | ||
| 35 | U_SCRPT, | ||
| 36 | }; | ||
| 37 | |||
| 38 | typedef struct font_t { | ||
| 39 | uint32_t upper_alpha; | ||
| 40 | uint32_t lower_alpha; | ||
| 41 | uint32_t zero_glyph; | ||
| 42 | } font_t; | ||
| 43 | |||
| 44 | font_t fraktu_bold; | ||
| 45 | font_t monosp_bold; | ||
| 46 | font_t script_bold; | ||
| 47 | |||
| 48 | bool script_mode_translate(font_t *translator, bool is_shifted, uint32_t keycode); | ||
| 49 | |||
| 50 | #define RAISE MO(_RAISE) | ||
| 51 | #define OS_RGUI OSM(MOD_RGUI) | ||
| 52 | #define OS_RALT OSM(MOD_RALT) | ||
| 53 | #define OS_RCTL OSM(MOD_RCTL) | ||
| 54 | #define OS_RSFT OSM(MOD_RSFT) | ||
diff --git a/users/rupa/unicode.c b/users/rupa/unicode.c new file mode 100755 index 000000000..89a0d4766 --- /dev/null +++ b/users/rupa/unicode.c | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2020 rupa <rupa@lrrr.us> @rupa | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #include "unicode.h" | ||
| 19 | |||
| 20 | #if defined(UNICODEMAP_ENABLE) | ||
| 21 | const uint32_t PROGMEM unicode_map[] = { | ||
| 22 | [CHEK] = 0x2713, // ✓ | ||
| 23 | /* | ||
| 24 | [DI1] = 0x2680, // ⚀ | ||
| 25 | [DI2] = 0x2681, // ⚁ | ||
| 26 | [DI3] = 0x2682, // ⚂ | ||
| 27 | [DI4] = 0x2683, // ⚃ | ||
| 28 | [DI5] = 0x2684, // ⚄ | ||
| 29 | [DI6] = 0x2685, // ⚅ | ||
| 30 | */ | ||
| 31 | [HAS] = 0x262D, // ☭ | ||
| 32 | [IBNG] = 0x203D, // ‽ | ||
| 33 | [IRNY] = 0x2E2E, // ⸮ | ||
| 34 | [M4] = 0x2669, // ♩ | ||
| 35 | [M8] = 0x266A, // ♪ | ||
| 36 | [M8B] = 0x266B, // ♫ | ||
| 37 | [M16] = 0x266C, // ♬ | ||
| 38 | [OM] = 0x0950, // ॐ | ||
| 39 | [STB] = 0x2605, // ★ | ||
| 40 | [STW] = 0x2606, // ☆ | ||
| 41 | }; | ||
| 42 | #endif | ||
diff --git a/users/rupa/unicode.h b/users/rupa/unicode.h new file mode 100755 index 000000000..0c067bd91 --- /dev/null +++ b/users/rupa/unicode.h | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2020 rupa <rupa@lrrr.us> @rupa | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #pragma once | ||
| 19 | #include "rupa.h" | ||
| 20 | |||
| 21 | #if defined(UNICODEMAP_ENABLE) | ||
| 22 | enum unicode_names { | ||
| 23 | CHEK, | ||
| 24 | /* | ||
| 25 | DI1, // ⚀ | ||
| 26 | DI2, // ⚁ | ||
| 27 | DI3, // ⚂ | ||
| 28 | DI4, // ⚃ | ||
| 29 | DI5, // ⚄ | ||
| 30 | DI6, // ⚅ | ||
| 31 | */ | ||
| 32 | HAS, // ☭ | ||
| 33 | IBNG, // ‽ | ||
| 34 | IRNY, // ⸮ | ||
| 35 | M4, // ♩ | ||
| 36 | M8, // ♪ | ||
| 37 | M8B, // ♫ | ||
| 38 | M16, // ♬ | ||
| 39 | OM, // ॐ | ||
| 40 | STB, // ★ | ||
| 41 | STW, // ☆ | ||
| 42 | }; | ||
| 43 | #endif | ||
