Author Topic: TMK keyboard firmware  (Read 828154 times)

0 Members and 2 Guests are viewing this topic.

Offline hasu

  • Thread Starter
  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK keyboard firmware
« Reply #1450 on: Tue, 17 May 2016, 16:21:38 »
Hasu, I am using the alps64 hex generator website:

http://www.tmk-kbd.com/tmk_keyboard/editor/alps64/index.html

I cannot get left or right alt keys to work on any layers or keys.  I have tested the all the switches for various other commands, and they seem to work fine.  I even mapped L7 to a key and alt to that same key, but that didn't work. Need my alt + tab T_T

X-post

You cannot do that at this time at least, I have a plan to improve this limitation but not soon.

Offline alienman82

  • * Elevated Elder
  • Posts: 4051
Re: TMK keyboard firmware
« Reply #1451 on: Tue, 17 May 2016, 16:22:19 »
removed.
« Last Edit: Thu, 01 March 2018, 15:11:55 by alienman82 »

Offline hasu

  • Thread Starter
  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK keyboard firmware
« Reply #1452 on: Tue, 17 May 2016, 16:25:33 »
Hasu, I am using the alps64 hex generator website:

http://www.tmk-kbd.com/tmk_keyboard/editor/alps64/index.html

I cannot get left or right alt keys to work on any layers or keys.  I have tested the all the switches for various other commands, and they seem to work fine.  I even mapped L7 to a key and alt to that same key, but that didn't work. Need my alt + tab T_T

X-post

You cannot do that at this time at least, I have a plan to improve this limitation but not soon.


Can building firmware without the tool fix this??

Not sure exactly your problem. Can you post editor URL for your keymap?

Offline alienman82

  • * Elevated Elder
  • Posts: 4051
Re: TMK keyboard firmware
« Reply #1453 on: Tue, 17 May 2016, 16:35:57 »
removed.
« Last Edit: Thu, 01 March 2018, 15:11:52 by alienman82 »

Offline TD22057

  • Posts: 177
  • Location: Southern California
Re: TMK keyboard firmware
« Reply #1454 on: Tue, 17 May 2016, 17:07:22 »
Right, no reason to hesitate actionmap except for twice usage of flash memory and conventinalism.

Thanks!  Any thoughts on my questions about features in post 1445?

Offline firerock

  • Posts: 19
  • Location: Rostov-on-Don, Russia
Re: TMK keyboard firmware
« Reply #1455 on: Wed, 18 May 2016, 11:00:09 »
Hello friends,

I'm currently bringing new life to the old Soviet Izot Magnetic Reed Switch terminal keyboard. For some reasons, I've decided to create the new Teensy-based PCB for this monster.

So, I've got a bunch of very old-fashioned key legend combinations. And following symbol pairs are sharing the same keys: 2 and ", 6 and &, 7 and ', 8 and (, 9 and ), ; and +, : and *. Also, there are @ and ^ at non-shifted positions. How to implement this layout using TMK?

As far as I've got, I could use Fn keys for that purpose. But what I don't understand is how to assign the different meanings for these keys at the normal and shifted positions? Is it possible after all?

Thank you in advance for the answers!

And here is the layout itself, the troublesome keys have red outlines:

137424-0
« Last Edit: Wed, 18 May 2016, 11:45:12 by firerock »

Offline hasu

  • Thread Starter
  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK keyboard firmware
« Reply #1456 on: Wed, 18 May 2016, 11:40:06 »
Hey hasu,
I'd like to try and support the following features.  Any ideas on if they've been done before or how hard they would be to implement?

1) key to turn oneshot mods on and off for all mods (or a list of mods).  I want to be able to try out oneshot mods for shift, alt, ctrl but I may want to turn them off if I decide I don't like them so I'd like to have a key that globally enables and disables them (using an fn_actions function).

2) oneshot mod when a mod is tapped and normal mod when held - like ACTION_MODS_TAP_KEY( LSFT, LSFT ).  So tap left shift and get a normal oneshot behavior, hold it to get regular shift behavior (oneshot might already work this way - I haven't tried it yet).

3) oneshot layer switch.  Tap FN key which switches to layer 2 and after any key press switches back to layer 1.  Similar to 2) - if FN is held down, layer 2 is active until FN is released - i.e. if FN is held down and another key is pressed, that key from layer 2 is used and the layer switches back to 1 when FN is released but if FN is tapped, then the next key is from layer 2.

I noticed that action_util.h contains these function prototypes but they aren't defined or used anywhere.  I'm guessing these declarations should be removed.
Code: [Select]
void oneshot_toggle(void);
void oneshot_enable(void);
void oneshot_disable(void);



1) Not sure what you want, can you rephrase it with examples?
2) Maybe it is what ACTION_MODS_ONESHOT does. Why don't you try it first?
3) It looks reasonable and useful. Implement it! Not so hard, I think.

As for action_util.h it looks true. Send pull request to https://github.com/tmk/tmk_core if possible.

Offline chupanibre

  • Posts: 7
Re: TMK keyboard firmware
« Reply #1457 on: Fri, 20 May 2016, 04:58:35 »
hi, and thanks for making this firmware, it's working great!

i have a question about "ghosting", my keyboard sadly doesn't have diodes for every key.
that means, for example, if i hold "asd" and press "e", my keyboard also sends "qw" although these keys aren't pressed.
is there anything i can do to prevent these false keypresses with software?
i've seen the "MATRIX_HAS_GHOST" parameter, but found no further explanation in the readme files.

it's not a big deal, but if there's an easy fix for this i'd be happy to know!

Offline hasu

  • Thread Starter
  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK keyboard firmware
