Author Topic: Easy AVR USB Keyboard Firmware and Keymapper  (Read 936165 times)

0 Members and 5 Guests are viewing this topic.

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1350 on: Fri, 29 January 2016, 11:54:07 »
Interesting plan!

If I'm understanding correctly on your base layer you need to tick 'implied shift' on the numbers to get their symbols.  Then your 'shift' key is actually an FN to a copy of the baselayer with 'implied shift' on the alphas etc?

Not sure what you mean about the backlight but I'm sure it's possible too :)
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline TheGlow

  • Posts: 48
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1351 on: Fri, 29 January 2016, 15:01:50 »
Hey suicidal_orange.
I see theres been some progress and wanted to give it a look.
I've had some more tasks come up at work that keyboard macros would be nice whereas Easy AVR was so simple, but I couldn't get them working via TMK.
So whats the deal? I download from github and compile myself and then it should be similar to how the previous releases were?
I see python is needed, so I just use run.bat I hope and then it should be like the previous exe?


Offline _skeletontoucher

  • Posts: 6
  • Location: 43214
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1352 on: Fri, 29 January 2016, 15:25:09 »
Interesting plan!

If I'm understanding correctly on your base layer you need to tick 'implied shift' on the numbers to get their symbols.  Then your 'shift' key is actually an FN to a copy of the baselayer with 'implied shift' on the alphas etc?

Not sure what you mean about the backlight but I'm sure it's possible too :)

Thanks for getting back to me so quickly! From what I found throughout the day, I can do the implied shift to the number keys on my lower layer (fn) so as to emulate !,@,#,$,etc.  In my build Q, !, 1, will be the same key. To achieve the ability to hold Fn+Q = !, I would need to check the "Shift" box and choose the SC_1_AND EXCLAMATION key?

As for the LED stuff: In general, what option from the "Set" dropdown should I use for turning LEDs on, dimming them, and any other control for them? Again, thanks!

Offline _skeletontoucher

  • Posts: 6
  • Location: 43214
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1353 on: Fri, 29 January 2016, 16:13:45 »
Just finished getting everything good to go. The reprogramming was pretty perfect. I guess I was just making it out to be a bigger deal. Thanks for the help!

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1354 on: Fri, 29 January 2016, 17:44:46 »
Hey suicidal_orange.
I see theres been some progress and wanted to give it a look.
I've had some more tasks come up at work that keyboard macros would be nice whereas Easy AVR was so simple, but I couldn't get them working via TMK.
So whats the deal? I download from github and compile myself and then it should be similar to how the previous releases were?
I see python is needed, so I just use run.bat I hope and then it should be like the previous exe?

I use Linux so have no idea about Python in Windows I'm afraid, if there's no .exe in the "build" folder under keymapper try the .bat and hope!

Once it's running it looks exactly the same as the old versio so you should be good :thumb:


To achieve the ability to hold Fn+Q = !, I would need to check the "Shift" box and choose the SC_1_AND EXCLAMATION key?

You could also put the "shift" tick on the FN key, quicker than doing it on each of the number/letter keys.  As long as it doesn't break anything else on the layer...

Glad to hear you've got it working :)
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline domsch1988

  • Posts: 57
  • Location: Germany
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1355 on: Sat, 30 January 2016, 12:48:08 »
Since my new Atreus should be on the way to me next week, i thought i'd start making a layout now. I had a play with the Software and am really impressed how easy to use it is. One thing though. I'm German, so i need the umlaut. When selecting a key and pressing "ö" on my keyboard nothing gets registered. In the drop down theres no option for ö,ä or ü. Is there some other key i'd need to choose for the umlaut being registered? Or are they missing completely? Maybe it's somewhere in the thread, but i have fund nothing on that topic yet...

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1356 on: Sat, 30 January 2016, 13:14:05 »
Since my new Atreus should be on the way to me next week, i thought i'd start making a layout now. I had a play with the Software and am really impressed how easy to use it is. One thing though. I'm German, so i need the umlaut. When selecting a key and pressing "ö" on my keyboard nothing gets registered. In the drop down theres no option for ö,ä or ü. Is there some other key i'd need to choose for the umlaut being registered? Or are they missing completely? Maybe it's somewhere in the thread, but i have fund nothing on that topic yet...

Interesting case - I thought the scancodes were the same for all layouts...  I've just tried using an Easy AVR board and telling the computer my Keyboard's German, and as expected the ; key (KEYCODE_SC_SEMICOLON_AND_COLON) outputs an ö (please check that's the right character, looks good to me)  This is in Linux but I'm pretty sure Windows will work the same.

If in doubt use the names from the UK ISO layout and you should be good :)
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline domsch1988

  • Posts: 57
  • Location: Germany
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1357 on: Sat, 30 January 2016, 13:53:55 »
Thanks for checking that so quickly. I'm sure I will make it work. The character you got is correct. I will be able to test it in one to two weeks. The atreus will be my first programmable keyboard...
Maybe it's an idea for a future version. Although it'll work fine, it gets a bit confusing. Maybe one could choose the language in the software to make the keys display as desired

Offline Nerdout

  • Posts: 7
  • Location: California
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1358 on: Sun, 31 January 2016, 16:00:33 »
Hi Y'all! I just wanted to thank OP for developing this software and sharing it with the community. This saved my paperweight TTeSports Poseidon Z, that I turned into a hand-wired TKL! Keep up the good work, can't wait until what he rolls out with next.  :thumb:

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1359 on: Sun, 31 January 2016, 20:11:31 »
Getting into modding my Planck. I've got a couple questions:

- Should I use the R_Shift or LED_Dimmer for adjusting the backlight intensity? The reason I ask is because the stock settings on my Planck have the LED key modifying the intensity, but also allowing shift functions.

The only function that can adjust the intensity is BL Dimmer.  R_Shift is the right shift key.  It doesn't make sense to try and assign two functions to the same key.  Using different layers is almost certainly a more sane option.

