Author Topic: Announce: TMK firmware for ErgoDox  (Read 69739 times)

0 Members and 1 Guest are viewing this topic.

Offline ic07

  • Posts: 190
Re: Announce: TMK firmware for ErgoDox
« Reply #100 on: Thu, 13 March 2014, 21:43:34 »
In my own defense, tap/hold keys and macro keys (which cover everything mentioned in the last two posts except for NKRO i think) are both possible in my firmware, and not difficult in rev-2.  But in everyone else's defense, it's true that they're not supported by the Massdrop config tool.  They're also very poorly documented at the moment, and probably not intuitively obvious to anyone but me :/ .  I do plan to fix that someday -- once school stops bothering me :) .

Of course, Hasu's firmware is very good, and more mature than mine :) .  And it does have NKRO and mouse keys -- and maybe a couple other things I can't recall at the moment -- that mine doesn't have, at least for now.

Offline wjanssens

  • Posts: 4
Re: Announce: TMK firmware for ErgoDox
« Reply #101 on: Fri, 14 March 2014, 12:00:30 »
What are the pros and cons of TMK over the stock ergodox firmware?

I forgot one other feature I'm using that you can't do with the Massdrop firmware -- media keys.  I have access to play/pause, next track, prev track, volume up, volume down, and mute.

It looks like you can do that with Ben's firmware as well if you compile from source rather than relying on Massdrop's tool.

Offline wuqe

  • Posts: 105
  • Location: WA, USA
Re: Announce: TMK firmware for ErgoDox
« Reply #102 on: Fri, 14 March 2014, 12:52:06 »
One potential con: limited number of key functions. That is, in TMK, you can program up to 32 "special" keys, like layer switches and stuff, but if you want more, you need to get tricky with the action_function keys and reading key codes off and stuff. This had me worried at first, but it has worked out fine.

To echo clickclack, the NKRO seems to me to be the primary differentiator. I also like having my layout in code as opposed to the mass drop tool, but as ic points out, you can go source on his, too.

Offline squarefrog

  • Posts: 94
  • Location: UK
  • \m/_
    • Ergodox Layout Stats
Re: Announce: TMK firmware for ErgoDox
« Reply #103 on: Fri, 14 March 2014, 16:27:06 »
Ok thanks for the responses. Completely forgot I'd asked which is a nice surprise to find an array of responses!

So I think I'm sold on the modifiers. Is there a limit to the number of keys you can assign to a key?  For example photoshop has a wince-inducing Option-Shift-Command-S save for web shortcut. I'd quite like access to that.

I've got a layout I've been tweaking, but I want to add helper functions to layer 1 https://www.massdrop.com/ext/ergodox/?referer=8NKMPV&hash=90050759c45b2f144b0eae83ba1d5e94

Would be pretty neat to assign a bunch of awkward shortcuts to that layer.

For the layer lock - do I have to press it five times or is that configurable? Can I just have a standard layer push/pop if I wanted?

I'm comfortable editing c files so no problem there. I like the idea of being able to place my layout under version control! Although I'd probably still use massdrop for quick layout visualisation!
« Last Edit: Fri, 14 March 2014, 16:38:52 by squarefrog »

Offline wuqe

  • Posts: 105
  • Location: WA, USA
Re: Announce: TMK firmware for ErgoDox
« Reply #104 on: Fri, 14 March 2014, 17:28:44 »
Layer lock is totally configurable: I have mine set to 2.

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Re: Announce: TMK firmware for ErgoDox
« Reply #105 on: Sun, 16 March 2014, 19:20:19 »
Is it currently possible to use switches with integrated diodes with this firmware? I think it was in the OP that this kind of configuration wasn't supported at the time, but has anything changed?

Unfortunately, Ben's firmware doesn't compile on my system now.

Offline plainbriny

  • Posts: 192
  • Location: Taiwan
Re: Announce: TMK firmware for ErgoDox
« Reply #106 on: Mon, 17 March 2014, 01:44:53 »
Is it currently possible to use switches with integrated diodes with this firmware? I think it was in the OP that this kind of configuration wasn't supported at the time, but has anything changed?

Unfortunately, Ben's firmware doesn't compile on my system now.

You need to change the source code, but I opened half of the switches and changed the direction of the diodes.

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Re: Announce: TMK firmware for ErgoDox
« Reply #107 on: Mon, 17 March 2014, 03:10:37 »
What exactly do I need to change, if it's possible? I'm still getting familiar with the code and maybe I've missed something.

Offline plainbriny

  • Posts: 192
  • Location: Taiwan