« Reply #1458 on: Fri, 20 May 2016, 06:46:15 »
It should be what you need. Try it and contribute missing document for this.

Sent from my Nexus 5X using Tapatalk


Offline alienman82

  • * Elevated Elder
  • Posts: 4051
Re: TMK keyboard firmware
« Reply #1459 on: Fri, 20 May 2016, 18:12:09 »
removed.
« Last Edit: Thu, 01 March 2018, 15:09:46 by alienman82 »

Offline BlueNalgene

  • Posts: 739
  • Location: Oklahoma, USA
Re: TMK keyboard firmware
« Reply #1460 on: Fri, 20 May 2016, 18:24:32 »
Hello friends,

I'm currently bringing new life to the old Soviet Izot Magnetic Reed Switch terminal keyboard. For some reasons, I've decided to create the new Teensy-based PCB for this monster.

So, I've got a bunch of very old-fashioned key legend combinations. And following symbol pairs are sharing the same keys: 2 and ", 6 and &, 7 and ', 8 and (, 9 and ), ; and +, : and *. Also, there are @ and ^ at non-shifted positions. How to implement this layout using TMK?

As far as I've got, I could use Fn keys for that purpose. But what I don't understand is how to assign the different meanings for these keys at the normal and shifted positions? Is it possible after all?

Thank you in advance for the answers!

And here is the layout itself, the troublesome keys have red outlines:

(Attachment Link)

This sounds like a neat project.  Unfortunately, you cannot change how shift treats keys with TMK afaik.  To do something like that, you would need to write some extra code from scratch telling the firmware to treat the 'shift' key as something like 'shift2'.  You then define in a header the shift2 is actually meant to do all of these crazy things one by one. 

With TMK, you could do something similar quite simply.  What you are looking for are function layers.  You could tell the keyboard to treat the 'shift' key as 'fn1' where fn1 brings up a new layer with the things you want.  You might be able have that second layer give caps versions of the non-special letters by, for example, telling the keyboard when layer fn1 is activated and the "x" key is pressed to send "shift+x".  I'm not sure how you would implement that in the code though.

Offline hasu

  • Thread Starter
  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK keyboard firmware
« Reply #1461 on: Fri, 20 May 2016, 18:48:41 »
Hasu, I am using the alps64 hex generator website:

http://www.tmk-kbd.com/tmk_keyboard/editor/alps64/index.html

I cannot get left or right alt keys to work on any layers or keys.  I have tested the all the switches for various other commands, and they seem to work fine.  I even mapped L7 to a key and alt to that same key, but that didn't work. Need my alt + tab T_T

X-post

You cannot do that at this time at least, I have a plan to improve this limitation but not soon.


Can building firmware without the tool fix this??

Not sure exactly your problem. Can you post editor URL for your keymap?

http://bit.ly/1W11EAl

My issue is not a macro.  I cannot get 'alt' to work for any keys on the keyboard
I don't see any ALT on your keymap.

Describe what you want to do and your problem in detail using example, use case or scenario.

Sent from my Nexus 5X using Tapatalk


Offline alienman82

  • * Elevated Elder
  • Posts: 4051
Re: TMK keyboard firmware
« Reply #1462 on: Fri, 20 May 2016, 18:51:07 »
removed.
« Last Edit: Thu, 01 March 2018, 15:09:43 by alienman82 »

Offline hasu

  • Thread Starter
  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK keyboard firmware
« Reply #1463 on: Fri, 20 May 2016, 19:02:49 »
Ha, your keymap works completely to me, lol.
Downloaded your keymap and flashed it on my Alps64 and it works! :D

Then, your problem is reltated to your hardware, OS setting or ...

Offline alienman82

  • * Elevated Elder
  • Posts: 4051
Re: TMK keyboard firmware
« Reply #1464 on: Fri, 20 May 2016, 19:29:38 »
removed.
« Last Edit: Thu, 01 March 2018, 15:09:40 by alienman82 »

Offline chupanibre

  • Posts: 7
Re: TMK keyboard firmware
« Reply #1465 on: Sat, 21 May 2016, 05:43:38 »
Try it
ok, i simply put the line #define MATRIX_HAS_GHOST in the config.h file and recompiled. turns out that was all i needed to do :) i wasn't sure if it would work because the (commented) line is not present in the ps2/usb converter code. it doesn't completely solve the problem (only diodes will, i guess), but the situation is slightly improved. most of the "ghosts" are gone. there are still some cases of wrong keypresses, but no more "ghost rows". for example "asd" + "e" now gives me "sdq" (before "asdqwe"). of course, my other keyboard with full nkro gets limited by this as well if i don't recompile the firmware without the parameter..
and contribute missing document for this.
umm.. does the above qualify..?

Offline hasu

  • Thread Starter
  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK keyboard firmware
« Reply #1466 on: Sat, 21 May 2016, 07:04:56 »
Oh, wait. are you using converter? You should have said about this first!
Ghost block code doesn't work on converter at all. I'm suprised at the fact your keyboard has no ghost block code, I didn't even know such keyboard exists. It sucks. I'm curious about what your keyboard is in fact.

Offline skullydazed

  • * Vendor
  • Posts: 307
  • Location: Bay Area, CA
  • Had to turn PM's off. Email info@clueboard.co!
    • Clueboard
Re: TMK keyboard firmware
« Reply #1467 on: Sat, 21 May 2016, 08:22:54 »
Hello friends,

I'm currently bringing new life to the old Soviet Izot Magnetic Reed Switch terminal keyboard. For some reasons, I've decided to create the new Teensy-based PCB for this monster.

So, I've got a bunch of very old-fashioned key legend combinations. And following symbol pairs are sharing the same keys: 2 and ", 6 and &, 7 and ', 8 and (, 9 and ), ; and +, : and *. Also, there are @ and ^ at non-shifted positions. How to implement this layout using TMK?