- Is there a way to split the shift functions of the keys? I want to make my lower layer top row the shift+num symbols (!,@,#,$...) and my raised layer top row just the numbers. Currently, I can only see that you can add them both as they would normally appear, combined with shift modifying for symbols. Same goes for brackets and a few other keys.

Sounds like you already know how to do it.  Remember that the keyboard has to send scancodes.  Just decide what you want every key to send, and assign that.  On your bottom row, give all the number keys a "with shift" option.  On the upper layer, just use them normally.

- Is layer 2 the same as Fn2? The radial buttons at the top start with Fn1 and then go forward with Layer 2, 3 and so on. I just want to make sure I'm not missing something.

Thanks for any help!

Default = Layer 0, FN = layer 1, FN2 = layer 2, etc.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1360 on: Sun, 31 January 2016, 20:12:26 »
Hey suicidal_orange.
I see theres been some progress and wanted to give it a look.
I've had some more tasks come up at work that keyboard macros would be nice whereas Easy AVR was so simple, but I couldn't get them working via TMK.
So whats the deal? I download from github and compile myself and then it should be similar to how the previous releases were?
I see python is needed, so I just use run.bat I hope and then it should be like the previous exe?

I'm still working on packaging.  If you want to use the version in github, what you have described will work.  However, you don't have to compile anything to use it.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1361 on: Sun, 31 January 2016, 20:12:56 »
Just finished getting everything good to go. The reprogramming was pretty perfect. I guess I was just making it out to be a bigger deal. Thanks for the help!

Glad it works!

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1362 on: Sun, 31 January 2016, 20:14:55 »
Since my new Atreus should be on the way to me next week, i thought i'd start making a layout now. I had a play with the Software and am really impressed how easy to use it is. One thing though. I'm German, so i need the umlaut. When selecting a key and pressing "ö" on my keyboard nothing gets registered. In the drop down theres no option for ö,ä or ü. Is there some other key i'd need to choose for the umlaut being registered? Or are they missing completely? Maybe it's somewhere in the thread, but i have fund nothing on that topic yet...

I'm sorry that it doesn't support internationalization.  I just don't have the experience.  All you have to do is set up your keyboard with a normal US layout, and whatever key is in the same spot as your umlaut will produce the correct character on your computer.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1363 on: Sun, 31 January 2016, 20:15:26 »
Hi Y'all! I just wanted to thank OP for developing this software and sharing it with the community. This saved my paperweight TTeSports Poseidon Z, that I turned into a hand-wired TKL! Keep up the good work, can't wait until what he rolls out with next.  :thumb:

Glad it worked out for you!

Offline Nerdout

  • Posts: 7
  • Location: California
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1364 on: Sun, 31 January 2016, 23:30:15 »
Hi Y'all! I just wanted to thank OP for developing this software and sharing it with the community. This saved my paperweight TTeSports Poseidon Z, that I turned into a hand-wired TKL! Keep up the good work, can't wait until what he rolls out with next.  :thumb:

Glad it worked out for you!

No, Thank You! People like yourself make the world less boring!  ;)

Offline TheGlow

  • Posts: 48
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1365 on: Mon, 01 February 2016, 09:59:51 »
Hey suicidal_orange.
I see theres been some progress and wanted to give it a look.
I've had some more tasks come up at work that keyboard macros would be nice whereas Easy AVR was so simple, but I couldn't get them working via TMK.
So whats the deal? I download from github and compile myself and then it should be similar to how the previous releases were?
I see python is needed, so I just use run.bat I hope and then it should be like the previous exe?

I'm still working on packaging.  If you want to use the version in github, what you have described will work.  However, you don't have to compile anything to use it.
Id rather steer clear of needing anymore stuff for compiling. I already raised a bunch of red flags when initially trying cygwin and mingw for TMK firmware.
I like the simplicity of your firmware, and making macros was easy. But as I mentioned a few pages ago I just had odd issues of keys repeating. TMK doesn't have that issue, so I've been sticking to that. Getting macros to work still eludes me however.
So any plans on putting up a compiled windows version of the latest? Is it different much from Easy_keymap_20150516? I know I tried about 5 different versions, older to beta and had the same behavior.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1366 on: Mon, 01 February 2016, 11:02:23 »
Hey suicidal_orange.
I see theres been some progress and wanted to give it a look.
I've had some more tasks come up at work that keyboard macros would be nice whereas Easy AVR was so simple, but I couldn't get them working via TMK.
So whats the deal? I download from github and compile myself and then it should be similar to how the previous releases were?
I see python is needed, so I just use run.bat I hope and then it should be like the previous exe?

I'm still working on packaging.  If you want to use the version in github, what you have described will work.  However, you don't have to compile anything to use it.
Id rather steer clear of needing anymore stuff for compiling. I already raised a bunch of red flags when initially trying cygwin and mingw for TMK firmware.
I like the simplicity of your firmware, and making macros was easy. But as I mentioned a few pages ago I just had odd issues of keys repeating. TMK doesn't have that issue, so I've been sticking to that. Getting macros to work still eludes me however.
So any plans on putting up a compiled windows version of the latest? Is it different much from Easy_keymap_20150516? I know I tried about 5 different versions, older to beta and had the same behavior.

I'm very curious about your repeating keys.  I use the firmware on 8 of my own boards at home, and none of them have a repeating keys problem.  I'd like to fix it, though.

How often do you get the repeating keys?  Is it consistent or is it intermittent?  Is it always 2 or is it more?  does it happen the same on all switches or are a few switches worse than the others?

Have you tried extending the debounce time using the config console?  That's what I would try first.  Try extending debounce to at least 12 ms.  Don't worry, it won't effect response time.
« Last Edit: Mon, 01 February 2016, 11:04:21 by metalliqaz »

Offline TheGlow

  • Posts: 48
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1367 on: Mon, 01 February 2016, 11:23:16 »
Hey suicidal_orange.
I see theres been some progress and wanted to give it a look.
I've had some more tasks come up at work that keyboard macros would be nice whereas Easy AVR was so simple, but I couldn't get them working via TMK.
So whats the deal? I download from github and compile myself and then it should be similar to how the previous releases were?
I see python is needed, so I just use run.bat I hope and then it should be like the previous exe?
I'm still working on packaging.  If you want to use the version in github, what you have described will work.  However, you don't have to compile anything to use it.
Id rather steer clear of needing anymore stuff for compiling. I already raised a bunch of red flags when initially trying cygwin and mingw for TMK firmware.
I like the simplicity of your firmware, and making macros was easy. But as I mentioned a few pages ago I just had odd issues of keys repeating. TMK doesn't have that issue, so I've been sticking to that. Getting macros to work still eludes me however.
So any plans on putting up a compiled windows version of the latest? Is it different much from Easy_keymap_20150516? I know I tried about 5 different versions, older to beta and had the same behavior.

I'm very curious about your repeating keys.  I use the firmware on 8 of my own boards at home, and none of them have a repeating keys problem.  I'd like to fix it, though.

How often do you get the repeating keys?  Is it consistent or is it intermittent?  Is it always 2 or is it more?  does it happen the same on all switches or are a few switches worse than the others?

Have you tried extending the debounce time using the config console?  That's what I would try first.  Try extending debounce to at least 12 ms.  Don't worry, it won't effect response time.