Re: Announce: TMK firmware for ErgoDox
« Reply #108 on: Mon, 17 March 2014, 04:08:22 »
What exactly do I need to change, if it's possible? I'm still getting familiar with the code and maybe I've missed something.

I don't know exactly, I didn't change the code, I changed the switches.
If you really want to modify the code, I think you can check matrix.c (and maybe ergodox.c) and the read_cols(), select_row() and related functions
Also, since the diodes in the two halves will be in different direction, this should be taken into account when modifying the code.

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Re: Announce: TMK firmware for ErgoDox
« Reply #109 on: Mon, 17 March 2014, 09:36:33 »
Thanks for the reply. I don't seem to be getting anywhere with software, sooo...

Offline Tensor

  • Posts: 18
Re: Announce: TMK firmware for ErgoDox
« Reply #110 on: Mon, 17 March 2014, 16:23:07 »
Got the same problem, got a bit too solder happy with built in diodes :)

It is possible to fix it in firmware, was just inspecting the code. Going on vacation for a week, but will probably hack something together when I get back. Ill need to do some gut pulling it seems.

If you are in a hurry just swap the diodes, otherwise you can wait a week or two.
« Last Edit: Mon, 17 March 2014, 16:26:46 by Tensor »

Offline cub-uanic

  • Thread Starter
  • Posts: 72
  • Location: Ukraine, Kharkov
Re: Announce: TMK firmware for ErgoDox
« Reply #111 on: Tue, 25 March 2014, 20:06:25 »
I have tried copy the ergodox folder into the main tmk code and it works.
Perhaps cub can send a pull request to hasu?

At first, I need to finish with 'official' part - I'd like to provide files for same mappings as in Ben's firmware (qwerty-kinesis-mod and others), so TMK fw could be used as drop-in replacement for Ben's fw.

Also I want to add support for semi-backlight, when backlight is not on each key, but on each half in whole.

After that I will be ready to send pull req to hasu.

Also, since the diodes in the two halves will be in different direction, this should be taken into account when modifying the code.
AFAIK this is not true.
On my kbd diodes soldered exactly same way on both left and right side.
Exactly as directed by assembly instruction on MD site: cathode of the diode (denoted with a line) connects to the square pad on the PCB.


Guys, so sorry but I don't have second kbd with diodes soldered unusual way, or built-in.
And unfortunately I don't have spare time to write support myself.
But I will be happy if someone will write it and send me pull req.

Also I will be happy if someone will send me for free :) new kit or assembled kbd (with swapped/built-in diodes) - in such case I will definitely add support and will make sure that it works properly :)
« Last Edit: Tue, 25 March 2014, 20:28:32 by cub-uanic »

ErgoDox Classic - Stock Clears
Teenesis - Kinesis Advantage powered by Teensy

Offline plainbriny

  • Posts: 192
  • Location: Taiwan
Re: Announce: TMK firmware for ErgoDox
« Reply #112 on: Tue, 25 March 2014, 20:50:00 »

Also, since the diodes in the two halves will be in different direction, this should be taken into account when modifying the code.
AFAIK this is not true.
On my kbd diodes soldered exactly same way on both left and right side.
Exactly as directed by assembly instruction on MD site: cathode of the diode (denoted with a line) connects to the square pad on the PCB.

Sorry I didn't make the statement more clearly.
I mean if using switches with built-in diodes, the polarity of the diodes will be in opposite direction. Therefore in ben's firmware there are separate setting for diode direction in the two sides.
https://github.com/benblazak/ergodox-firmware/blob/master/src/keyboard/ergodox/options.h

Thanks for your work on this port, it is really great.

BTW, did you miss a line in Makefile?
Code: [Select]
include $(TOP_DIR)/protocol.mk
This is not necessary in ordinary use, but I need this to enable ps/2 converter code (for trackpoint)
It seems to increase the size of firmware though.

Offline Tensor

  • Posts: 18
Re: Announce: TMK firmware for ErgoDox
« Reply #113 on: Tue, 29 April 2014, 10:00:40 »
If there is still interest, I modded the firmware so that the left side can have its diodes reversed.
I can polish it up as its a hacked mess ATM and make it configurable via an include, if there is interest.

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Re: Announce: TMK firmware for ErgoDox
« Reply #114 on: Tue, 29 April 2014, 10:16:44 »
Cool! I'd definitely be interested in that, as I haven't had time to finish rebuilding my ergodox.

Offline cub-uanic

  • Thread Starter
  • Posts: 72
  • Location: Ukraine, Kharkov