As far as I've got, I could use Fn keys for that purpose. But what I don't understand is how to assign the different meanings for these keys at the normal and shifted positions? Is it possible after all?

Thank you in advance for the answers!

And here is the layout itself, the troublesome keys have red outlines:

(Attachment Link)

That's a national layout, and you probably don't want to program the keys to send the US equivalents of those characters.

Quick 10,000 ft view- when you press a key on your keyboard it doesn't send a character. Instead it sends a scan code, which is just a number corresponding to that particular button. Your OS will read that scancode and then convert it to a character. So when you press the number 2 on any keyboard it always sends the same scancode, even if you have a french azerty keyboard that will type é instead.

In your case, you probably want to configure your number row to send the same numbers as any other keyboard. Then you'll need to configure your OS to use a keyboard input language that corresponds to the keyboard you're using.

If you want to design your keyboard so it sends the corresponding characters even while your computer is configured for standard QWERTY input, you will need to define a lot of macros, and replace your shift key with an Fn instead. I do not recommend this approach as you will spend a lot of time putting it together and troubleshooting it to get the behavior right.

Offline chupanibre

  • Posts: 7
Re: TMK keyboard firmware
« Reply #1468 on: Sat, 21 May 2016, 12:57:50 »
Oh, wait. are you using converter? You should have said about this first!
Ghost block code doesn't work on converter at all.
well, it does, at least a little. like i said, it improves the ghosting a bit, "worst case" key combinations now only produce one false keypress instead of a row. and in some situations, it successfully blocks the wrong key and delivers the rest. works, but not perfectly.
Quote
I'm curious about what your keyboard is in fact.
here's the current (desolate) state of affairs: http://imgur.com/cqUPx1t
i don't have the enclosure, the only lettering on the pcb is "OTC". looks like it's a cousin of the otc ok-keyboard 100m, it has a similar mounting plate but mine has complicated white alps.
it was meant as a testing bed for layouts and keycaps, but i do like the current configuration a lot. all the letter keys had their clicky/tactile plate removed, the rest is unmodified (but cleaned and lubed). and the ghosting thing hasn't been a noticeable issue so far..