I started posting on Page 24 if you want to take a look. From what I recall it could be any key. Often once every sentence or 2, so fairly regular. it would usually start within 10 mins of flashing the firmware. I confirmed the shipped firmware bpiphany provided me did not do this. I took a few weeks to figure out TMK and this also is fine.
I will admit I see somewhat similar repeats very very rarely, once every few days, or double spacebar. However I have noticed this once or twice at home as well so I'm been meaning to look into this more. I have a pinched nerve on my left side so it usually only bothers me in the winter and I notice my hand sometimes has a bit of a shake to it at certain angles. I was thinking to retry the firmware and see if it was only keys I may have hit with my left hand. But for comparison I rarely get it with the other firmwares vs yours.
I had debounce up to I think 75 before I saw it really cutting back, but at that rate it was ruining my legit back spaces.

But basically typing as normal would repeat a key a few strokes later.
For instance, 12342567. The 2 could come back 2-3 presses later. 
Everything else appeared fine. Suicidal_orange compiled some hexes for me to try and even had someone with similar setup provide me theirs off reddit and it wouldn't work right on me.
I was starting to think if some how the frosty flake may have a problem but why would other firmwares work?
bpiphany was up for letting me swap it out but I didnt want to hassle him just yet with that process him being overseas.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1368 on: Mon, 01 February 2016, 11:41:28 »
The bpiphany controllers have had this problem before, although I do use the Black Petal seemingly without issue.  Have you tried the newest code from Github (version 2.0.1) ?

Let me know if it has the problem.  I can make a test build for you with some extra settling time in the matrix scanning code, that has helped in the past.

Offline TheGlow

  • Posts: 48
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1369 on: Tue, 02 February 2016, 09:07:46 »
The bpiphany controllers have had this problem before, although I do use the Black Petal seemingly without issue.  Have you tried the newest code from Github (version 2.0.1) ?

Let me know if it has the problem.  I can make a test build for you with some extra settling time in the matrix scanning code, that has helped in the past.
Ooh, this is definitely not better.
I built a simple layout and had crazy inputs when pressing some keys.
I tap the letter A and get this,
Code: [Select]
adsfjkl\:::::::::::::::::::::::::::::::AAAAAAAAAAAAAAA:A:AS:A:A:AS:AS:AS:AS:AS:AS:|AS:|A|S:AS:AS:|AS:|AS:|AS:|AS:||AS:|AS:AS:|AS:|AS:|AS:|s;\A\AS:\ADS:ADS:J|as;j\as;jl\s;\As;\ADJ\ADS:J\ADS:FJL\as;jads;fjl\ds;fjl\AUntil it seems to do a win+L and lock my system.
I also tried a stock layout. I set frosty flake v2, all keys, and only set right Fn/Application to Fn0 and then pause for Boot key. the rest default.
qwertyuiop seems ok but L and A at least cause the stream of spam.
Any other suggestions? I had to plug in a 2nd keyboard to recover from this. I have some .bat files to dfu-programmer erase, reload and flash some specific hexes for when the keyboard is in write mode, but locking my session I did not anticipate.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1370 on: Tue, 02 February 2016, 09:37:31 »
Okay so the new code is different enough that I had to re-do all the supported boards.  That means that every board I don't own has had no testing.

Looks like you found a bug in the frosty flake support.  I'll take a look when I get home.

Offline TheGlow

  • Posts: 48
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1371 on: Tue, 02 February 2016, 11:45:02 »
Okay so the new code is different enough that I had to re-do all the supported boards.  That means that every board I don't own has had no testing.

Looks like you found a bug in the frosty flake support.  I'll take a look when I get home.
Aye aye cap'n. At least there is some hope now.
Side note, I have a Razer Blackwidow that has a fried chipset. You plug it in and caps/num/scrol lock leds stay on. Device manager doesnt detect it. After about 5-10 mins you smell a little bit of electrical fire. Whats the best way to have this operational again? What kind of chip can I get it for that would be able to support something like Easy AVR?
I'm guessing I would have to cut the traces on the board as I'm unsure if any would still be useful as is. it also has LEDs so I think that further complicates it.

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1372 on: Tue, 02 February 2016, 11:57:44 »
Side note, I have a Razer Blackwidow that has a fried chipset. You plug it in and caps/num/scrol lock leds stay on. Device manager doesnt detect it. After about 5-10 mins you smell a little bit of electrical fire. Whats the best way to have this operational again? What kind of chip can I get it for that would be able to support something like Easy AVR?
I'm guessing I would have to cut the traces on the board as I'm unsure if any would still be useful as is. it also has LEDs so I think that further complicates it.

Is that a fullsize?  If so the matrix is probably too big for an ATMEGA32u4, so your best option would probably be a Teensy 2.0++

Desolder the existing controller chip, map out the matrix and connect it to the Teensy - the end result will look something like my Ducky (working perfectly for over a year as my main board :thumb:)



Downside?  No EasyAVR, though Metalliqaz said it wouldn't be that hard so you could ask nicely.  Mine runs Soarer's firmware which is easy enough for a single layer, never bothered going further...
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline TheGlow

  • Posts: 48
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1373 on: Tue, 02 February 2016, 12:06:31 »
Side note, I have a Razer Blackwidow that has a fried chipset. You plug it in and caps/num/scrol lock leds stay on. Device manager doesnt detect it. After about 5-10 mins you smell a little bit of electrical fire. Whats the best way to have this operational again? What kind of chip can I get it for that would be able to support something like Easy AVR?
I'm guessing I would have to cut the traces on the board as I'm unsure if any would still be useful as is. it also has LEDs so I think that further complicates it.

Is that a fullsize?  If so the matrix is probably too big for an ATMEGA32u4, so your best option would probably be a Teensy 2.0++

Desolder the existing controller chip, map out the matrix and connect it to the Teensy - the end result will look something like my Ducky (working perfectly for over a year as my main board :thumb:)

Show Image


Downside?  No EasyAVR, though Metalliqaz said it wouldn't be that hard so you could ask nicely.  Mine runs Soarer's firmware which is easy enough for a single layer, never bothered going further...
Funny you should put a Ducky as I picked one up a few months ago on ebay, Shine1 and never got around to using it because thats right when I also got the QFR to try TKL.
I was wondering how practical it would be to get a different controller in as well. I actually use the Application key so not having that is a bit annoying. There is no real way to emulate that with autohotkey or anything since that function key is on a hardware level, correct?
I have a coworker that liked my white keys on black and ended up getting a WASD keyboard and he has the same problem. At least he has dip switches to set it back to Application.
Yea, the Razer is Full size. In addition it also has 5 extra keys on the left that the Razer software lets you bind to either keys or macros, so I would probably have wanted to try and get those in the matrix as well.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1374 on: Tue, 02 February 2016, 13:40:49 »
Side note, I have a Razer Blackwidow that has a fried chipset. You plug it in and caps/num/scrol lock leds stay on. Device manager doesnt detect it. After about 5-10 mins you smell a little bit of electrical fire. Whats the best way to have this operational again? What kind of chip can I get it for that would be able to support something like Easy AVR?
I'm guessing I would have to cut the traces on the board as I'm unsure if any would still be useful as is. it also has LEDs so I think that further complicates it.

