summaryrefslogtreecommitdiffstats
path: root/keyboard/planck/keymap_unicode.c
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2015-09-14 23:54:49 -0400
committerJack Humbert <jack.humb@gmail.com>2015-09-14 23:54:49 -0400
commit6ec03b22187fb3c16677c4c0583e66d6d6a5c4f1 (patch)
tree37265cdf66290a33ce588e9b12ce0ecc816543c4 /keyboard/planck/keymap_unicode.c
parent5bb7ef0012378cd800bff74680b08c587e6338e4 (diff)
unicode working, i think
Diffstat (limited to 'keyboard/planck/keymap_unicode.c')
-rw-r--r--keyboard/planck/keymap_unicode.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/keyboard/planck/keymap_unicode.c b/keyboard/planck/keymap_unicode.c
new file mode 100644
index 0000000000..8e187d99f5
--- /dev/null
+++ b/keyboard/planck/keymap_unicode.c
@@ -0,0 +1,49 @@
+/*
+Copyright 2015 Jack Humbert <jack.humb@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/>.
+*/
+
+#include "keymap_common.h"
+
+void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
+{
+
+ if (record->event.pressed) {
+ uint16_t unicode = (opt << 8) | id;
+ register_code(KC_LALT);
+
+ register_code(hextokeycode((unicode & 0xF000) >> 12));
+ unregister_code(hextokeycode((unicode & 0xF000) >> 12));
+ register_code(hextokeycode((unicode & 0x0F00) >> 8));
+ unregister_code(hextokeycode((unicode & 0x0F00) >> 8));
+ register_code(hextokeycode((unicode & 0x00F0) >> 4));
+ unregister_code(hextokeycode((unicode & 0x00F0) >> 4));
+ register_code(hextokeycode((unicode & 0x000F)));
+ unregister_code(hextokeycode((unicode & 0x000F)));
+
+ /* Test 'a' */
+ // register_code(hextokeycode(0x0));
+ // unregister_code(hextokeycode(0x0));
+ // register_code(hextokeycode(0x0));
+ // unregister_code(hextokeycode(0x0));
+ // register_code(hextokeycode(0x6));
+ // unregister_code(hextokeycode(0x6));
+ // register_code(hextokeycode(0x1));
+ // unregister_code(hextokeycode(0x1));
+
+ unregister_code(KC_LALT);
+ }
+ return;
+} \ No newline at end of file