Hi everyone,
I would like to ask for your help.
I've altered an ISO layout file to compile for F77 in Turkish.
QMK beta configuration page reacts differently by mapping the same key. For example; if I drag and drop the corresponding key from the visual key code reference map to the layer map, I see it's taking KC_MINS, but if I click the button on the layer map and then press the corresponding key on my keyboard, it's taking KC_GRV at this time. It's a little bit confusing. Then, I decided to check the keymap_turkish_q.h header file to confirm the correct keycodes. According to the aliases and the real key codes in that header file, I've altered the ISO layout file in Turkish.
Here is the reference table of the key codes for ISO (Turkish) layout :
// Row 1
#define TR_DQUO KC_GRV // "
#define TR_1 KC_1 // 1
#define TR_2 KC_2 // 2
#define TR_3 KC_3 // 3
#define TR_4 KC_4 // 4
#define TR_5 KC_5 // 5
#define TR_6 KC_6 // 6
#define TR_7 KC_7 // 7
#define TR_8 KC_8 // 8
#define TR_9 KC_9 // 9
#define TR_0 KC_0 // 0
#define TR_ASTR KC_MINS // *
#define TR_MINS KC_EQL // -
// Row 2
#define TR_Q KC_Q // Q
#define TR_W KC_W // W
#define TR_E KC_E // E
#define TR_R KC_R // R
#define TR_T KC_T // T
#define TR_Y KC_Y // Y
#define TR_U KC_U // U
#define TR_I KC_I // I
#define TR_O KC_O // O
#define TR_P KC_P // P
#define TR_GBRV KC_LBRC // Ğ
#define TR_UDIA KC_RBRC // Ü
// Row 3
#define TR_A KC_A // A
#define TR_S KC_S // S
#define TR_D KC_D // D
#define TR_F KC_F // F
#define TR_G KC_G // G
#define TR_H KC_H // H
#define TR_J KC_J // J
#define TR_K KC_K // K
#define TR_L KC_L // L
#define TR_SCED KC_SCLN // Ş
#define TR_IDOT KC_QUOT // İ
#define TR_COMM KC_NUHS // ,
// Row 4
#define TR_LABK KC_NUBS // <
#define TR_Z KC_Z // Z
#define TR_X KC_X // X
#define TR_C KC_C // C
#define TR_V KC_V // V
#define TR_B KC_B // B
#define TR_N KC_N // N
#define TR_M KC_M // M
#define TR_ODIA KC_COMM // Ö
#define TR_CCED KC_DOT // Ç
#define TR_DOT KC_SLSH // .
So, I tried to make a config with 3 hardware layers:
Layer0:
Layer1:
Layer2:
And here is the code for my .json key mapping file;
{
"keyboard":"xwhatsit/brand_new_model_f/f77/wcass",
"keymap":"f77_iso_turkish_navikeysrightblock_v01",
"layout":"LAYOUT_iso_regular_shift_regular_backspace",
"layers":
[
[
"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_BSPC","KC_INS","KC_HOME","KC_PGUP",
"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_ENT","KC_DEL","KC_END","KC_PGDN",
"KC_CAPS","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_PSCR","KC_SLCK","KC_PAUS",
"KC_LSFT","KC_NUBS","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_N","KC_M","KC_SLSH","KC_BSLS","KC_DOT","KC_RSFT","MO(1)","KC_UP","OSM(MOD_LCTL|MOD_LSFT)",
"KC_LCTL","KC_LGUI","KC_LALT","KC_SPC","KC_RALT","KC_APP","KC_RCTL","KC_LEFT","KC_DOWN","KC_RGHT"
],
[
"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_NO","KC_NO","KC_NO","KC_NO",
"KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_TAB","KC_NO","KC_NO","KC_NO",
"KC_TRNS","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO",
"KC_TRNS","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO",
"KC_TRNS","KC_NO","KC_TRNS","MO(2)","KC_TRNS","KC_NO","KC_ENT","KC_NO","KC_NO","KC_NO"
],
[
"KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","ANY(HPT_DWLD)","ANY(HPT_DWLI)","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS",
"KC_TRNS","KC_TRNS","KC_TRNS","EEP_RST","RESET","ANY(HPT_TOG)","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","DEBUG","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"
]
],
"author":"",
"notes":""
}
What I would like to ask from you experts is that if it works properly or not, when I compile and flash it?
Thanks in advance for your comments.