also,
Quote
It sucks.
hey!! :'(:'(:'(

Offline firerock

  • Posts: 19
  • Location: Rostov-on-Don, Russia
Re: TMK keyboard firmware
« Reply #1469 on: Sat, 21 May 2016, 18:51:37 »
BlueNalgene, skullydazed, thank you for the valuable info!
OK then, I'll make the standard layout and when everything will work fine, I'll create the custom Windows layout for those peculiar combos.
So, now I have to wait until the PCB will be shipped as well as other parts I've ordered.
And when I'll be done, I'll definitely post my build report!
« Last Edit: Sat, 21 May 2016, 18:56:08 by firerock »

Offline TD22057

  • Posts: 177
  • Location: Southern California
Re: TMK keyboard firmware
« Reply #1470 on: Sun, 22 May 2016, 20:46:08 »
FYI - in case anyone cares... I've implemented oneshot mods functions to toggle oneshots mods on and off globally.  The branch is here and the pull request is here.  This allows me to declare all my mods as oneshots and then toggle that behavior on and off with a key on one of my function layers.

Quote
This branch implements the following functions to control oneshot behavior and adds an action macro ACTION_MODS_ONESHOT_TOGGLE() to call the toggle function.

    oneshot_toggle()
    oneshot_enable()
    oneshot_disable()

If oneshot is disabled, then any key marked as oneshot behaves normally. When oneshot is enabled (the default), keys marked as oneshot work that way. It does not turn any modifier into a oneshot modifier - only mods marked that way in the action map will work as oneshots. This just allows that behavior to be turned off if desired.

This makes it easy to experiment in a keymap with oneshot modifiers. They can be declared as oneshot mods and another key can be designated to turn the oneshot behavior on and off. So the deciding to use oneshots or not is a software switch controlled from the keyboard instead of requiring a change to the firmware.

Offline shaymdev

  • Posts: 56
  • Location: SLC, UT
Re: TMK keyboard firmware
« Reply #1471 on: Fri, 27 May 2016, 23:53:19 »
I'm working with the Adafruit Feather 32u4 Bluefruit LE. pinout and product link

 My end goal is to use TMK with the bluetooth from the board. It's been almost a year since I did this for my first custom build (using a teensy 2)and now I'm having trouble with this microcontroller. As a starting point I'm trying to get TMK working with the "onekey" keyboard but I can't even get that working. I'm using the onekey from tmk as of a day ago (with one change to use pin f0 and f1).

I'm using avrdude to program the board with the hex file. When I push the bootloader button on the board and run lsusb I see the board

Code: [Select]
Bus 003 Device 046: ID 239a:000c
but once the device is programmed I don't get anything in lsusb for it and I can't get hid_listen to find the device (just continues waiting for a device).
I'm on Ubuntu 14.04. I've created the /etc/udev/rules.d/52-tmk-keyboard.rules with the following:
Code: [Select]
SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666".

My other keyboard that's got tmk on a teensy is showing up in lsusb and can be read by hid_listen.

When use the same programming commands and push a hex I built from the adafruit tutorials with the arduino ide I can successfully program the board (it'll show in lsusb with the same 239a:000c entry as above and connect it via bluetooth to my phone). This leads me to believe it's maybe an issue with the udev type stuff. Oh, and when I plug it into a windows machine I get "usb device not recognized" errors.

Any suggestions would be greatly appreciated.
« Last Edit: Fri, 27 May 2016, 23:58:26 by shaymdev »

Offline hasu

  • Thread Starter
  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK keyboard firmware
« Reply #1472 on: Sat, 28 May 2016, 00:00:08 »
what Mhz Xtal does that product has? did you check its frequency?
Many projects in TMK is assuming it is 16MHz.

Offline shaymdev

  • Posts: 56
  • Location: SLC, UT
Re: TMK keyboard firmware
« Reply #1473 on: Sat, 28 May 2016, 00:06:51 »
After days of trying and reading I decide to post the question then find a solution 2 minutes later... :-[

Sounds like one of these. http://www.adafruit.com/products/2661

Probably need to set the CPU frequency to 8Mhz in your makefile.


hrm... just tried setting: 

F_CPU = 8000000


This worked for me! Oh it was an exciting moment.

Now I'm going to explore the bluetooth side of things. I'll probably start by using the bluetooth hid tutorial from adafruit and see what kind of integration I can get with tmk. From what I can tell this type of stuff hasn't been done yet (my searches have indicated some people starting to look into but not getting very far). If I'm reinventing the wheel please let me know!

edit: woah, and I was ninja post'd by hasu. Thanks, for your lightning speed!
« Last Edit: Sat, 28 May 2016, 00:09:25 by shaymdev »

Offline TD22057

  • Posts: 177
  • Location: Southern California
Re: TMK keyboard firmware
« Reply #1474 on: Sat, 28 May 2016, 16:34:52 »
Has anyone tried out the chibios version on a Teensy 3.2?  I've been struggling all afternoon to solder D+ and D- to the mini usb connector on my Teensy 2.0 (I don't have enough space in my case for the giant connector that's in the mini usb cables) and have basically given up.  The 3.2 has the USB connectors as pads on the bottom which would solve this in a trivial fashion if I can use it.

Offline a-c

  • Posts: 196
  • Location: USA
Re: TMK keyboard firmware
« Reply #1475 on: Sat, 28 May 2016, 17:27:56 »
Has anyone tried out the chibios version on a Teensy 3.2?  I've been struggling all afternoon to solder D+ and D- to the mini usb connector on my Teensy 2.0 (I don't have enough space in my case for the giant connector that's in the mini usb cables) and have basically given up.  The 3.2 has the USB connectors as pads on the bottom which would solve this in a trivial fashion if I can use it.


Would something like what they do on the ergodox work? https://keyboard-configurator.massdrop.com/ext/ergodox/assembly.php Scroll down to step 7.

Offline TD22057

  • Posts: 177
  • Location: Southern California
Re: TMK keyboard firmware
« Reply #1476 on: Sat, 28 May 2016, 18:04:56 »
Would something like what they do on the ergodox work? https://keyboard-configurator.massdrop.com/ext/ergodox/assembly.php Scroll down to step 7.

That's what I've been trying.  I cut up different USB cables and they were both a little larger than the one shown there which is bigger than my case can deal with.  I need a solution that doesn't have the large metal connector.  I managed to pull out the plastic tray the pins sit in inside that connector but the solder points are very small and I can't get a reliable connection to it.  My soldering skills just aren't as good as I thought they were...

Offline Eszett

  • Posts: 543
  • Supporting the communities Geekhack & Deskthority
Re: TMK keyboard firmware
« Reply #1477 on: Mon, 30 May 2016, 18:20:47 »
I'd like to have rows as "output high", and cols as "input low", how do i have to alter these two passages of the code?
Code: [Select]
static matrix_row_t read_cols(void)
{
    return (PINB&(1<<3) ? 0 : (1UL<<0)) |
           (PINB&(1<<2) ? 0 : (1UL<<1)) |
           (PINB&(1<<1) ? 0 : (1UL<<2)) |
           (PINB&(1<<0) ? 0 : (1UL<<3)) |
           (PINC&(1<<7) ? 0 : (1UL<<4)) |
           (PINF&(1<<0) ? 0 : (1UL<<5)) |
           (PINF&(1<<1) ? 0 : (1UL<<6)) |
           (PINF&(1<<4) ? 0 : (1UL<<7)) |
           (PINF&(1<<5) ? 0 : (1UL<<) |
           (PINF&(1<<6) ? 0 : (1UL<<9)) |
           (PINF&(1<<7) ? 0 : (1UL<<10)) |
           (PINC&(1<<6) ? 0 : (1UL<<11)) |
           (PINB&(1<<6) ? 0 : (1UL<<12)) |
           (PINB&(1<<5) ? 0 : (1UL<<13)) |
           (PINB&(1<<4) ? 0 : (1UL<<14)) |
           (PIND&(1<<7) ? 0 : (1UL<<15)) |
           (PIND&(1<<6) ? 0 : (1UL<<16)) ;
}
and
Code: [Select]
static void unselect_rows(void)
{
    DDRD  &= ~0b00101111;
    PORTD &= ~0b00101111;
}
« Last Edit: Tue, 31 May 2016, 05:42:21 by Eszett »

Offline rondg

  • Posts: 500
Re: TMK keyboard firmware
« Reply #1478 on: Mon, 30 May 2016, 22:01:42 »
Hi there!

I am planning to make a keyboard and use TMK for the firmware. The layout will be similar to lightsaver. If I plan to add in-switch/underglow leds,  later on the build, how do I go about the keyboard matrix? I believe that the layout is 19x6, with approx 100 keys. Will it be simpler to use Teensy++ 2.0? Or should I just use Teensy 2.0 and make a 10x10 matrix? Is there a better approach?

Offline alexjd99

  • Posts: 424
  • Location: Santa Cruz, CA
  • oozing through the cells of one's own construction
Re: TMK keyboard firmware
« Reply #1479 on: Tue, 31 May 2016, 22:03:39 »
So I've been trying to figure out how to use this for a while to program my gh60, and I've looked all over for tutorials, and I still can't figure out how to use this at all. I have all the files downloaded and everything sorted out, but I can't figure out how to make my own layout for the life of me.

Does anyone have any recommendation on a tutorial/guide on how to use this? I'm pretty confused with everything after trying for a few days and making no progress at all (I'm also using windows so preferably a windows guide)

Offline RavenII

  • Posts: 191
Re: TMK keyboard firmware
« Reply #1480 on: Wed, 01 June 2016, 09:36:21 »
So I've been trying to figure out how to use this for a while to program my gh60, and I've looked all over for tutorials, and I still can't figure out how to use this at all. I have all the files downloaded and everything sorted out, but I can't figure out how to make my own layout for the life of me.

Does anyone have any recommendation on a tutorial/guide on how to use this? I'm pretty confused with everything after trying for a few days and making no progress at all (I'm also using windows so preferably a windows guide)

Well, for starters, what does "Everything sorted out" mean? You've got all your prereqs installed? Compiler, etc? What OS are you on? What have you tried?

Offline netdudeuk

  • Posts: 6
Re: TMK keyboard firmware
« Reply #1481 on: Wed, 01 June 2016, 13:19:58 »
Hi

I'm using the IBM Model M version of the TMK code to try and hook up an old USB keyboard with a PS2 adapter to my PC via an Arduino Micro and an Adafruit EZ-Key.

I can pair ok and send key presses from the pre-programmed input pins.

The keyboard looks to be reset by the Micro and I see this in the debugging output -

started logging
[ Initializing PS2 matrix ]
setting global host driver
wFF [ack]
RESET_RESPONSE: rAA [ok]
KBD_ID:

Adafruit Bluefruit HID v1.2 5/12/2014

Attempt to connect to 9,dd,500e7e
Connected
NL:Y CL:N SL:N


When I press the main ENTER key, I get loads of output like this -


r5A rF0
CODESET_QUERY: wF0 [ack] w00 [codeset] FA [ack]
CODESET_RESPONSE: r02 02 [ok]
CODESET_REQUEST: wF0 [ack] w03 [ok]
CODESET_QUERY: wF0 [ack] w00 [codeset] FA [ack]
CODESET_RESPONSE: r02 02 [ok]
CODESET_REQUEST: wF0 [ack] w03 [ok]
CODESET_QUERY: wF0 [ack] w00 [codeset] FA [ack]
CODESET_RESPONSE: r02 02 [ok]
CODESET_REQUEST: wF0 [ack] w03 [ok]
CODESET_QUERY: wF0 [ack] w00 [codeset] FA [ack]
CODESET_RESPONSE: r02 02 [ok]
CODESET_REQUEST: wF0 [ack] w03 [ok]
CODESET_QUERY: wF0 [ack] w00 [codeset] FA [ack]
CODESET_RESPONSE: r02 02 [ok]
CODESET_REQUEST: wF0 [ack] w03 [ok]

and so on ...


I don't get a key press on the PC but the 5A F0 is encouraging as they do seem to relate to this ENTER key.

Any idea what the rest of the debug output implies and why I don't see the key press ?

Thanks


Offline hasu

  • Thread Starter
  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK keyboard firmware
« Reply #1482 on: Sat, 04 June 2016, 10:19:15 »

Offline Hypersphere

  • Posts: 1886
  • Location: USA
Re: TMK keyboard firmware
« Reply #1483 on: Fri, 10 June 2016, 07:21:53 »
I have a 60% keyboard with the Hasu Alps64 PCB, and I wish to use the excellent TMK editor to create a HHKB-like layout. However, I have been unsure what to do with two things:

1. How to designate keys that are on the editor map but not on my keyboard (such as the split Backspace and split left and right Shift keys).

2. How to designate a Fn key. For example, I would like to remap the RCtrl as Fn.

I have been told by a very knowledgeable source that for (1) I can either do nothing or use the "NO" designation. Likewise, for (2), I have been told to use L1 for Fn for layer 1, L2 for Fn for layer 2, etc. This certainly makes logical sense, but I wanted to check because the documentation can seem confusing for new users.

UPDATE: After some false starts trying to flash the chip with FLIP for Windows, I was about to move over to my Linux box, but I got things working. My first hex file was not quite correct, but I re-did it, and SUCCESS! I now have a custom brown Alps 60% board with a HHKB layout, complete with media controls.

For reasons unknown the Esc key is unresponsive, which I think is a hardware problem with the board, but I made a new Esc key by mapping Fn+E --> Esc.

Full programmability is definitely the way to go with keyboards. I hope that keyboard companies will start incorporating fully programmable chips using either TMK or their own systems for programming.

In any event, Thanks, Hasu! You have created a marvelous tool and made it relatively easy to use.

« Last Edit: Fri, 10 June 2016, 14:35:14 by Hypersphere »

Offline climbalima

  • Posts: 130
  • Location: Boston MA
  • likes building stuff
Re: TMK keyboard firmware
« Reply #1484 on: Fri, 10 June 2016, 17:41:28 »
Would adding laptop trackpad support work in the same way as trackpoint support?

Offline nephiel

  • Posts: 129
  • Location: Spain
Re: TMK keyboard firmware
« Reply #1485 on: Fri, 10 June 2016, 20:00:11 »
Would adding laptop trackpad support work in the same way as trackpoint support?
A touchpad? If it uses PS/2, then it should probably just work as a mouse, but some features such as multitouch or edge scrolling may not work.
Stop wasting space! Chop your spacebar into bits!
NPH60: a custom 60% w/TrackPoint & split spacebar

Offline climbalima

  • Posts: 130
  • Location: Boston MA
  • likes building stuff
Re: TMK keyboard firmware
« Reply #1486 on: Sat, 11 June 2016, 00:19:07 »
Would adding laptop trackpad support work in the same way as trackpoint support?
A touchpad? If it uses PS/2, then it should probably just work as a mouse, but some features such as multitouch or edge scrolling may not work.

Yeah. the only issue is that I cannot find the reset pin

Offline Kaibz

  • Posts: 48
  • Location: AFK but not too much
Re: TMK keyboard firmware
« Reply #1487 on: Sat, 11 June 2016, 05:53:34 »
I've been using tmk firmware with a teensy 2.0++ for more than a year now, however there is still something i don't understand.

About 1 time out of five, when i launch my computer (windows 7), with the keyboard connected, i get this screen:



Of course each time i have to choose "starts windows normally" and unplug the keyboard until windows is loaded, but is there a way to prevent this screen to show up ?

I know it's link to the keyboard as it does not happen if it is unplugged. I even tried changing the teensy, disabling NKRO....I just don't know what to do, please help !
« Last Edit: Sat, 11 June 2016, 05:55:27 by Kaibz »
Sharing the knowledge

Offline deductivemonkee

  • Posts: 572
  • Location: Canada BC
  • Professional Lurker
Re: TMK keyboard firmware
« Reply #1488 on: Tue, 14 June 2016, 19:12:51 »
I keep getting the error while compiling:
Code: [Select]
C:\Users\Matt\Desktop\tmk\keyboard\alps64>make flip
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
ECHO is off.
mkdir -p obj_alps64
Compiling C: keymap_plain.c
avr-gcc -c -mmcu=atmega32u2 -gdwarf-2 -DF_CPU=16000000UL -DINTERRUPT_CONTROL_ENDPOINT -DNO_LIMITED_CONTROLLER_CONNECT -DBOOTLOADER_SIZE=4096 -DF_USB=16000000UL -DARCH=ARCH_AVR8 -DUSB_DEVICE_ONLY -DUSE_FLASH_DESCRIPTORS -DUSE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" -DFIXED_CONTROL_ENDPOINT_SIZE=8  -DFIXED_NUM_CONFIGURATIONS=1 -DPROTOCOL_LUFA -DBOOTMAGIC_ENABLE -DMOUSEKEY_ENABLE -DMOUSE_ENABLE -DEXTRAKEY_ENABLE -DCONSOLE_ENABLE -DCOMMAND_ENABLE -DVERSION= -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fdata-sections -fno-inline-small-functions -fpack-struct -fshort-enums -fno-strict-aliasing -Wall -Wstrict-prototypes -Wa,-adhlns=obj_alps64/keymap_plain.lst -IC -I/Users/Matt/Desktop/tmk/keyboard/alps64 -IC -I/Users/Matt/Desktop/tmk/tmk_core -IC -I/Users/Matt/Desktop/tmk/tmk_core/protocol/lufa -IC -I/Users/Matt/Desktop/tmk/tmk_core/protocol/lufa/LUFA-git -IC -I/Users/Matt/Desktop/tmk/tmk_core/common -std=gnu99 -include config.h -MMD -MP -MF .dep/obj_alps64_keymap_plain.o.d  keymap_plain.c -o obj_alps64/keymap_plain.o
keymap_plain.c:41:1: fatal error: opening dependency file .dep/obj_alps64_keymap_plain.o.d: No such file or directory
 };
 ^
compilation terminated.
C:/Users/Matt/Desktop/tmk/tmk_core/rules.mk:550: recipe for target 'obj_alps64/keymap_plain.o' failed
make: *** [obj_alps64/keymap_plain.o] Error 1

Any ideas?
oh yeah I saw that crazy **** if that doesn't win I'm deleting my account

/ orthodox - 78g zealios / alps64 - mtsc / sentraq s-60x rgb - gat blues / let's split - 67g zealios / let's split - 67g zealios /

Offline hasu

  • Thread Starter
  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: TMK keyboard firmware
« Reply #1489 on: Tue, 14 June 2016, 19:32:58 »
I keep getting the error while compiling:
Code: [Select]
C:\Users\Matt\Desktop\tmk\keyboard\alps64>make flip
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
ECHO is off.
mkdir -p obj_alps64
Compiling C: keymap_plain.c
avr-gcc -c -mmcu=atmega32u2 -gdwarf-2 -DF_CPU=16000000UL -DINTERRUPT_CONTROL_ENDPOINT -DNO_LIMITED_CONTROLLER_CONNECT -DBOOTLOADER_SIZE=4096 -DF_USB=16000000UL -DARCH=ARCH_AVR8 -DUSB_DEVICE_ONLY -DUSE_FLASH_DESCRIPTORS -DUSE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" -DFIXED_CONTROL_ENDPOINT_SIZE=8  -DFIXED_NUM_CONFIGURATIONS=1 -DPROTOCOL_LUFA -DBOOTMAGIC_ENABLE -DMOUSEKEY_ENABLE -DMOUSE_ENABLE -DEXTRAKEY_ENABLE -DCONSOLE_ENABLE -DCOMMAND_ENABLE -DVERSION= -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fdata-sections -fno-inline-small-functions -fpack-struct -fshort-enums -fno-strict-aliasing -Wall -Wstrict-prototypes -Wa,-adhlns=obj_alps64/keymap_plain.lst -IC -I/Users/Matt/Desktop/tmk/keyboard/alps64 -IC -I/Users/Matt/Desktop/tmk/tmk_core -IC -I/Users/Matt/Desktop/tmk/tmk_core/protocol/lufa -IC -I/Users/Matt/Desktop/tmk/tmk_core/protocol/lufa/LUFA-git -IC -I/Users/Matt/Desktop/tmk/tmk_core/common -std=gnu99 -include config.h -MMD -MP -MF .dep/obj_alps64_keymap_plain.o.d  keymap_plain.c -o obj_alps64/keymap_plain.o
keymap_plain.c:41:1: fatal error: opening dependency file .dep/obj_alps64_keymap_plain.o.d: No such file or directory
 };
 ^