Re: Announce: TMK firmware for ErgoDox
« Reply #115 on: Tue, 29 April 2014, 12:17:18 »
If there is still interest, I modded the firmware so that the left side can have its diodes reversed.
I can polish it up as its a hacked mess ATM and make it configurable via an include, if there is interest.

Great, thanks!
Waiting for pull request :)

ErgoDox Classic - Stock Clears
Teenesis - Kinesis Advantage powered by Teensy

Offline Tensor

  • Posts: 18
Re: Announce: TMK firmware for ErgoDox
« Reply #116 on: Tue, 29 April 2014, 14:54:17 »
Cool! I'd definitely be interested in that, as I haven't had time to finish rebuilding my ergodox.

Good to know :)

If there is still interest, I modded the firmware so that the left side can have its diodes reversed.
I can polish it up as its a hacked mess ATM and make it configurable via an include, if there is interest.

Great, thanks!
Waiting for pull request :)

;)  Source needs to be tidied up. Also, should learn to use github   :-[

It is a big hack but performance should be about the same.

Offline Anzial

  • Posts: 3
Re: Announce: TMK firmware for ErgoDox
« Reply #117 on: Wed, 14 May 2014, 23:23:55 »
it'd be nice to have an idiot's guide or even a full-blown app to create TMK firmware for ergodox... I'm for one don't have much knowledge about programming but still would love to be able to modify and update layouts using TMK rather than ben's firmware through massdrop thingy.

Offline oystein.krog

  • Posts: 34
  • Location: Trondheim, Norway
Re: Announce: TMK firmware for ErgoDox
« Reply #118 on: Wed, 21 May 2014, 15:30:07 »
I think this work should be integrated in the main repo, you mentioned sending a PR when you had some more features up and running, but things work very well as it is.
Why not send a PR now, and if there are any other changes, send more PR's?
The current state of things is hurting further development IMO.

Offline Jagriff

  • Posts: 151
Re: Announce: TMK firmware for ErgoDox
« Reply #119 on: Mon, 23 June 2014, 13:18:49 »
I've just started using this. The implementation is much cleaner than Ben's firmware and I do love the mouse keys. I have a few problems:

1) Whenever my computer reboots, I have to unplug and then plug in my keyboard in order for it to work. Before that the top LED (not the Teensy LED) is on and no input is registered.

2) I don't seem to have n-key rollover. The option is set in the makefile but according to online testers, I only have 6-key rollover.


EDIT:
Fixed 2). In common/host.c, I changed
keyboard_nkro = false;
to
keyboard_nkro = true;
« Last Edit: Tue, 24 June 2014, 21:27:35 by Jagriff »

Offline Jagriff

  • Posts: 151
Re: Announce: TMK firmware for ErgoDox
« Reply #120 on: Tue, 24 June 2014, 10:15:41 »
An update to 1) above:

Whenever I set my computer to sleep, it is awaken immediately by my ErgoDox. The top left LED light comes on and then it won't accept input (as it doesn't on startup).
« Last Edit: Tue, 24 June 2014, 11:50:24 by Jagriff »

Offline lkong

  • Posts: 78
  • Location: United States
Re: Announce: TMK firmware for ErgoDox
« Reply #121 on: Sat, 28 June 2014, 14:46:00 »
Thanks for the awesome work cub.

Im trying this firmware with the cub_layout branch.

For the layout im using, the "TAB" key is not working, instead it works as "SLSH"
Any idea what went wrong?
 EQL, 1, 2, 3, 4, 5, ESC,
    TAB, Q, W, E, R, T, FN1,
    LCTRL, A, S, D, F, G,
    LSFT, Z, X, C, V, B, FN0,
          LGUI, NUHS, BSLS, _VOLUP, _VOLDOWN, LCTRL, LALT, HOME, BSPC, DELETE, END,
    QUOT, 6, 7, 8, 9, 0, MINS,
    LBRC, Y, U, I, O, P, RBRC,
          H, J, K, L, SCLN, QUOT,
    FN2, N, M, COMM, DOT, SLSH, RSFT,
          LEFT, UP, DOWN, RGHT, CAPS, RALT, RCTL, PGDN, PGUP, ENT, SPC),

PS it works with massdrop configuration firmwares.
« Last Edit: Sat, 28 June 2014, 15:04:30 by lkong »

Offline lkong

  • Posts: 78
  • Location: United States
Re: Announce: TMK firmware for ErgoDox
« Reply #122 on: Thu, 03 July 2014, 13:29:07 »
problem solved by compile .lufa.

Got the same problem jagriff got
« Last Edit: Thu, 03 July 2014, 13:46:26 by lkong »

