Permalänk
Medlem

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), };

Visa signatur

|| divine creator ||

Permalänk
Inaktiv

@dorf_se:
Ta en titt på KLE för lite tips, där finns ett exempel på en standard "ISO 60%" (noteras kan t.ex. att ISO-enter ligger på rad 2 där (och inte rad3), sovra lite där så ser du nog rätt 'koder', personligen hade jag även helt skippat "Caps-Lock" och lagt t.ex. "App" (Menu) där istället, men det är ju finputsningen som man gör efterhand.

["¬\n`","!\n1","\"\n2","£\n3","$\n4","%\n5","^\n6","&\n7","*\n8","(\n9",")\n0","_\n-","+\n=",{w:2},"Backspace"], [{w:1.5},"Tab","Q","W","E","R","T","Y","U","I","O","P","{\n[","}\n]",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"Enter"], [{w:1.75},"Caps Lock","A","S","D","F","G","H","J","K","L",":\n;","@\n'","~\n#"], [{w:1.25},"Shift","|\n\\","Z","X","C","V","B","N","M","<\n,",">\n.","?\n/",{w:2.75},"Shift"], [{w:1.25},"Ctrl",{w:1.25},"Win",{w:1.25},"Alt",{a:7,w:6.25},"",{a:4,w:1.25},"AltGr",{w:1.25},"Win",{w:1.25},"Menu",{w:1.25},"Ctrl"]

(antar att du redan kollat ReadMe-filerna, annars är det steg1 )

Permalänk
Medlem

Vilka är de "rätta" för svensk ISO?
Har ingen möjlighet att kolla exakt vilka de är nu, men de är samma som för alla andra ISO, att det är svenska sätts bara i OS

Permalänk
Medlem
Skrivet av anon257891:

@dorf_se:
Ta en titt på KLE för lite tips, där finns ett exempel på en standard "ISO 60%" (noteras kan t.ex. att ISO-enter ligger på rad 2 där (och inte rad3), sovra lite där så ser du nog rätt 'koder', personligen hade jag även helt skippat "Caps-Lock" och lagt t.ex. "App" (Menu) där istället, men det är ju finputsningen som man gör efterhand.

["¬\n`","!\n1","\"\n2","£\n3","$\n4","%\n5","^\n6","&\n7","*\n8","(\n9",")\n0","_\n-","+\n=",{w:2},"Backspace"], [{w:1.5},"Tab","Q","W","E","R","T","Y","U","I","O","P","{\n[","}\n]",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"Enter"], [{w:1.75},"Caps Lock","A","S","D","F","G","H","J","K","L",":\n;","@\n'","~\n#"], [{w:1.25},"Shift","|\n\\","Z","X","C","V","B","N","M","<\n,",">\n.","?\n/",{w:2.75},"Shift"], [{w:1.25},"Ctrl",{w:1.25},"Win",{w:1.25},"Alt",{a:7,w:6.25},"",{a:4,w:1.25},"AltGr",{w:1.25},"Win",{w:1.25},"Menu",{w:1.25},"Ctrl"]

(antar att du redan kollat ReadMe-filerna, annars är det steg1 )

Jag har kollat "readme". TMK använder inte samma koder för tangenter som KLE så det fungerar inte tyvärr.

Skrivet av Applet:

Vilka är de "rätta" för svensk ISO?
Har ingen möjlighet att kolla exakt vilka de är nu, men de är samma som för alla andra ISO, att det är svenska sätts bara i OS

Jag har faktiskt löst det med ISO och vilka tecken som ska skickas. Det är precis så som jag har gjort det i första inlägget.
Anledningen till att jag frågade var för jag hade två kolumner som inte fungerade och antog att jag gjorde fel. Det som inte är rätt är höger shift och FN0 men det ska jag lösa. Nu är det så att kretskortet är på väg tillbaka till Falbatech pga av vad jag misstänker kallödningar på många av dioderna därav att två kolumner inte fungerade. Jag har suttit några timmar i helgen med det.

Tanken med att börja med TMK är att förstå hur det är upplagt. Jag ska snegla vidare på QMK senare.
Nu så har jag en "projektmapp" som jag hanterar med SVN så jag alltid är up-to-date, och har de paket som behövs för att kompilera.

Visa signatur

|| divine creator ||

Permalänk
Medlem

Okej, tråkigt att höra med kallödningen. Jag har också ett GH60 revc på väg från falbatech. Kommer nog gå över lödningarna på det då.

Lite offtopic, men jag har blivit helfrälst i spaceFN, rekommenderar att testa (fungerar riktigt bra i TMK)

Permalänk
Medlem

Ja, PCBt känns annars som om det är av bra kvalité. Bättre än poker/vortex t.ex. Så detta drar ju ner betyget lite men de har svarat på mina frågor och kommer att skicka ett nytt PCB till mig.

Det är ju typ funktioner som space/fn som jag vill ha möjlighet att prova. TMK känns väldigt anpassningsbart och de olika grenarna som t.ex. QMK bekräftar ju att det är det.

Visa signatur

|| divine creator ||

Permalänk
Medlem

De har testat PCBt nu i veckan på Falbatech och säger att de kommer att skicka ett nytt PCB till mig. De skriver "It's new revision and should be more reliable in future". Får se vad det innebär.

Visa signatur

|| divine creator ||

Permalänk
Medlem

Byggde ihop mitt falbatech GH60 i helgen, fungerade klockrent. Lödde dock om samtliga komponenter när jag ändå höll på för att eliminera risken för kalllödningar. Verkar vara riktigt schysst kvalitet.

Permalänk
Inaktiv
Skrivet av Applet:

...
Lite offtopic, men jag har blivit helfrälst i spaceFN, rekommenderar att testa (fungerar riktigt bra i TMK)

Lite mer o.t. Här är en till som är frälst på space/FN (funkar f.ö. i EasyAVR också).

Permalänk
Medlem

Jag har inte fått det nya ännu. Jag hoppas att det kommer fungera felfritt.

Visa signatur

|| divine creator ||

Permalänk
Medlem

Mitt GH60 från FalbaTech har fungerat felfritt, men jag vet att folk som köpt ungefär samtidig haft problem. Verkar vara lite lotto.

Permalänk
Inaktiv

Jag har ett Falbatech som ligger hemma och väntar på brytare (men nu vill jag nog testa det och se över lödningarna innan jag börjar löda, tack för varningen )

Mer OT: Jag är inte bara frälst i Sp/Fn, det är hela "tap-hold"-konceptet.
T.ex. så är ju: höger-FN/Höger-Menu/Höger-Ctrl och höger-shift som gjort för att vara piltangenter på "tap" och ordinarie funktion på "hold", för vänster ctrl/win/alt har man bonus-utrymme för t.ex. PgUp,pgDw,end eller annat valfritt (Makro).

Permalänk
Medlem

@Applet: @anon257891: @Khers:
Kör ni TMK eller något annat? Kan ni inte dela med er av era filer?

Visa signatur

|| divine creator ||

Permalänk
Medlem

@dorf_se: jo. det vore trevligt då jag har ett GH60 satan som kommer om någon vecka.

Permalänk
Medlem

@dorf_se: Jag kör TMK på mitt. Filerna ligger dock hemma, men jag tvivlar på att de är speciellt intressanta ändå; Det är en helt vanlig US-ANSI/HHKB, dvs inga svenska tecken i keymappen (kör US International för att kunna skriva Å, Ä och Ö).

Permalänk
Medlem

Min hastiga TMK keymap. Inget speciellt, lik HHKB fast med spaceFN, flyttade mediaknappar och WASD-pilar (och lite annat). Togglar plats på LCTRL och LGUI beroende på om jag sitter vid Linux eller OSX. Kör också US International för ÅÄÖ.

Jag är medveten om att mediaknapparna har bättre variabelnamn, men jag orkade inte leta rätt på dom

EDIT: fixade länk och lite text

Permalänk
Medlem

@Khers: Jag tänker att denna tråd kunde vara lite "utbildning" i TMK och hur man, jag i detta fallet, får till olika funktioner.

Har du några FN-lager?
Har du några lysdioder? WASD, ESC, CAPS?

Visa signatur

|| divine creator ||

Permalänk
Medlem
Skrivet av anon257891:

@dorf_se:
Ta en titt på KLE för lite tips, där finns ett exempel på en standard "ISO 60%" (noteras kan t.ex. att ISO-enter ligger på rad 2 där (och inte rad3), sovra lite där så ser du nog rätt 'koder', personligen hade jag även helt skippat "Caps-Lock" och lagt t.ex. "App" (Menu) där istället, men det är ju finputsningen som man gör efterhand.

["¬\n`","!\n1","\"\n2","£\n3","$\n4","%\n5","^\n6","&\n7","*\n8","(\n9",")\n0","_\n-","+\n=",{w:2},"Backspace"], [{w:1.5},"Tab","Q","W","E","R","T","Y","U","I","O","P","{\n[","}\n]",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"Enter"], [{w:1.75},"Caps Lock","A","S","D","F","G","H","J","K","L",":\n;","@\n'","~\n#"], [{w:1.25},"Shift","|\n\\","Z","X","C","V","B","N","M","<\n,",">\n.","?\n/",{w:2.75},"Shift"], [{w:1.25},"Ctrl",{w:1.25},"Win",{w:1.25},"Alt",{a:7,w:6.25},"",{a:4,w:1.25},"AltGr",{w:1.25},"Win",{w:1.25},"Menu",{w:1.25},"Ctrl"]

(antar att du redan kollat ReadMe-filerna, annars är det steg1 )

Denna halkade jag in på idag. http://tkg.io/ Har inte provat ännu men man ska kunnna kopiera in sin layout från KLE och få ut TMK-filer.

Visa signatur

|| divine creator ||

Permalänk
Medlem
Skrivet av Applet:

Min hastiga TMK keymap. Inget speciellt, lik HHKB fast med spaceFN, flyttade mediaknappar och WASD-pilar (och lite annat). Togglar plats på LCTRL och LGUI beroende på om jag sitter vid Linux eller OSX. Kör också US International för ÅÄÖ.

Jag är medveten om att mediaknapparna har bättre variabelnamn, men jag orkade inte leta rätt på dom

EDIT: fixade länk och lite text

Tack för detta!

Jag fick PCBt från Falbatech igår. Ny revision och det märktes främst på hålen som man löder i. Jag kan inte se någon visuell skillnad från det förra annars. Lödde och provide lite snabbt igår kväll och nu fungerar det utan problem.

Visa signatur

|| divine creator ||

Permalänk
Medlem

Har visst glömt ladda upp min konfig, och för tillfället vill den inte bli hittad i min unikt kaotiska mappstruktur (hade jag vetat ungefär vad filen fick för namn hade sök varit en idé). Dock är den väldigt lik den @Applet länkat; HHKB-layout (jag gör dock ingen rockad på grave och back slash), men ingen space-Fn. Mitt Fn-lager nås genom Fn till höger om högra shift och ser ut som följer:

ESC,F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,INS,DEL, \ CAPS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,UP,TRNS,DEL, \ TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,PAST,PSLS,HOME,PGUP,LEFT,RGHT,PENT, \ TRNS,NO,MEDIA_PR,MEDIA_PP,MEDIA_NX,TRNS,TRNS,PPLS,PMNS,END,PGDN,DOWN,TRNS,TRNS, \ NO, TRNS,TRNS,TRNS,NO, TRNS,TRNS,NO

Dvs, HHKB med mediakontroll på Z, X och C.

Permalänk
Medlem

Ah, bra input! rockad av grave och back slash var en miss av mig, fixat. Nu måste jag bara vänja mig vid det

EDIT: Jag tycker för övrigt det är väldigt skönt att enkelt komma åt pilar, enter och backspace på vänster sidan av tangentbordet. Det brukar vara en av anledningarna jag behöver switcha mellan mus och tangentbord med högerhand, när man använder musen.

Permalänk
Medlem

En bild på min TMK-testare...
Plastcase från Ebay ~85kr, felskickade caps från WASD ~gratis

Lysdioden på caps är inte lödd ännu. Testar lite bara.

Visa signatur

|| divine creator ||

Permalänk
Medlem

Här är den fungerande keymap.poker.c
Lite märkligt är det att FN0 är på vänster sida om shift för att fungera men det klarnar nog när jag väl förstår.

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,FN0, RSFT,\ LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL), /* 1: fn layer */ KEYMAP( GRV ,F1 ,F2 ,F3 ,F4 ,F5 ,F6 ,F7 ,F8 ,F9 ,F10 ,F11 ,F12 ,DEL , \ TRNS,TRNS,UP ,TRNS,TRNS,TRNS,CALC,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \ TRNS,LEFT,DOWN,RGHT,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), };

Visa signatur

|| divine creator ||

Permalänk
Inaktiv

Ni som kör med Tap/Hold (t.ex. Spb/Fn), vilken tid har ni satt på "Tap"?

Permalänk
Medlem

@anon257891: Jag har inte kommit dit ännu. Jag håller fortfarande på att testa olika layouter. Vad har du för tid?

Visa signatur

|| divine creator ||

Permalänk
Inaktiv

@dorf_se:
Jag har också precis börjat "tweaka" dessa, så jag vill ha en liten genväg till vettiga värden

Men just nu:
Holdtime: 200 ms (från default 240) (känns fortfarande som ett högt värde)
Debouncetime: 4 ms (default 6 ms)
Matrix wait: 5 (default 5)

(Dessa värden är inte några optimala eller slutgiltliga värden, det är bara där jag råkar ligga nu i min "tweak-cykel" (för att hinna utvärdera vara steg ordentligt).)

Permalänk
Medlem

@anon257891:

Hej ni duktiga på TMK. Hur gör ni för att Compila hex?
Jag verkar inte kunna köra Make - kommandot.(Beror säkert på att jag är trög).

/Johan

Permalänk
Medlem

GH60

Hej! Jag har ett gh60 som verkar fungera, men jag har svårt att göra egna kodade Keymaps och skriva till tangentbordet.

På en dator fick jag in hex genom toolkitet. Filen skapade jag genom Webb-verktyget på https://tkg.io/ .

Nu sitter jag på en annan dator och försöker tweaka och nu verkar jag inte få kontakt med bootloadern.
Har lagt in drivisarna från Zadic + WinAWR. Har testat toolkit-bat och får bara felmeddelanden när jag försöker compila.

Någon som har allmänna tips? Kanske någon som kan skriva en snabb hjälp?
Jag försöker få in en ISO-60 med svensk layout(standard) + lager med F1-F12 mm.

Tacksam för tips.
//Johan

Permalänk
Medlem

@J0hanm: Jag följde denna guide: https://imgur.com/a/rfezG

Den kanske kan vara till någon hjälp.

Permalänk
Medlem
Skrivet av J0hanm:

@anon257891:

Hej ni duktiga på TMK. Hur gör ni för att Compila hex?
Jag verkar inte kunna köra Make - kommandot.(Beror säkert på att jag är trög).

/Johan

Jag har faktiskt tänkt att göra en guide på hur jag gjort för att skapa och kompilera filer. Jag har en virtuell Linux-maskin som jag använder. Sen använder jag flip i windows för att skicka över filen.
Det som jag ser som fördel är att eftersom jag använder svn så kompilerar jag alltid senaste versionen av TMK.

Visa signatur

|| divine creator ||