Is that a fullsize?  If so the matrix is probably too big for an ATMEGA32u4, so your best option would probably be a Teensy 2.0++

Desolder the existing controller chip, map out the matrix and connect it to the Teensy - the end result will look something like my Ducky (working perfectly for over a year as my main board :thumb:)

Show Image


Downside?  No EasyAVR, though Metalliqaz said it wouldn't be that hard so you could ask nicely.  Mine runs Soarer's firmware which is easy enough for a single layer, never bothered going further...

Dude I've been looking for a reason to port it to the AT90USB128 / Teensy 2.0 ++
I'll make a build today!

Offline TheGlow

  • Posts: 48
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1375 on: Tue, 02 February 2016, 14:30:11 »
Side note, I have a Razer Blackwidow that has a fried chipset. You plug it in and caps/num/scrol lock leds stay on. Device manager doesnt detect it. After about 5-10 mins you smell a little bit of electrical fire. Whats the best way to have this operational again? What kind of chip can I get it for that would be able to support something like Easy AVR?
I'm guessing I would have to cut the traces on the board as I'm unsure if any would still be useful as is. it also has LEDs so I think that further complicates it.

Is that a fullsize?  If so the matrix is probably too big for an ATMEGA32u4, so your best option would probably be a Teensy 2.0++

Desolder the existing controller chip, map out the matrix and connect it to the Teensy - the end result will look something like my Ducky (working perfectly for over a year as my main board :thumb:)

Show Image


ownside?  No EasyAVR, though Metalliqaz said it wouldn't be that hard so you could ask nicely.  Mine runs Soarer's firmware which is easy enough for a single layer, never bothered going further...

Dude I've been looking for a reason to port it to the AT90USB128 / Teensy 2.0 ++
I'll make a build today!
Thats some good news. I may look into breathing some life into that Razer.
On a side note, whats the best place to get some cherry mx clears? I have Blues on my home pc and browns in the work pc.
Theyre ok, but I really wanted to try clears. The razer and ducky are both browns so I have more than enough of those.

Offline geniekid

  • Posts: 763
  • Location: Chicago, IL
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1376 on: Tue, 02 February 2016, 14:46:08 »
Side note, I have a Razer Blackwidow that has a fried chipset. You plug it in and caps/num/scrol lock leds stay on. Device manager doesnt detect it. After about 5-10 mins you smell a little bit of electrical fire. Whats the best way to have this operational again? What kind of chip can I get it for that would be able to support something like Easy AVR?
I'm guessing I would have to cut the traces on the board as I'm unsure if any would still be useful as is. it also has LEDs so I think that further complicates it.

Is that a fullsize?  If so the matrix is probably too big for an ATMEGA32u4, so your best option would probably be a Teensy 2.0++

Desolder the existing controller chip, map out the matrix and connect it to the Teensy - the end result will look something like my Ducky (working perfectly for over a year as my main board :thumb:)

Show Image


Downside?  No EasyAVR, though Metalliqaz said it wouldn't be that hard so you could ask nicely.  Mine runs Soarer's firmware which is easy enough for a single layer, never bothered going further...

Dear god suicidal_orange...


[SNIP]
Dude I've been looking for a reason to port it to the AT90USB128 / Teensy 2.0 ++
I'll make a build today!

That would be great for those of us looking to make slightly bigger custom layouts! :thumb:
« Last Edit: Tue, 02 February 2016, 14:52:19 by geniekid »

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1377 on: Tue, 02 February 2016, 15:41:09 »
Funny you should put a Ducky as I picked one up a few months ago on ebay, Shine1 and never got around to using it because thats right when I also got the QFR to try TKL.
I was wondering how practical it would be to get a different controller in as well. I actually use the Application key so not having that is a bit annoying. There is no real way to emulate that with autohotkey or anything since that function key is on a hardware level, correct?
I have a coworker that liked my white keys on black and ended up getting a WASD keyboard and he has the same problem. At least he has dip switches to set it back to Application.
Yea, the Razer is Full size. In addition it also has 5 extra keys on the left that the Razer software lets you bind to either keys or macros, so I would probably have wanted to try and get those in the matrix as well.

Well if the Ducky is the same as mine I've done most of the hard work (mapping it - see below) but I don't think you'll get to keep the "shine" part.  One thing you could do is cut the traces to the FN key (wire a jumper around it if it's going to take out a whole bunch of keys - probably will) and connect the switch pins to a vacant ISO switch position which should give you a new scancode which you can autohotkey to something useful.  I want to say it's the one next to Z... Test before soldering.

More

5 extra keys on the Razer?  No problem - the Teensy 2.0++ has a lot of pins!



Dude I've been looking for a reason to port it to the AT90USB128 / Teensy 2.0 ++
I'll make a build today!

Oh god, I can't even get the nice sane matrix in my GH60 work with the new version - that's my task for the next couple of hours.  The craziness that is Ducky?  That's just scary! (see mapping document above)  Would be great for big customs though...

Dear god suicidal_orange...

My first mech - bought it broken then learned how keyboards work while fixing it :thumb:
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline TheGlow

  • Posts: 48
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1378 on: Tue, 02 February 2016, 15:48:36 »
Funny you should put a Ducky as I picked one up a few months ago on ebay, Shine1 and never got around to using it because thats right when I also got the QFR to try TKL.
I was wondering how practical it would be to get a different controller in as well. I actually use the Application key so not having that is a bit annoying. There is no real way to emulate that with autohotkey or anything since that function key is on a hardware level, correct?
I have a coworker that liked my white keys on black and ended up getting a WASD keyboard and he has the same problem. At least he has dip switches to set it back to Application.
Yea, the Razer is Full size. In addition it also has 5 extra keys on the left that the Razer software lets you bind to either keys or macros, so I would probably have wanted to try and get those in the matrix as well.

Well if the Ducky is the same as mine I've done most of the hard work (mapping it - see below) but I don't think you'll get to keep the "shine" part.  One thing you could do is cut the traces to the FN key (wire a jumper around it if it's going to take out a whole bunch of keys - probably will) and connect the switch pins to a vacant ISO switch position which should give you a new scancode which you can autohotkey to something useful.  I want to say it's the one next to Z... Test before soldering.