compilation terminated.
C:/Users/Matt/Desktop/tmk/tmk_core/rules.mk:550: recipe for target 'obj_alps64/keymap_plain.o' failed
make: *** [obj_alps64/keymap_plain.o] Error 1

Any ideas?

If you are using old WinAVR use other new tool. it doesn't support ATMega32u2 of Alps64 PCB.
If you are editting  keymap_plain.c something is wrong there. Check your change again.

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: TMK keyboard firmware
« Reply #1490 on: Tue, 14 June 2016, 19:56:05 »
having some issues. everything works GREAT except for column 6 which is "5,r,f,c"
when i plug the keyboard in it immediately outputs "
5rfccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" until i hit keys to interrupt it
all this was on pin D6
moved to pin C6
same long string output but without firmware update it wont output any key presses but that doesn't surprise me since i haven't flashed it since the pin move.
this feels like a programming issue or two things trying to use that D6 pin

last time i tried to compile i get an error on keymap_plain.c so something is wrong there.

if anyone could help with the errors and weird column issues that would be really awesome. attached is my build folder.

thanks in advance
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline a-c

  • Posts: 196
  • Location: USA
Re: TMK keyboard firmware
« Reply #1491 on: Tue, 14 June 2016, 21:44:19 »
led.c is conflicting with your matrix B2