Offline AKmalamute

  • HHKB Scrub
  • Posts: 837
  • Location: Western WA, USA
Re: Announce: TMK firmware for ErgoDox
« Reply #123 on: Thu, 03 July 2014, 13:53:09 »
I'm wanting to write a macro for a key, and having a bit of trouble figuring out how to do it. Could anyone share some examples of how one would define, say Fn3 to type Ctrl+A, Ctrl+C, Alt+Tab ...?

I also know some folks have done some work to give "meaning" to the LEDs (Since I never use caps, scroll or number lock and certainly don't need an indicator on my ergodox for those things)  Would someone like to share their code on that front?

HHKB-lite2, Dvorak user

Offline Jagriff

  • Posts: 151
Re: Announce: TMK firmware for ErgoDox
« Reply #124 on: Tue, 22 July 2014, 17:30:41 »
problem solved by compile .lufa.

Got the same problem jagriff got
What did you have to do to compile with lufa instead of pjrc? I made a new makefile and added a few things (mimicking the lufa makefile from one of the other keyboards) but I got some errors. I tried playing with it but couldn't get it to work. This was a while ago so I don't remember the errors.

I ask because I read somewhere that the windows boot problem is related to pjrc, not lufa. I loved using the tmk firmware, but having to fiddle with the usb port every time I changed to Windows (from Linux) made me switch back to Ben's firmware.

Offline burbilog

  • Posts: 3
Re: Announce: TMK firmware for ErgoDox
« Reply #125 on: Thu, 24 July 2014, 09:46:47 »
Ugh. Finally got it working -- I wanted full NKRO to play with stenotype software and Massdrop's configurator doesn't support that. Problems encountered, so far:

1. It's damn difficult to find right tmk software for ergodox! Nothing in readme.md says about ergodox!!! I was lucky to find some comment in this thread, otherwise I would not know anything about its avaiability...
2. Cub-uanic's firmware feels very very sluggish when installed. When I hit speeds of 60+ WPM it eats a lot of letters. The problem is, debounce is too high. I lowered it from 5 to 2 and now it's fast and trigger-happy again, like default one from Massdrop.
3. NKRO does NOT work even if Makefile says yes... I had to edit common/host.c and set

bool keyboard_nkro = true;

4. vikeys works, but crashes in select mode when I press 'x'. Also I did not find TRNS anywhere in menus and had to copy it from neighbor cell. Also it sets insert as INT, it breaks compiling, I had to replace it with INS. Also it uses horrible color palette -- tiny blue letters are very difficult to see on black background. But anyway, it's very useful and it saved me a lot of time (it would take ages to do all mapping in text editor).

Offline xauser

  • Posts: 97
Re: Announce: TMK firmware for ErgoDox
« Reply #126 on: Fri, 25 July 2014, 11:27:18 »
@burbilog

When you have n-key-rollover compiled in you activate the feature by pressing LSHFT+RSHFT+N.

@cub-uanic

Would you mind to give hasu a pull request for your latest ergodox tree. Having ergodox support in upstream would be great!

Offline Thanatermesis

  • Posts: 15
Re: Announce: TMK firmware for ErgoDox
« Reply #127 on: Fri, 25 July 2014, 15:29:56 »
@cub-uanic: you should merge that branch to master, i tried the firmware and was unable to use it until i searched on google and found this thread where i tried the cub branch, NOW i can use it with ergodox, otherwise is so damn slow to type on it that the keys are not even pressed correctly :)

Offline plainbriny

  • Posts: 192
  • Location: Taiwan
Re: Announce: TMK firmware for ErgoDox
« Reply #128 on: Fri, 25 July 2014, 17:39:08 »
Considering the situation in Ukraine, cub-uanic is not likely to handle this in the near future.

Offline burbilog

  • Posts: 3
Re: Announce: TMK firmware for ErgoDox
« Reply #129 on: Fri, 25 July 2014, 17:42:24 »
@burbilog

When you have n-key-rollover compiled in you activate the feature by pressing LSHFT+RSHFT+N.

Yeah, something deep in documentation, yes... is there any reason to run firmware without n-key-rollover by default?

Offline cub-uanic

  • Thread Starter
  • Posts: 72
  • Location: Ukraine, Kharkov
Re: Announce: TMK firmware for ErgoDox
« Reply #130 on: Fri, 25 July 2014, 18:52:42 »
Hi guys,
Sorry for long silence - I'm just too busy on work.
I'll try to answer to last questions.

Considering the situation in Ukraine, cub-uanic is not likely to handle this in the near future.
I'm living in Kharkov, and situation here is relatively clam and quiet (at least, for now).