More
Show Image

5 extra keys on the Razer?  No problem - the Teensy 2.0++ has a lot of pins!



Dude I've been looking for a reason to port it to the AT90USB128 / Teensy 2.0 ++
I'll make a build today!

Oh god, I can't even get the nice sane matrix in my GH60 work with the new version - that's my task for the next couple of hours.  The craziness that is Ducky?  That's just scary! (see mapping document above)  Would be great for big customs though...

Dear god suicidal_orange...

My first mech - bought it broken then learned how keyboards work while fixing it :thumb:
Sadly that wiring doesn't faze me. I learned how doing arcade stick->360 mods. Sloppy but same idea. First pad did not have a common ground so each button needed both pins wired separately. Then eventually I graduated to 360 modchips and even did a trace repair I messed up.
So when I see that, it just needs time. I'm hoping to find a cheap board with clears (i keep forgetting to check ebay every day) and desolder em and swap with my browns.
What price should a Teensy2++ usually fetch so I can keep an eye out?
i havent used AVR for anything LED really, so if Metal adds the support, we can still set brightness levels and what not?
It would be a good board for my daughter, getting her into pc gaming.

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1379 on: Tue, 02 February 2016, 16:14:07 »
Sadly that wiring doesn't faze me. I learned how doing arcade stick->360 mods. Sloppy but same idea. First pad did not have a common ground so each button needed both pins wired separately. Then eventually I graduated to 360 modchips and even did a trace repair I messed up.
So when I see that, it just needs time. I'm hoping to find a cheap board with clears (i keep forgetting to check ebay every day) and desolder em and swap with my browns.
What price should a Teensy2++ usually fetch so I can keep an eye out?
i havent used AVR for anything LED really, so if Metal adds the support, we can still set brightness levels and what not?
It would be a good board for my daughter, getting her into pc gaming.

The wiring is the easy bit, it was the playing "guess what's connected to what?" where the diodes are nowhere near their associated switch so you have to find the diode and note the switch, then find which other diodes it's connected to and note that as a row/column.  Plus there are big holes in the matrix on the side that's directly connected.  Sounds like you're up to the task though if needs be.

The 2.0++ is only $24 direct, I paid way more than that but being non-US I'm used to that!

I guess if you connect the 5v and some control pins in the correct places the LEDs could be made to work with a Teensy but mine is not a Shine so it's not something I tried to do (there aren't even resistors for easy add-your-own...)
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1380 on: Tue, 02 February 2016, 18:41:27 »
Back on topic, I'm looking at my GH60revC and am pretty sure it's config'ed backwards as TMK has "Read cols" while EasyAVR has "Matrix strobe" with the 14 pins.  I've tried all combinations of strobe_cols and strobe_low so at this point I'm guessing that I need to swap them over.


It seems the "Port mask" is used to define which pins are either unavailable or are used for LEDs with a 0, where the right digit is pin x0 and counting up going left.  Then the "Dir mask" additionally zeroes out any pins used for sensing?