having some issues. everything works GREAT except for column 6 which is "5,r,f,c"
when i plug the keyboard in it immediately outputs "
5rfccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" until i hit keys to interrupt it
all this was on pin D6
moved to pin C6
same long string output but without firmware update it wont output any key presses but that doesn't surprise me since i haven't flashed it since the pin move.
this feels like a programming issue or two things trying to use that D6 pin

last time i tried to compile i get an error on keymap_plain.c so something is wrong there.

if anyone could help with the errors and weird column issues that would be really awesome. attached is my build folder.

thanks in advance

Offline deductivemonkee

  • Posts: 572
  • Location: Canada BC
  • Professional Lurker
Re: TMK keyboard firmware
« Reply #1492 on: Tue, 14 June 2016, 22:03:00 »
I keep getting the error while compiling:
Code: [Select]
C:\Users\Matt\Desktop\tmk\keyboard\alps64>make flip
The system cannot find the path specified.
The system cannot find the path specified.
The system cannot find the path specified.
ECHO is off.
mkdir -p obj_alps64
Compiling C: keymap_plain.c
avr-gcc -c -mmcu=atmega32u2 -gdwarf-2 -DF_CPU=16000000UL -DINTERRUPT_CONTROL_ENDPOINT -DNO_LIMITED_CONTROLLER_CONNECT -DBOOTLOADER_SIZE=4096 -DF_USB=16000000UL -DARCH=ARCH_AVR8 -DUSB_DEVICE_ONLY -DUSE_FLASH_DESCRIPTORS -DUSE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" -DFIXED_CONTROL_ENDPOINT_SIZE=8  -DFIXED_NUM_CONFIGURATIONS=1 -DPROTOCOL_LUFA -DBOOTMAGIC_ENABLE -DMOUSEKEY_ENABLE -DMOUSE_ENABLE -DEXTRAKEY_ENABLE -DCONSOLE_ENABLE -DCOMMAND_ENABLE -DVERSION= -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fdata-sections -fno-inline-small-functions -fpack-struct -fshort-enums -fno-strict-aliasing -Wall -Wstrict-prototypes -Wa,-adhlns=obj_alps64/keymap_plain.lst -IC -I/Users/Matt/Desktop/tmk/keyboard/alps64 -IC -I/Users/Matt/Desktop/tmk/tmk_core -IC -I/Users/Matt/Desktop/tmk/tmk_core/protocol/lufa -IC -I/Users/Matt/Desktop/tmk/tmk_core/protocol/lufa/LUFA-git -IC -I/Users/Matt/Desktop/tmk/tmk_core/common -std=gnu99 -include config.h -MMD -MP -MF .dep/obj_alps64_keymap_plain.o.d  keymap_plain.c -o obj_alps64/keymap_plain.o
keymap_plain.c:41:1: fatal error: opening dependency file .dep/obj_alps64_keymap_plain.o.d: No such file or directory
 };
 ^
