TMK keyboard
Jag har gett mig på TMK, jag tror jag kan programmera mer "öppet" än med EasyAVR.
Mitt testobjekt är GH60 rev.c från Falbatech.
Det jag vill göra är, naturligtvis, en svensk layout. Alltså ISO svensk.
\GH60\tmk_keyboard-master\keyboard\gh60
matrix.c
Jag har antagit att denna är enligt GH60, förvisso rev.a & rev.b men rev.c innehåller så vitt jag vet inga ändringar som skulle påverka.
keymap_common.h
Här har jag vad jag tror lagt till de tangenter som är extra på ISO alltså K2C och K31 plus att jag har en funktionstangent till höger om höger shift. Shift är alltså K3C och FN0 K3D. Jag har tagit bort K1D iom att Enter sitter över två rader.
#define KEYMAP( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
K40, K41, K42, K45, K4A, K4B, K4C, K4D \
) { \
{ KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K0C, KC_##K0D }, \
{ KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K1C, KC_NO }, \
{ KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D }, \
{ KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K3C, KC_##K3D }, \
{ KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_NO, KC_##K45, KC_NO, KC_NO, KC_NO, KC_NO, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D } \
}
keymap_poker.c
Så kommer vi då till att knyta knapptryck till vad som ska skickas. Här kommer min första fråga. Vilka är de "rätta" för svensk ISO?
Jag vet att den scan code som skickas blir "rätt" beroende på vad man har för språk inställt men jag lyckas inte knyta Hasu's keycode till scan codes?
I fn-lagret så har jag inte lagt in något ännu därför står alla tangenter som TRNS.
const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 0: qwerty */
KEYMAP(
ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, \
CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT,NUHS, ENT, \
LSFT,NUBS, Z, X, C, V, B, N, M, COMM,DOT, SLSH,RSFT, FN0, \
LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL),
/* 1: fn layer */
KEYMAP(
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS),
};
const action_t PROGMEM fn_actions[] = {
[0] = ACTION_LAYER_MOMENTARY(1),
};
|| divine creator ||