@cub-uanic: you should merge that branch to master, i tried the firmware and was unable to use it until i searched on google and found this thread where i tried the cub branch
NOW i can use it with ergodox, otherwise is so damn slow to type on it that the keys are not even pressed correctly :)
I do not see my fork as finished and have to polish some things before sending pull req to @hasu.

Would you mind to give hasu a pull request for your latest ergodox tree. Having ergodox support in upstream would be great!
Yes, this will be good thing... but read my previous reply.
Don't see any need to rush, so please don't, thanks.

Problems encountered, so far:
1. It's damn difficult to find right tmk software for ergodox! Nothing in readme.md says about ergodox!!!
2. Cub-uanic's firmware feels very very sluggish when installed.
3. NKRO does NOT work even if Makefile says yes...
1. I'll be glad to see pull requests, especially for Ergodox-specific updates.
2. Don't use master branch from my fork - use https://github.com/cub-uanic/tmk_keyboard/tree/cub_layout instead.
3. Do not use pjrc, use lufa.

Want to repeat once more: I'll be glad to see any pull requests.
If you can't write code (and right now this is not really needed) - you can write documentation, like readme.md or FAQ.
If you can't write documentation (English is hard for you, or you just don't know correct answer) - you always can write questions.

I strictly prefer to use GitHub all the times, because it's hard and inconvenient to find in several pages on forum thread which question were answered and which are not.
Even to ask questions you can use GitHub's built-in editor, for example:
https://github.com/cub-uanic/tmk_keyboard/edit/cub_layout/keyboard/ergodox/Ergodox-FAQ.md

Don't hesitate to open bugs, feature requests and - yeah, again :) - send pull requests!

ErgoDox Classic - Stock Clears
Teenesis - Kinesis Advantage powered by Teensy

Offline plainbriny

  • Posts: 192
  • Location: Taiwan
Re: Announce: TMK firmware for ErgoDox
« Reply #131 on: Fri, 25 July 2014, 21:52:07 »
I'm living in Kharkov, and situation here is relatively clam and quiet (at least, for now).

Really glad to hear this! Hope things will get better...

I have made slight modifications to suit my need, mainly 80-key support and my custom keymap.
Will clean it and post, if someone is interested.

Offline burbilog

  • Posts: 3
Re: Announce: TMK firmware for ErgoDox
« Reply #132 on: Sat, 26 July 2014, 02:55:25 »
Don't see any need to rush, so please don't, thanks.

"Release early, release often" -- that's how Linux was built. Jokes aside, there is no need to merge everything into hasu's upstream, BUT Google, first post in this thread and various Plover-related websites they all point to your MAIN repository. And that's the problem, because your main repository doesn't say anything about using lufa or checking out some obscure branch. As result, everybody is doomed to do the same what I did: find about cub-uanic's firmware from the web, clone main branch and stumble upon bugs that were fixed many months ago...

This morning I found shayneholmes's fork with plover support, but it doesn't appear in searches like your firmware does :(

Quote
1. I'll be glad to see pull requests, especially for Ergodox-specific updates.
2. Don't use master branch from my fork - use https://github.com/cub-uanic/tmk_keyboard/tree/cub_layout instead.
3. Do not use pjrc, use lufa.

Okay. I go to that new link, git clone the url on that page, and huh? Where is Makefile.lufa? There is no Makefile.lufa... and no instructions how to fetch it :) Ok, ok, I know what to do, but somebody who isn't that familiar with git won't know what to do.

Quote
I strictly prefer to use GitHub all the times, because it's hard and inconvenient to find in several pages on forum thread which question were answered and which are not.

Okay. I went to your GitHub repository and where is Issues tab to fill a new issue?..

Please, please, just add a big notice in README.md in *main* branch saying that it's not actively developed and how to extract correct version of your firmware.
« Last Edit: Sat, 26 July 2014, 04:14:51 by burbilog »

Offline cub-uanic

  • Thread Starter
  • Posts: 72
  • Location: Ukraine, Kharkov
Re: Announce: TMK firmware for ErgoDox
« Reply #133 on: Sat, 26 July 2014, 11:23:12 »
I have made slight modifications to suit my need, mainly 80-key support and my custom keymap.
Will clean it and post, if someone is interested.
I will be glad to see your pull req.



Okay. I go to that new link, git clone the url on that page, and huh? Where is Makefile.lufa? There is no Makefile.lufa... and no instructions how to fetch it :) Ok, ok, I know what to do, but somebody who isn't that familiar with git won't know what to do.