compilation terminated.
C:/Users/Matt/Desktop/tmk/tmk_core/rules.mk:550: recipe for target 'obj_alps64/keymap_plain.o' failed
make: *** [obj_alps64/keymap_plain.o] Error 1

Any ideas?

If you are using old WinAVR use other new tool. it doesn't support ATMega32u2 of Alps64 PCB.
If you are editting  keymap_plain.c something is wrong there. Check your change again.

I was using cygwin and flip. I will check my code and report back :thumb:
oh yeah I saw that crazy **** if that doesn't win I'm deleting my account

/ orthodox - 78g zealios / alps64 - mtsc / sentraq s-60x rgb - gat blues / let's split - 67g zealios / let's split - 67g zealios /

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: TMK keyboard firmware
« Reply #1493 on: Tue, 14 June 2016, 22:04:18 »
led.c is conflicting with your matrix B2

having some issues. everything works GREAT except for column 6 which is "5,r,f,c"
when i plug the keyboard in it immediately outputs "
5rfccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" until i hit keys to interrupt it
all this was on pin D6
moved to pin C6
same long string output but without firmware update it wont output any key presses but that doesn't surprise me since i haven't flashed it since the pin move.
this feels like a programming issue or two things trying to use that D6 pin

last time i tried to compile i get an error on keymap_plain.c so something is wrong there.