This left me with this (#pin line from TMK)
Code: [Select]
#pin: F0  F1  E6  C7  C6  B6  D4  B1  B7  B5  B4  D7  D6  B3  (Rev.B/C)
matrix_hardware = [
#     Port mask     Dir mask
    (  0b11111010 , 0b11111010 ),    # REF_PORTB
    ( 0b11000000 , 0b11000000 ),    # REF_PORTC
    ( 0b11111111 , 0b11010000 ),    # REF_PORTD
    ( 0b01000000 , 0b01000000 ),    # REF_PORTE
    ( 0b00000011 , 0b00000011 )     # REF_PORTF
]

Next the strobing.  Seems to require the Port mask from above, but adding whichever pin you want to strobe as an extra 1 - only 5 pins so 5 lines.

Code: [Select]
#row: 0   1   2   3   4
#pin: D0  D1  D2  D3  D5
matrix_strobe = [
#     REF_PORTB    REF_PORTC    REF_PORTD    REF_PORTE   REF_PORTF
    ( 0b11111010 , 0b11000000 , 0b11010001 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b11000000 , 0b11010010 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b11000000 , 0b11010100 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b11000000 , 0b11011000 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b11000000 , 0b11110000 , 0b01000000 , 0b00000011 )
]

Lastly sensing which for whatever reason isn't binarized.  Now there are lots of these...

Code: [Select]
matrix_sense = [
#      Port        Pin mask
    ( REF_PORTF , (1 << 0) ),
    ( REF_PORTF , (1 << 1) ),
    ( REF_PORTE , (1 << 6) ),
    ( REF_PORTC , (1 << 7) ),
    ( REF_PORTC , (1 << 6) ),
    ( REF_PORTB , (1 << 6) ),
    ( REF_PORTD , (1 << 4) ),
    ( REF_PORTB , (1 << 1) ),
    ( REF_PORTB , (1 << 7) ),
    ( REF_PORTB , (1 << 5) ),
    ( REF_PORTB , (1 << 4) ),
    ( REF_PORTD , (1 << 7) ),
    ( REF_PORTD , (1 << 6) ),
    ( REF_PORTB , (1 << 3) )
]

Built fine with this config, but no output from the switches or when shorting them bypassing the diode.  Am I misunderstanding or is it just a typo?
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1381 on: Tue, 02 February 2016, 19:28:36 »
Back on topic, I'm looking at my GH60revC and am pretty sure it's config'ed backwards as TMK has "Read cols" while EasyAVR has "Matrix strobe" with the 14 pins.  I've tried all combinations of strobe_cols and strobe_low so at this point I'm guessing that I need to swap them over.


How exactly is Rev C different from Rev B?  TMK firmware only claims to support A and B

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1382 on: Tue, 02 February 2016, 19:47:50 »
Okay, suicidal_orange, here is the GH60 code currently in the repo:

Code: [Select]
num_rows = 5
num_cols = 14

strobe_cols = True
strobe_low = True

matrix_hardware = [
#     Port mask     Dir mask
    ( 0b11111010 , 0b11111010 ),    # REF_PORTB
    ( 0b11000000 , 0b11000000 ),    # REF_PORTC
    ( 0b11111111 , 0b11010000 ),    # REF_PORTD
    ( 0b01000000 , 0b01000000 ),    # REF_PORTE
    ( 0b00000011 , 0b00000011 )     # REF_PORTF
]

matrix_strobe = [
#     REF_PORTB    REF_PORTC    REF_PORTD    REF_PORTE   REF_PORTF
    ( 0b11111010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000010 ),
    ( 0b11111010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000001 ),
    ( 0b11111010 , 0b11000000 , 0b11010000 , 0b00000000 , 0b00000011 ),
    ( 0b11111010 , 0b01000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b10000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b10111010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b11000000 , 0b11000000 , 0b01000000 , 0b00000011 ),
    ( 0b11111000 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b01111010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b11011010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b11101010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b11000000 , 0b01010000 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b11000000 , 0b10010000 , 0b01000000 , 0b00000011 ),
    ( 0b11110010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 )
]

matrix_sense = [
#      Port        Pin mask
    ( REF_PORTD , (1 << 0) ),
    ( REF_PORTD , (1 << 1) ),
    ( REF_PORTD , (1 << 2) ),
    ( REF_PORTD , (1 << 3) ),
    ( REF_PORTD , (1 << 5) )
]

Here is the same layout, but reversed:

Code: [Select]
num_rows = 5
num_cols = 14

strobe_cols = False
strobe_low = True

matrix_hardware = [
#     Port mask     Dir mask
    ( 0b11111010 , 0b00000000 ),    # REF_PORTB
    ( 0b11000000 , 0b00000000 ),    # REF_PORTC
    ( 0b11111111 , 0b00101111 ),    # REF_PORTD
    ( 0b01000000 , 0b00000000 ),    # REF_PORTE
    ( 0b00000011 , 0b00000000 )     # REF_PORTF
]

matrix_strobe = [
#     REF_PORTB    REF_PORTC    REF_PORTD    REF_PORTE    REF_PORTF
    ( 0b00000000 , 0b00000000 , 0b00101110 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00101101 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00101011 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00100111 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00001111 , 0b00000000 , 0b00000000 )
]

matrix_sense = [
#      Port        Pin mask
    ( REF_PORTF , (1 << 0) ),
    ( REF_PORTF , (1 << 1) ),
    ( REF_PORTE , (1 << 6) ),
    ( REF_PORTC , (1 << 7) ),
    ( REF_PORTC , (1 << 6) ),
    ( REF_PORTB , (1 << 6) ),
    ( REF_PORTD , (1 << 4) ),
    ( REF_PORTB , (1 << 1) ),
    ( REF_PORTB , (1 << 7) ),
    ( REF_PORTB , (1 << 5) ),
    ( REF_PORTB , (1 << 4) ),
    ( REF_PORTD , (1 << 7) ),
    ( REF_PORTD , (1 << 6) ),
    ( REF_PORTB , (1 << 3) )
]

Notice the differences.  strobe_cols is now False in the later code, so it strobes the rows and senses the columns, and the direction masks are different.

Let me know if it works, I will commit it
« Last Edit: Tue, 02 February 2016, 19:52:12 by metalliqaz »

Offline Nerdout

  • Posts: 7
  • Location: California
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1383 on: Tue, 02 February 2016, 21:00:16 »
Dude I've been looking for a reason to port it to the AT90USB128 / Teensy 2.0 ++
I'll make a build today!

You're a godsend! I have a full size mechanical keyboard that has a bad controller. Would love to see your software support full size hand-fixed matrix's!  :thumb:
« Last Edit: Tue, 02 February 2016, 21:02:20 by Nerdout »

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1384 on: Tue, 02 February 2016, 21:10:52 »
I wrote thr basic support in tonight, but i have no way to test it.   It's a 6x22 matrix for teensy2++ (at90usb1286)

Offline Nerdout

  • Posts: 7
  • Location: California
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1385 on: Tue, 02 February 2016, 21:20:26 »
I wrote thr basic support in tonight, but i have no way to test it.   It's a 6x22 matrix for teensy2++ (at90usb1286)

 :thumb: :thumb: :thumb: ;D

Offline fknraiden

  • Posts: 496
  • Location: Portland, OR
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1386 on: Tue, 02 February 2016, 22:11:38 »

This has version numbers?  I thought it used dates...  The latest says version 13 in "About" but there have been way more than 13 builds.

Can you post your config so I can try and debug?  If it builds without tweaks it should build with them :)

I was using the beta one, i will also try the latest.
http://i.imgur.com/jPyeYyb.png

The beta is the latest.  Who'd want to use an out of date one?! :))

I'll have a look now.

so i dont get the errors as before, but once i load the hex onto the teensy. I cant get anything to show up. I just dont get whats going on.

IBM SSK 87'     ReAlForce 55g Silent 10AE

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1387 on: Wed, 03 February 2016, 02:22:59 »
Back on topic, I'm looking at my GH60revC and am pretty sure it's config'ed backwards as TMK has "Read cols" while EasyAVR has "Matrix strobe" with the 14 pins.  I've tried all combinations of strobe_cols and strobe_low so at this point I'm guessing that I need to swap them over.


How exactly is Rev C different from Rev B?  TMK firmware only claims to support A and B

Officially I have no idea, but if I had to guess it has more LEDs wired up as the matrix works just fine with TMK.  Never got the Caps LED to work though...  LEDs are next on my to-do list once it works.

Okay, suicidal_orange, here is the GH60 code currently in the repo:

Code: [Select]
num_rows = 5
num_cols = 14

strobe_cols = True
strobe_low = True

matrix_hardware = [
#     Port mask     Dir mask
    ( 0b11111010 , 0b11111010 ),    # REF_PORTB
    ( 0b11000000 , 0b11000000 ),    # REF_PORTC
    ( 0b11111111 , 0b11010000 ),    # REF_PORTD
    ( 0b01000000 , 0b01000000 ),    # REF_PORTE
    ( 0b00000011 , 0b00000011 )     # REF_PORTF
]

matrix_strobe = [
#     REF_PORTB    REF_PORTC    REF_PORTD    REF_PORTE   REF_PORTF
    ( 0b11111010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000010 ),
    ( 0b11111010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000001 ),
    ( 0b11111010 , 0b11000000 , 0b11010000 , 0b00000000 , 0b00000011 ),
    ( 0b11111010 , 0b01000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b10000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b10111010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b11000000 , 0b11000000 , 0b01000000 , 0b00000011 ),
    ( 0b11111000 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b01111010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b11011010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b11101010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b11000000 , 0b01010000 , 0b01000000 , 0b00000011 ),
    ( 0b11111010 , 0b11000000 , 0b10010000 , 0b01000000 , 0b00000011 ),
    ( 0b11110010 , 0b11000000 , 0b11010000 , 0b01000000 , 0b00000011 )
]

matrix_sense = [
#      Port        Pin mask
    ( REF_PORTD , (1 << 0) ),
    ( REF_PORTD , (1 << 1) ),
    ( REF_PORTD , (1 << 2) ),
    ( REF_PORTD , (1 << 3) ),
    ( REF_PORTD , (1 << 5) )
]