Okay. I went to your GitHub repository and where is Issues tab to fill a new issue?..

Please, please, just add a big notice in README.md in *main* branch saying that it's not actively developed and how to extract correct version of your firmware.

https://github.com/cub-uanic/tmk_keyboard/blob/cub_layout/keyboard/ergodox/Makefile.lufa
https://github.com/cub-uanic/tmk_keyboard/issues (surprisingly, it's not enabled by default and had to be enabled on repo settings)
Will be glad to get your pull req with fix for readme in master branch :)

Also, I fixed link in first post to point to cub_layout branch.

ErgoDox Classic - Stock Clears
Teenesis - Kinesis Advantage powered by Teensy

Offline Jagriff

  • Posts: 151
Re: Announce: TMK firmware for ErgoDox
« Reply #134 on: Sun, 27 July 2014, 11:16:39 »
2. Don't use master branch from my fork - use https://github.com/cub-uanic/tmk_keyboard/tree/cub_layout instead.
This helps immensely! I was tinkering around with the old code, and despite being able to fix a few things, I couldn't get it to work as I wanted. I will test later on Windows.

Re: Announce: TMK firmware for ErgoDox
« Reply #135 on: Sat, 02 August 2014, 15:07:00 »
Thanks for your work cub-uanic
Just got my ergodox from massdrop last week and I have a couple questions about this firmware
  - I'm not sure what the Magic + H does, Is this a menu that will pop up regardless of what platform and program is open?
  - I would like to configure my leds to indicate the active layer. I read that can be done, but I haven't seen an example for this firmware. Can someone please post an example or a link? Thanks

Offline cub-uanic

  • Thread Starter
  • Posts: 72
  • Location: Ukraine, Kharkov
Re: Announce: TMK firmware for ErgoDox
« Reply #136 on: Sun, 03 August 2014, 05:44:04 »
Thanks for your work cub-uanic
Just got my ergodox from massdrop last week and I have a couple questions about this firmware
  - I'm not sure what the Magic + H does, Is this a menu that will pop up regardless of what platform and program is open?
  - I would like to configure my leds to indicate the active layer. I read that can be done, but I haven't seen an example for this firmware. Can someone please post an example or a link? Thanks

See replies in latest update to https://github.com/cub-uanic/tmk_keyboard/blob/cub_layout/keyboard/ergodox/Ergodox-FAQ.md

ErgoDox Classic - Stock Clears
Teenesis - Kinesis Advantage powered by Teensy

Re: Announce: TMK firmware for ErgoDox
« Reply #137 on: Mon, 04 August 2014, 11:06:46 »
cub-uanic,
I checked out the updated FAQ. I plan on adding the 3 left leds this weekend. Thanks for the info

Offline h1ro

  • Posts: 10
Re: Announce: TMK firmware for ErgoDox
« Reply #138 on: Mon, 04 August 2014, 17:01:27 »
I don't suppose anyone is using this firmware with OSX? I've been seeing some odd behaviour when I put my mac to sleep that after about 30 mins, it shuts down. (Ben's firmware doesn't have this behaviour for me)

Anyone else seeing anything like that? (this is with the lufa version)
« Last Edit: Mon, 04 August 2014, 17:03:19 by h1ro »

Re: Announce: TMK firmware for ErgoDox
« Reply #139 on: Mon, 04 August 2014, 20:26:34 »
I am on a Mac (10.9) and I haven't had this problem. When your Mac shuts down does it have a kernel panic, with the gray screen?

Offline h1ro

  • Posts: 10
Re: Announce: TMK firmware for ErgoDox
« Reply #140 on: Tue, 05 August 2014, 09:44:17 »
10.9.4 here and mostly I'm seeing in the console log a Sleep Wake Failure. This is on one of the new Mac Pros (6,1) so I wonder if there is something in there that is confusing the TMK firmware? My one thought was that it might be something to do with the Remote Wake feature that TMK has as Ben's original firmware doesn't support that. I'm also connecting via a usb hub if that's of any significance.

I've tried reverting to the original cub-uanic version without any of my changes and the issue is still there, whereas no problems with Ben's firmware. Thanks for any thoughts on this!

Re: Announce: TMK firmware for ErgoDox
« Reply #141 on: Sat, 09 August 2014, 21:45:29 »
h1ro, I checked my console logs and didn't notice anything unusual. I would try without the USB hub. Sorry I couldn't be more help.

I wrote a little Ruby script to convert a password into the macro syntax, if anyone is interested:
https://gist.github.com/BlindLemonLipschitz/02fa5cbca244a25aa672


Offline h1ro

  • Posts: 10