if anyone could help with the errors and weird column issues that would be really awesome. attached is my build folder.

thanks in advance

i noticed that, and yes it needs to be corrected but would that effect the D6 pin or the other pins in this column's keys? that particular row's keys work fine. but i agree it needs to be fixed.
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: TMK keyboard firmware
« Reply #1494 on: Tue, 14 June 2016, 22:36:35 »
led.c is conflicting with your matrix B2

having some issues. everything works GREAT except for column 6 which is "5,r,f,c"
when i plug the keyboard in it immediately outputs "
5rfccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" until i hit keys to interrupt it
all this was on pin D6
moved to pin C6
same long string output but without firmware update it wont output any key presses but that doesn't surprise me since i haven't flashed it since the pin move.
this feels like a programming issue or two things trying to use that D6 pin

last time i tried to compile i get an error on keymap_plain.c so something is wrong there.

if anyone could help with the errors and weird column issues that would be really awesome. attached is my build folder.

thanks in advance

i noticed that, and yes it needs to be corrected but would that effect the D6 pin or the other pins in this column's keys? that particular row's keys work fine. but i agree it needs to be fixed.

flashed the firmware with the C6 pin move and the LED B2 pin changed and all seems well now really strange

thanks for all who are looking into this anyway :)
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline a-c

  • Posts: 196
  • Location: USA
Re: TMK keyboard firmware
« Reply #1495 on: Tue, 14 June 2016, 22:38:52 »
If this is a Teensy++ there is a LED attached to D6 probably pulled to ground through a resistor.

led.c is conflicting with your matrix B2

having some issues. everything works GREAT except for column 6 which is "5,r,f,c"
when i plug the keyboard in it immediately outputs "
5rfccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" until i hit keys to interrupt it
all this was on pin D6
moved to pin C6
same long string output but without firmware update it wont output any key presses but that doesn't surprise me since i haven't flashed it since the pin move.
this feels like a programming issue or two things trying to use that D6 pin

last time i tried to compile i get an error on keymap_plain.c so something is wrong there.

if anyone could help with the errors and weird column issues that would be really awesome. attached is my build folder.

thanks in advance

i noticed that, and yes it needs to be corrected but would that effect the D6 pin or the other pins in this column's keys? that particular row's keys work fine. but i agree it needs to be fixed.

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: TMK keyboard firmware
« Reply #1496 on: Tue, 14 June 2016, 22:42:59 »
it is very much a teensy ++

this is a full key keyboard https://geekhack.org/index.php?topic=82671.0

typing on it now.
thanks again for taking a look and the knowledge about the D6 pin

If this is a Teensy++ there is a LED attached to D6 probably pulled to ground through a resistor.

led.c is conflicting with your matrix B2

having some issues. everything works GREAT except for column 6 which is "5,r,f,c"
when i plug the keyboard in it immediately outputs "
5rfccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" until i hit keys to interrupt it
all this was on pin D6
moved to pin C6
same long string output but without firmware update it wont output any key presses but that doesn't surprise me since i haven't flashed it since the pin move.
this feels like a programming issue or two things trying to use that D6 pin

last time i tried to compile i get an error on keymap_plain.c so something is wrong there.

if anyone could help with the errors and weird column issues that would be really awesome. attached is my build folder.

thanks in advance

i noticed that, and yes it needs to be corrected but would that effect the D6 pin or the other pins in this column's keys? that particular row's keys work fine. but i agree it needs to be fixed.
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline a-c

  • Posts: 196
  • Location: USA
Re: TMK keyboard firmware
« Reply #1497 on: Tue, 14 June 2016, 23:00:41 »
Don't forget to change the bootloader size in the Makefile.

it is very much a teensy ++

this is a full key keyboard https://geekhack.org/index.php?topic=82671.0

typing on it now.
thanks again for taking a look and the knowledge about the D6 pin

Offline mrbishop

  • * Maker
  • Posts: 799
  • Location: South Carolina USA
  • Evil Genius
    • Bishop Computer Design web
Re: TMK keyboard firmware
« Reply #1498 on: Tue, 14 June 2016, 23:03:04 »
Don't forget to change the bootloader size in the Makefile.

it is very much a teensy ++

this is a full key keyboard https://geekhack.org/index.php?topic=82671.0

typing on it now.
thanks again for taking a look and the knowledge about the D6 pin

it was changed to the 90USB1268 or were you talking about something else?

update just checked its set to 4096 but eveything is working currently. what are the issues that could become if this is not changed to  Teensy++ halfKay 1024
« Last Edit: Tue, 14 June 2016, 23:05:35 by mrbishop »
Projects
Build to give back, 40% | Alps/Matias Removal ToolUltraHack 67% Hackdura  | ErgoDox case
                             
    

Offline a-c

  • Posts: 196
  • Location: USA
Re: TMK keyboard firmware
« Reply #1499 on: Wed, 15 June 2016, 12:14:36 »
Using the Bootmagic or Magic key combo to jump to bootloader will probably not work. Convenient if you don't want to leave a hole in your case to access the reset button.

Don't forget to change the bootloader size in the Makefile.

it is very much a teensy ++

this is a full key keyboard https://geekhack.org/index.php?topic=82671.0

typing on it now.
thanks again for taking a look and the knowledge about the D6 pin

it was changed to the 90USB1268 or were you talking about something else?

update just checked its set to 4096 but eveything is working currently. what are the issues that could become if this is not changed to  Teensy++ halfKay 1024