From 0d279917314f05639b91b5032dcf1e98e30a1269 Mon Sep 17 00:00:00 2001 From: tmk Date: Sun, 22 Jul 2018 00:05:52 +0900 Subject: [PATCH] pc98_usb: unimap for RakuRaku keyboard --- converter/pc98_usb/unimap.c | 3 +- converter/pc98_usb/unimap_rakuraku.c | 61 ++++++++++++++++++++++++++++ converter/pc98_usb/unimap_trans.h | 61 ++++++++++++++++++++++++---- 3 files changed, 117 insertions(+), 8 deletions(-) create mode 100644 converter/pc98_usb/unimap_rakuraku.c diff --git a/converter/pc98_usb/unimap.c b/converter/pc98_usb/unimap.c index 8dc1b87c..20befeaf 100644 --- a/converter/pc98_usb/unimap.c +++ b/converter/pc98_usb/unimap.c @@ -26,7 +26,7 @@ const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = { #endif /* ,---. ,---. ,------------------------. ,------------------------. ,------------------------. - |Stp| |PrS| | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10| | F11| F12| F13| F14| F15| + |Pau| |PrS| | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10| | F11| F12| F13| F14| F15| `---' `---' `------------------------' `------------------------' `------------------------' ,-------------------------------------------------------------. ,-------. ,---------------. | Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|JPY|Bspc| |Ins|Del| |Hom|End| -| /| @@ -39,6 +39,7 @@ const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = { `-------------------------------------------------------------' |-------| |---------------| |Kana|Gui| Alt|MHEN| Space |HENK|Alt|Gui|App| | Down | | 0| ,| .|Ent| `--------------------------------------------------------' `-------' `---------------' + Caps and Kana are locking keys. */ UNIMAP_PC98( PAUS,PSCR, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, diff --git a/converter/pc98_usb/unimap_rakuraku.c b/converter/pc98_usb/unimap_rakuraku.c new file mode 100644 index 00000000..816d8c9c --- /dev/null +++ b/converter/pc98_usb/unimap_rakuraku.c @@ -0,0 +1,61 @@ +/* +Copyright 2018 Jun Wako + +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 . +*/ +#include "unimap_trans.h" + + +#define AC_FN0 ACTION_LAYER_MOMENTARY(1) + +#ifdef KEYMAP_SECTION_ENABLE +const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] __attribute__ ((section (".keymap.keymaps"))) = { +#else +const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = { +#endif + /* + ,---------------------------------------------------------------. + |Pau|PrS| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|PgD|PgU|End|Hom| + `---------------------------------------------------------------' + ,---------------------------------------------------------------. + | Esc | 1| 2| 3| 4| 5| F21|Caps| 6| 7| 8| 9| 0| BSpc| + |---------------------------------------------------------------| + | Tab| Q| W| E| R| T| Up | Y| U| I| O| P| | + |----------------------------------------------------------` Ent| + | Ctl| A| S| D| F| G| Left| Right| H| J| K| L| ;| | + |---------------------------------------------------------------| + |Sft| Z| X| C| V| B|Ins| Down |Del| N| M| ,| .| /| ^1| + `---------------------------------------------------------------' + |Alt| MHEN| Ctl| FN0| Spc | FN0| HENK| ^2| + `-----------------------------------------------' + ^1: Right Shift is identical to Left Shift + ^2: Ctrl+HENK(Ctrl+XFER) + */ + UNIMAP_RAKURAKU( + PAUS,PSCR, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10,PGUP,PGDN, END,HOME, + ESC, 1, 2, 3, 4, 5, LNUM,LCAP, 6, 7, 8, 9, 0, BSPC, + TAB, Q, W, E, R, T, UP, Y, U, I, O, P, ENT, + LCTL, A, S, D, F, G, LEFT, RGHT, H, J, K, L,SCLN, + LSFT, Z, X, C, V, B, INS, DOWN, DEL, N, M,COMM, DOT,SLSH, + LALT, MHEN, LGUI, FN0, SPC, RALT, HENK + ), + UNIMAP_RAKURAKU( + TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,SLCK,PAUS, + GRV, TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS, TRNS,TRNS,TRNS,MINS, EQL, BSLS, + TRNS, TRNS,TRNS,TRNS,TRNS,TRNS, PGUP, TRNS,TRNS,TRNS,LBRC,RBRC, TRNS, + TRNS, TRNS,TRNS,TRNS,TRNS,TRNS, HOME, END, TRNS,TRNS,TRNS,TRNS,QUOT, + TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, PGDN, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS + ), +}; diff --git a/converter/pc98_usb/unimap_trans.h b/converter/pc98_usb/unimap_trans.h index 9d7e0e4b..4155b2f1 100644 --- a/converter/pc98_usb/unimap_trans.h +++ b/converter/pc98_usb/unimap_trans.h @@ -1,5 +1,5 @@ /* -Copyright 2016 Jun Wako +Copyright 2018 Jun Wako 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 @@ -54,7 +54,7 @@ const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = { { UNIMAP_PMNS, UNIMAP_PSLS, UNIMAP_P7, UNIMAP_P8, UNIMAP_P9, UNIMAP_PAST, UNIMAP_P4, UNIMAP_P5 }, /* 40-47 */ { UNIMAP_P6, UNIMAP_PPLS, UNIMAP_P1, UNIMAP_P2, UNIMAP_P3, UNIMAP_PEQL, UNIMAP_P0, UNIMAP_PCMM }, /* 48-4F */ { UNIMAP_PDOT, UNIMAP_MHEN, UNIMAP_F11, UNIMAP_F12, UNIMAP_F13, UNIMAP_F14, UNIMAP_F15, UNIMAP_NO }, /* 50-57 */ - { UNIMAP_NO, UNIMAP_NO, UNIMAP_NO, UNIMAP_NO, UNIMAP_NO, UNIMAP_NO, UNIMAP_APP, UNIMAP_NO }, /* 58-5F */ + { UNIMAP_F21, UNIMAP_F22, UNIMAP_F23, UNIMAP_F24, UNIMAP_NO, UNIMAP_NO, UNIMAP_APP, UNIMAP_NO }, /* 58-5F */ { UNIMAP_PAUS, UNIMAP_PSCR, UNIMAP_F1, UNIMAP_F2, UNIMAP_F3, UNIMAP_F4, UNIMAP_F5, UNIMAP_F6 }, /* 60-67 */ { UNIMAP_F7, UNIMAP_F8, UNIMAP_F9, UNIMAP_F10, UNIMAP_NO, UNIMAP_NO, UNIMAP_NO, UNIMAP_NO }, /* 68-6F */ { UNIMAP_LSFT, UNIMAP_CAPS, UNIMAP_KANA, UNIMAP_LALT, UNIMAP_LCTL, UNIMAP_NO, UNIMAP_NO, UNIMAP_LGUI }, /* 70-77 */ @@ -64,7 +64,7 @@ const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = { /* PC-9801/9821 keyboard ,---. ,---. ,------------------------. ,------------------------. ,------------------------. -|Stp| |PrS| | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10| | F11| F12| F13| F14| F15| +|Pau| |PrS| | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10| | F11| F12| F13| F14| F15| `---' `---' `------------------------' `------------------------' `------------------------' ,-------------------------------------------------------------. ,-------. ,---------------. | Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|JPY|Bspc| |Ins|Del| |Hom|End| -| /| @@ -73,12 +73,12 @@ const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = { |-------------------------------------------------------`Enter| |-------| |---------------| |Ctl|Cap| A| S| D| F| G| H| J| K| L| ;| '| \| | | Up | | 4| 5| 6| +| |-------------------------------------------------------------| |-------| |---------------| -| Shift | Z| X| C| V| B| N| M| ,| .| /| RO| Shift | |Lef|Rig| | 1| 2| 3|KP=| +| Shift | Z| X| C| V| B| N| M| ,| .| /| RO| Shift | |Lef|Rig| | 1| 2| 3| =| `-------------------------------------------------------------' |-------| |---------------| - |Kana|Gui|GRPH|NFER| Space |XFER|Alt|Gui|App|^2 | Down | | 0| ,| .| ^1| - `--------------------------------------------------------' `-------' `---------------' + |Kana|Gui|Alt|MHEN| Space |HENK|Alt|Gui|App|^2 | Down | | 0| ,| .| ^1| + `-------------------------------------------------------' `-------' `---------------' ^1: Enter on keypad is identical to Enter on alphanumeric portion. -^2: Alt is ALT on DIGITAL WAVE Dboard while Menu on PC-9821 keyboard. +^2: Right Alt is ALT on DIGITAL WAVE Dboard while Menu on PC-9821 keyboard. App is HOME key on PC98XL keyboard. */ #define UNIMAP_PC98( \ @@ -107,4 +107,51 @@ const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = { AC_##K78, AC_##K79, AC_##K7A, AC_##K7B, AC_NO, AC_##K7D, AC_##K7E, AC_##K7F } /* 78-7F */ \ } + +/* +PC-9801-98-S02 Raku Raku keyboard(Luckyboard) Normal Mode +TODO: test +,---------------------------------------------------------------. +|Pau|PrS| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|PgD|PgU|End|Hom| +`---------------------------------------------------------------' +,---------------------------------------------------------------. +| Esc | 1| 2| 3| 4| 5| F21|Caps| 6| 7| 8| 9| 0| BSpc| +|---------------------------------------------------------------| +| Tab| Q| W| E| R| T| Up | Y| U| I| O| P| | +|----------------------------------------------------------` Ent| +| Ctl| F| G| H| J| K| Left| Right| L| ;| '| \| Z| | +|---------------------------------------------------------------| +|Sft| X| C| V| B| N|Ins| Down |Del| M| ,| .| /| RO| ^1| +`---------------------------------------------------------------' + |Alt| MHEN| F24| F22| Spc | F23| HENK| ^2| + `-----------------------------------------------' +^1: Right Shift is identical to Left Shift +^2: Ctrl+HENK(Ctrl+XFER) +*/ +#define UNIMAP_RAKURAKU( \ + K48, K46, K3A, K3B, K3C, K3D, K3E, K3F, K40, K41, K42, K43, K4E, K4B, K4D, K4A, \ + K29, K1E, K1F, K20, K21, K22, K70, K39, K23, K24, K25, K26, K27, K2A, \ + K2B, K14, K1A, K08, K15, K17, K52, K1C, K18, K0C, K12, K13, K28, \ + K78, K09, K0A, K0B, K0D, K0E, K50, K4F, K0F, K33, K34, K31, K1D, \ + K79,K1B, K06, K19, K05, K11, K49, K51, K4C, K10, K36, K37, K38, K75, \ + K7A, K77, K73, K71, K2C, K72, K76 \ +) { \ + { AC_NO, AC_NO, AC_NO, AC_NO, AC_NO, AC_##K05, AC_##K06, AC_NO, /* 00-07 */ \ + AC_##K08, AC_##K09, AC_##K0A, AC_NO, AC_##K0C, AC_##K0D, AC_##K0E, AC_##K0F }, /* 08-0F */ \ + { AC_##K10, AC_##K11, AC_##K12, AC_##K13, AC_##K14, AC_##K15, AC_NO, AC_##K17, /* 10-17 */ \ + AC_##K18, AC_##K19, AC_##K1A, AC_##K1B, AC_##K1C, AC_NO, AC_##K1E, AC_##K1F }, /* 18-1F */ \ + { AC_##K20, AC_##K21, AC_##K22, AC_##K23, AC_##K24, AC_##K25, AC_##K26, AC_##K27, /* 20-27 */ \ + AC_##K28, AC_##K29, AC_##K2A, AC_##K2B, AC_##K2C, AC_NO, AC_NO, AC_NO }, /* 28-2F */ \ + { AC_NO, AC_##K31, AC_NO, AC_##K33, AC_##K34, AC_NO, AC_##K36, AC_##K37, /* 30-37 */ \ + AC_##K38, AC_##K39, AC_##K3A, AC_##K3B, AC_##K3C, AC_##K3D, AC_##K3E, AC_##K3F }, /* 38-3F */ \ + { AC_##K40, AC_##K41, AC_##K42, AC_##K43, AC_NO, AC_NO, AC_##K46, AC_NO, /* 40-47 */ \ + AC_##K48, AC_##K49, AC_##K4A, AC_##K4B, AC_##K4C, AC_##K4D, AC_##K4E, AC_##K4F }, /* 48-4F */ \ + { AC_##K50, AC_##K51, AC_##K52, AC_NO, AC_NO, AC_NO, AC_NO, AC_NO, /* 50-57 */ \ + AC_NO, AC_NO, AC_NO, AC_NO, AC_NO, AC_NO, AC_NO, AC_NO }, /* 58-5F */ \ + { AC_NO, AC_NO, AC_NO, AC_NO, AC_NO, AC_NO, AC_NO, AC_NO, /* 60-67 */ \ + AC_NO, AC_NO, AC_NO, AC_NO, AC_NO, AC_NO, AC_NO, AC_NO }, /* 68-6F */ \ + { AC_##K70, AC_##K71, AC_##K72, AC_##K73, AC_NO, AC_##K75, AC_##K76, AC_##K77, /* 70-77 */ \ + AC_##K78, AC_##K79, AC_##K7A, AC_NO, AC_NO, AC_NO, AC_NO, AC_NO } /* 78-7F */ \ +} + #endif -- 2.46.2