Re: Announce: TMK firmware for ErgoDox
« Reply #142 on: Sun, 10 August 2014, 08:42:29 »
@BlindLemonLipschitz thanks so much for checking your logs! I will continue to hunt for the issue :)

Offline argcargv

  • tempting the banhammer
  • Posts: 190
  • Location: michigan
Re: Announce: TMK firmware for ErgoDox
« Reply #143 on: Tue, 12 August 2014, 14:36:07 »
thanks cub and hasu for this, I am loving my ergodox more and more!

Offline Kaibz

  • Posts: 48
  • Location: AFK but not too much
Re: Announce: TMK firmware for ErgoDox
« Reply #144 on: Tue, 09 September 2014, 17:15:49 »
Hi,

Thank you so much cub-uanic for all your great work on tmk and implementing Ergodox compatibility.

I have a few questions if i may:

I am a bit of a noob but, i'm working on a "mod of Ergodox" to implement a 16X2 char LCD with some switches next to it, to be able to manually select the desired keyboard Layout from a list (displayed on the LCD and selected via switches next to the LCD)(basically one layout for each application, game...)

It is even possible to do it with a tweensy ++2 (46 I/O) and if i would have to rewrite huge portions of the code?

I'm wondering why is 32 the max amount of layers you can have? I mean could i use a 32 or 64bits variable instead of 16 to get more layers ? (Sorry if it's a stupid question as i said i am a bit of a noob)

And finally would it be even possible to create some kind of "profile structure", like each profile (selectable from my switches next to my LCD) would contain like 3 specific layers that would be available through the keyboard? An example i select the profile "MAYA" on my LCD and i have now access to 3 different layers i can switch from the keyboard itself, then when i'm done and close MAYA, i select the "DEFAULT" profile  through the switches next my LCD and i now have access to 3 completely different layers.

Is all this just impossible or just really really difficult to achieve?

« Last Edit: Tue, 09 September 2014, 17:28:02 by Kaibz »
Sharing the knowledge

Offline atykhonov

  • Posts: 2
Re: Announce: TMK firmware for ErgoDox
« Reply #145 on: Thu, 16 October 2014, 17:55:14 »
Hi all!

cub-uanic thank you so much for the ergodox port of TMK firmware!

I just recently received ErgoDox, assembled it and now I'm busy with its customization (programming). First of all, I've tried Ben Blazak's firmware and it was working quite well. But then I decided to try TMK firmware for ErgoDox and I see there are more great features (especially tapping feature)! TMK firmware is very configurable and I want to use its power.

And I'm puzzled. I want to have on the home row different keys: on the Layer0 there are usual hjkl (well, I use Dvorak so there are dhtn), on the Layer1 (which activates by means of, lets say, KEY1) there are navigation keys such as Left/Down/Up/Right, on the Layer2 there are -/PgDown/PgUp/-, on the Layer3 there will be probably the keys which will allow to focus windows (i3 windows manager). There is KEY2, which on Layer0 acts like a Alt key and on Layer1 acts like a LGUI. And you see there are a lot key combinations between mentioned keys and layers. Yes, instead of few-layers/many-keys I want many-layers/few-keys and configuration becomes a little bit complicated. Well, I configured everything and everything seems work but works not smoothly. For example, sometimes when I hit KEY1+KEY2+h and release these keys Layer1 stays active and overall very often after releasing I don't get Layer0 (with its hjkl on the home row). When I press that combination three layers are active. And in that context I want to believe that my question would be correct: how two of mentioned layers could be properly deactivated? Any suggestions about the best way to implement such configuration? May be there are common pitfalls?

Minor note: I cannot use ACTION_LAYER_SET_CLEAR(layer) for the KEY1 because I use ACTION_LAYER_TAP_KEY(1, KC_SPC) for it.

Also, there is a minor issue that I need to press KEY1 and KEY2 in strict order. Is possible to avoid that strictness?

Please note: everything written was about momentary switching between layers.


Thank you in advance!

Offline hasu

  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Announce: TMK firmware for ErgoDox
« Reply #146 on: Fri, 17 October 2014, 00:59:05 »
Check this post and keymap doc for layer stuck problem.
http://geekhack.org/index.php?topic=57008.msg1492604#msg1492604
https://github.com/tmk/tmk_keyboard/blob/master/doc/keymap.md#31-momentary-switching

Quote
Minor note: I cannot use ACTION_LAYER_SET_CLEAR(layer) for the KEY1 because I use ACTION_LAYER_TAP_KEY(1, KC_SPC) for it.