Here is the same layout, but reversed:

Code: [Select]
num_rows = 5
num_cols = 14

strobe_cols = False
strobe_low = True

matrix_hardware = [
#     Port mask     Dir mask
    ( 0b11111010 , 0b00000000 ),    # REF_PORTB
    ( 0b11000000 , 0b00000000 ),    # REF_PORTC
    ( 0b11111111 , 0b00101111 ),    # REF_PORTD
    ( 0b01000000 , 0b00000000 ),    # REF_PORTE
    ( 0b00000011 , 0b00000000 )     # REF_PORTF
]

matrix_strobe = [
#     REF_PORTB    REF_PORTC    REF_PORTD    REF_PORTE    REF_PORTF
    ( 0b00000000 , 0b00000000 , 0b00101110 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00101101 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00101011 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00100111 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00001111 , 0b00000000 , 0b00000000 )
]

matrix_sense = [
#      Port        Pin mask
    ( REF_PORTF , (1 << 0) ),
    ( REF_PORTF , (1 << 1) ),
    ( REF_PORTE , (1 << 6) ),
    ( REF_PORTC , (1 << 7) ),
    ( REF_PORTC , (1 << 6) ),
    ( REF_PORTB , (1 << 6) ),
    ( REF_PORTD , (1 << 4) ),
    ( REF_PORTB , (1 << 1) ),
    ( REF_PORTB , (1 << 7) ),
    ( REF_PORTB , (1 << 5) ),
    ( REF_PORTB , (1 << 4) ),
    ( REF_PORTD , (1 << 7) ),
    ( REF_PORTD , (1 << 6) ),
    ( REF_PORTB , (1 << 3) )
]

Notice the differences.  strobe_cols is now False in the later code, so it strobes the rows and senses the columns, and the direction masks are different.

Let me know if it works, I will commit it

I'd love to understand this so will have a look through tonight as well as testing it - can't help but notice my strobe has many more 1's for a start :))

I wrote thr basic support in tonight, but i have no way to test it.   It's a 6x22 matrix for teensy2++ (at90usb1286)

Far too sane for my Ducky but I have another 2++ sat on my desk for testing :thumb:

so i dont get the errors as before, but once i load the hex onto the teensy. I cant get anything to show up. I just dont get whats going on.

Are you using the build from the OP or from the new version in github?
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1388 on: Wed, 03 February 2016, 07:03:17 »
Okay so the new code is different enough that I had to re-do all the supported boards.  That means that every board I don't own has had no testing.

Looks like you found a bug in the frosty flake support.  I'll take a look when I get home.
Aye aye cap'n. At least there is some hope now.
Side note, I have a Razer Blackwidow that has a fried chipset. You plug it in and caps/num/scrol lock leds stay on. Device manager doesnt detect it. After about 5-10 mins you smell a little bit of electrical fire. Whats the best way to have this operational again? What kind of chip can I get it for that would be able to support something like Easy AVR?
I'm guessing I would have to cut the traces on the board as I'm unsure if any would still be useful as is. it also has LEDs so I think that further complicates it.

By the way, which Frosty Flake do you have?  V1 or v2?

Offline TheGlow

  • Posts: 48
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1389 on: Wed, 03 February 2016, 11:21:25 »
By the way, which Frosty Flake do you have?  V1 or v2?
Its a v2.

Sadly that wiring doesn't faze me. I learned how doing arcade stick->360 mods. Sloppy but same idea. First pad did not have a common ground so each button needed both pins wired separately. Then eventually I graduated to 360 modchips and even did a trace repair I messed up.
So when I see that, it just needs time. I'm hoping to find a cheap board with clears (i keep forgetting to check ebay every day) and desolder em and swap with my browns.
What price should a Teensy2++ usually fetch so I can keep an eye out?
i havent used AVR for anything LED really, so if Metal adds the support, we can still set brightness levels and what not?
It would be a good board for my daughter, getting her into pc gaming.

The wiring is the easy bit, it was the playing "guess what's connected to what?" where the diodes are nowhere near their associated switch so you have to find the diode and note the switch, then find which other diodes it's connected to and note that as a row/column.  Plus there are big holes in the matrix on the side that's directly connected.  Sounds like you're up to the task though if needs be.

The 2.0++ is only $24 direct, I paid way more than that but being non-US I'm used to that!

I guess if you connect the 5v and some control pins in the correct places the LEDs could be made to work with a Teensy but mine is not a Shine so it's not something I tried to do (there aren't even resistors for easy add-your-own...)
Yes, I like this kind of madness. Ill definitely give this a look. I guess the real issue comes on trying to use existing traces and resistors/diodes. Worst case I guess I could manually wire it all and then cut traces periodically on the board to get rid of shorts.
« Last Edit: Wed, 03 February 2016, 11:24:27 by TheGlow »

Offline whiskytango

  • Posts: 576
  • Location: Birmingham, Alabama
  • Don't touch the trim
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1390 on: Wed, 03 February 2016, 11:51:28 »
Sadly that wiring doesn't faze me. I learned how doing arcade stick->360 mods. Sloppy but same idea. First pad did not have a common ground so each button needed both pins wired separately. Then eventually I graduated to 360 modchips and even did a trace repair I messed up.
So when I see that, it just needs time. I'm hoping to find a cheap board with clears (i keep forgetting to check ebay every day) and desolder em and swap with my browns.
What price should a Teensy2++ usually fetch so I can keep an eye out?
i havent used AVR for anything LED really, so if Metal adds the support, we can still set brightness levels and what not?
It would be a good board for my daughter, getting her into pc gaming.

Something like this? I feel your pain on the whole no common ground thing on the 360 controller. I did something similar on the original xbox to wire up NES controllers and that one did have common ground, much easier.



So yeah, that Ducky wiring doesn't look too bad. However, I'd love to put custom firmware on my ducky but still not sure I'd want to go through all that for it.
I stay busy with work and family these days, but I'm still around, lurking.

Offline fknraiden

  • Posts: 496
  • Location: Portland, OR
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1391 on: Wed, 03 February 2016, 12:12:20 »


so i dont get the errors as before, but once i load the hex onto the teensy. I cant get anything to show up. I just dont get whats going on.

Are you using the build from the OP or from the new version in github?


I have tried using both.
« Last Edit: Wed, 03 February 2016, 12:14:38 by fknraiden »

IBM SSK 87'     ReAlForce 55g Silent 10AE

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1392 on: Wed, 03 February 2016, 12:17:40 »
Code: [Select]
num_rows = 5
num_cols = 14