Also, there is a minor issue that I need to press KEY1 and KEY2 in strict order. Is possible to avoid that strictness?


Use this configure and you can write same thing on Layer3 and Layer4.
Code: [Select]
Layer   KEY1                    KEY2                                           
--------------------------------------------------------                       
0       TAP_KEY(1)              MOMENTARY(2)                                   
1       TAP_KEY(1)              MOMENTARY(3)                                   
2       MOMENTARY(4)            MOMENTARY(2)                                   
3       TAP_KEY(1)              MOMENTARY(3)                                   
4       MOMENTARY(4)            MOMENTARY(2)                                   


Or with using TRNS you can write keymap concisely like this.
Code: [Select]
Layer   KEY1                    KEY2                                           
--------------------------------------------------------                       
0       TAP_KEY(1)              MOMENTARY(2)                                   
1       TRNS                    MOMENTARY(3)                                   
2       MOMENTARY(3)            TRNS                                           
3       TRNS                    TRNS

Offline atykhonov

  • Posts: 2
Re: Announce: TMK firmware for ErgoDox
« Reply #147 on: Fri, 17 October 2014, 11:06:10 »
Check this post and keymap doc for layer stuck problem.
http://geekhack.org/index.php?topic=57008.msg1492604#msg1492604
https://github.com/tmk/tmk_keyboard/blob/master/doc/keymap.md#31-momentary-switching

Quote
Minor note: I cannot use ACTION_LAYER_SET_CLEAR(layer) for the KEY1 because I use ACTION_LAYER_TAP_KEY(1, KC_SPC) for it.

Also, there is a minor issue that I need to press KEY1 and KEY2 in strict order. Is possible to avoid that strictness?


Use this configure and you can write same thing on Layer3 and Layer4.
Code: [Select]
Layer   KEY1                    KEY2                                           
--------------------------------------------------------                       
0       TAP_KEY(1)              MOMENTARY(2)                                   
1       TAP_KEY(1)              MOMENTARY(3)                                   
2       MOMENTARY(4)            MOMENTARY(2)                                   
3       TAP_KEY(1)              MOMENTARY(3)                                   
4       MOMENTARY(4)            MOMENTARY(2)                                   


Or with using TRNS you can write keymap concisely like this.
Code: [Select]
Layer   KEY1                    KEY2                                           
--------------------------------------------------------                       
0       TAP_KEY(1)              MOMENTARY(2)                                   
1       TRNS                    MOMENTARY(3)                                   
2       MOMENTARY(3)            TRNS                                           
3       TRNS                    TRNS

Thank you very much hasu for the help!

Now I see that there is layer stuck problem but don't see any obvious way to configure everything without it. Also, it is not clear for me the way about avoiding keys order strictness (for example, I cannot use MOMENTARY for the Key2). I feel the lack of understanding how everything does work. And even if I'll get it then I don't think that everything would be clearer and better, as you see that there are additional layers required for additional key combinations. I afraid that I'll need a lot more layers to configure all desired combinations and in the end I'll get quite tricky configuration. Thereby you made me thinking that it would be probably easier and better (for further code understanding and maintenance) to write custom functions which will handle all complex multi-role key combinations.

Thank you!

Offline cub-uanic

  • Thread Starter
  • Posts: 72
  • Location: Ukraine, Kharkov
Re: Announce: TMK firmware for ErgoDox
« Reply #148 on: Sat, 03 January 2015, 07:37:34 »
Hi guys,

Here is small update:
- as asked by many people, now master branch is fresh and fully usable (actually it's same as cub_layout)
- refreshed core tmk files from tmp repo (should fix problem with sleeping)
- fixed compiling problem "keymap.c:211:46: error: unknown type name key_t"
- uploaded new release binaries to GitHub

ErgoDox Classic - Stock Clears
Teenesis - Kinesis Advantage powered by Teensy

Offline GelatinousSlime

  • Posts: 2
Re: Announce: TMK firmware for ErgoDox
« Reply #149 on: Wed, 21 January 2015, 20:35:12 »
Hey cub-uanic,
Thanks for porting this firmware to the ErgoDox! I've been using it for a few months now and love it.

I've never tried the mouse keys support before today, but so far I can't get it to work. I've pulled the latest from your repo, and verified that MOUSEKEY_ENABLE = yes is set in the make file, and using the lufa stack. I've defined a layer with the mouse movement, wheel movement, and buttons but none of them do anything.  I keep thinking I'm missing a step to make them work, but if so I can't figure out what it is.

I'm running Windows 8.1 at the moment and don't have access to either a Linux or Mac machine so I can't see if it behaves any difference with a different OS.