strobe_cols = False
strobe_low = True

matrix_hardware = [
#     Port mask     Dir mask
    ( 0b11111010 , 0b00000000 ),    # REF_PORTB
    ( 0b11000000 , 0b00000000 ),    # REF_PORTC
    ( 0b11111111 , 0b00101111 ),    # REF_PORTD
    ( 0b01000000 , 0b00000000 ),    # REF_PORTE
    ( 0b00000011 , 0b00000000 )     # REF_PORTF
]

matrix_strobe = [
#     REF_PORTB    REF_PORTC    REF_PORTD    REF_PORTE    REF_PORTF
    ( 0b00000000 , 0b00000000 , 0b00101110 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00101101 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00101011 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00100111 , 0b00000000 , 0b00000000 ),
    ( 0b00000000 , 0b00000000 , 0b00001111 , 0b00000000 , 0b00000000 )
]

matrix_sense = [
#      Port        Pin mask
    ( REF_PORTF , (1 << 0) ),
    ( REF_PORTF , (1 << 1) ),
    ( REF_PORTE , (1 << 6) ),
    ( REF_PORTC , (1 << 7) ),
    ( REF_PORTC , (1 << 6) ),
    ( REF_PORTB , (1 << 6) ),
    ( REF_PORTD , (1 << 4) ),
    ( REF_PORTB , (1 << 1) ),
    ( REF_PORTB , (1 << 7) ),
    ( REF_PORTB , (1 << 5) ),
    ( REF_PORTB , (1 << 4) ),
    ( REF_PORTD , (1 << 7) ),
    ( REF_PORTD , (1 << 6) ),
    ( REF_PORTB , (1 << 3) )
]

Notice the differences.  strobe_cols is now False in the later code, so it strobes the rows and senses the columns, and the direction masks are different.

Let me know if it works, I will commit it
1234567890-=`
qwertyuiop[]
asdfghjkl;'#
\zxcvbnm,./

Looking good!  Strangely though caps lock didn't work, but remaping it to ctrl the key did - is there any chance you broke the scancode? :confused:
« Last Edit: Wed, 03 February 2016, 12:21:30 by suicidal_orange »
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1393 on: Wed, 03 February 2016, 12:19:39 »


so i dont get the errors as before, but once i load the hex onto the teensy. I cant get anything to show up. I just dont get whats going on.

Are you using the build from the OP or from the new version in github?


I have tried using both.

What board is this again?

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1394 on: Wed, 03 February 2016, 12:27:04 »
Looking good!  Strangely though caps lock didn't, but remaping it to ctrl the key did - is there any chance you broke the scancode? :confused:

hmmm, sounds like the matrix location of that key is programmed wrong.  Right now I've got it as (2,0) and that seems to match up with TMK.  If you can map caps to a different key then the scancode is fine.  Could this possibly be a Rev.C change?  I assume this is the only key on the board that doesn't work.

I can try and look more tonight.  It's so great that the GH60 is finally getting some testing! 

Offline brentnycum

  • Posts: 3
  • Location: Shreveport, LA
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1395 on: Wed, 03 February 2016, 16:05:51 »
I tried to search the thread as best as possible, but at 28 pages... Do the media SCANCODE_PREV_TRACK (0xB5) and SCANCODE_NEXT_TRACK (0xB4) work correctly on the Mac? TMK had the issue where they had to change to rewind and fast-forward for the Mac. I'm thinking of grabbing a QFR + Frosty Flake, and all I want extra is Play/Pause, Next & Previous Track, Volume Up & Down.

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1396 on: Wed, 03 February 2016, 16:40:11 »
Looking good!  Strangely though caps lock didn't, but remaping it to ctrl the key did - is there any chance you broke the scancode? :confused:

hmmm, sounds like the matrix location of that key is programmed wrong.  Right now I've got it as (2,0) and that seems to match up with TMK.  If you can map caps to a different key then the scancode is fine.  Could this possibly be a Rev.C change?  I assume this is the only key on the board that doesn't work.

I can try and look more tonight.  It's so great that the GH60 is finally getting some testing!

Further testing completed - not sure what I was doing wrong but clearly something, as caps lock now works perfectly on a layer and the key works just fine as ctrl on the default layer.

The "All keys" layout is confirmed as all working, the only strangeness is that if you use a 1u-1.75u right shift split the keys are swapped compared to their matrix positions, so by default FN is inside shift.  It's a hardware issue but worth noting if anyone queries it.

Thanks for your help and sorry for the false alarm, I will resume attempting to add some LEDs.


Edit: Caps lock LED works - EasyAVR is now more functional than TMK on the GH60 :thumb:
« Last Edit: Wed, 03 February 2016, 17:04:30 by suicidal_orange »
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline fknraiden

  • Posts: 496
  • Location: Portland, OR
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1397 on: Wed, 03 February 2016, 16:42:46 »


so i dont get the errors as before, but once i load the hex onto the teensy. I cant get anything to show up. I just dont get whats going on.

Are you using the build from the OP or from the new version in github?


I have tried using both.

What board is this again?

Handwired teensy 2.0

IBM SSK 87'     ReAlForce 55g Silent 10AE

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1398 on: Wed, 03 February 2016, 16:47:05 »


so i dont get the errors as before, but once i load the hex onto the teensy. I cant get anything to show up. I just dont get whats going on.

Are you using the build from the OP or from the new version in github?


I have tried using both.

What board is this again?

Handwired teensy 2.0

What did your config look like for the new version?  Don't forget the [ code] tags :)
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline fknraiden

  • Posts: 496
  • Location: Portland, OR
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1399 on: Wed, 03 February 2016, 17:15:37 »


so i dont get the errors as before, but once i load the hex onto the teensy. I cant get anything to show up. I just dont get whats going on.

Are you using the build from the OP or from the new version in github?


I have tried using both.

What board is this again?

Handwired teensy 2.0

What did your config look like for the new version?  Don't forget the [ code] tags :)

you mean the pinouts?

[PHANTOM]
ROW0=F0
ROW1=F1
ROW2=F4
ROW3=F5
ROW4=F6
ROW5=F7
COL0=B1
COL1=B2
COL2=B3
COL3=B7
COL4=D0
COL5=D1
COL6=D2
COL7=D3
COL8=C6
COL9=C7
COL10=D5
COL11=D6
COL12=D7
COL13=B4
COL14=B5
COL15=B6
COL16=NA
COL17=NA
LED0=B0
LED1=NA
LED2=NA
LED3=NA

I think it made me set atleast one led. so i used one i wasn't using.

IBM SSK 87'     ReAlForce 55g Silent 10AE