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

0 Members and 2 Guests are viewing this topic.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #650 on: Sat, 14 February 2015, 14:41:22 »
Also, just for ****s and giggles, what does this do?  "my\RALT(64)\SHIFT()email.com"

Here:

Show Image


I don't know what to tell you.  Mine looks identical, except it works great.  Watch: my@email.commy@email.commy@email.commy@email.commy@email.commy@email.com

Does NumLock make a difference?

Offline vicibz

  • Posts: 20
  • Location: Ibiza
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #651 on: Sat, 14 February 2015, 14:41:37 »
Just in case: I'm using these macros using the 3rd layer which is triggered by Fn (former App key) and Right Control.
One question, what do the PW1..4 keys do? Shutdown, restart, sleep,..?

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #652 on: Sat, 14 February 2015, 14:42:13 »
Just in case: I'm using these macros using the 3rd layer which is triggered by Fn (former App key) and Right Control.
One question, what do the PW1..4 keys do? Shutdown, restart, sleep,..?

They generate strong passwords

Offline zennasyndroxx

  • Posts: 646
  • It's good to be back!
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #653 on: Sat, 14 February 2015, 15:39:12 »
the escape characters in macro works well for me :)

Oh yes, has anyone tried this with their orion or any duck boards?

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #654 on: Sat, 14 February 2015, 15:43:27 »
the escape characters in macro works well for me :)

Oh yes, has anyone tried this with their orion or any duck boards?

I run it on my Orion because I could never figure out the Korean firmwares.  It works nicely but it doesn't handle the backlighting very well at all.

Online suicidal_orange

  • * Global Moderator
  • Posts: 3336
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #655 on: Sat, 14 February 2015, 15:44:31 »
This is really easy to use and cross platform too, I'm really impressed!

While setting up my JD40 with Colemak I was wondering if it would be possible to enable two key access to the symbols on the number row using a "shift and FN" key, or any other workaround?  Some are available elsewhere but it looks like I'll have to use most of the macros to get these characters (computers think I'm using a UK layout) ! " $ % ^ & ( )

That would leave 982 characters for the last three macros which would have to be very carefully selected :))
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #656 on: Sat, 14 February 2015, 15:50:04 »
This is really easy to use and cross platform too, I'm really impressed!

While setting up my JD40 with Colemak I was wondering if it would be possible to enable two key access to the symbols on the number row using a "shift and FN" key, or any other workaround?  Some are available elsewhere but it looks like I'll have to use most of the macros to get these characters (computers think I'm using a UK layout) ! " $ % ^ & ( )

That would leave 982 characters for the last three macros which would have to be very carefully selected :))

I think I understand what you want.  You mean you want one of the Fn keys to imply a Shift?  Not currently supported but might be possible.  Let me think about it.

Offline zennasyndroxx

  • Posts: 646
  • It's good to be back!
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #657 on: Sat, 14 February 2015, 15:54:41 »
the escape characters in macro works well for me :)

Oh yes, has anyone tried this with their orion or any duck boards?

I run it on my Orion because I could never figure out the Korean firmwares.  It works nicely but it doesn't handle the backlighting very well at all.

I don't have any boards with full led to test it out but what modes does the BL mode (I presume that it's backlight mode) have? Duck's boards are good. the firmware is pretty good as well since you can have very advanced backlighting features but it lacks windows media keys support in Windows, and there's a lot of people who scratch their heads trying to use the o2d firmware.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #658 on: Sat, 14 February 2015, 15:57:13 »
the escape characters in macro works well for me :)

Oh yes, has anyone tried this with their orion or any duck boards?

I run it on my Orion because I could never figure out the Korean firmwares.  It works nicely but it doesn't handle the backlighting very well at all.

I don't have any boards with full led to test it out but what modes does the BL mode (I presume that it's backlight mode) have? Duck's boards are good. the firmware is pretty good as well since you can have very advanced backlighting features but it lacks windows media keys support in Windows, and there's a lot of people who scratch their heads trying to use the o2d firmware.

The problem is that the Orion (and lightsaver, and KMAC) run at 8MHz and Easy AVR was developed to assume 16MHz.  The software-based PWM doesn't work right and that causes fading effects to look bad.  If all you care about is turning the lights on/off, then it works great.

Online suicidal_orange

  • * Global Moderator
  • Posts: 3336
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #659 on: Sat, 14 February 2015, 15:59:56 »
This is really easy to use and cross platform too, I'm really impressed!

While setting up my JD40 with Colemak I was wondering if it would be possible to enable two key access to the symbols on the number row using a "shift and FN" key, or any other workaround?  Some are available elsewhere but it looks like I'll have to use most of the macros to get these characters (computers think I'm using a UK layout) ! " $ % ^ & ( )

That would leave 982 characters for the last three macros which would have to be very carefully selected :))

I think I understand what you want.  You mean you want one of the Fn keys to imply a Shift?  Not currently supported but might be possible.  Let me think about it.
Exactly - switch to a different layer so it knows it's a number key but with an implied shift. 

Or maybe it would be easier to add duplicate keys to the list with an implied shift?  Then you could mix shifted and non-shifted keys on the same layer...

I wish I knew more about the computer side of things, your code is there so I should have a read!
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #660 on: Sat, 14 February 2015, 16:06:20 »
The embedded C code isn't out in the open, only the Python-based keymapper.

It is not possible to assign a key to shift+press.  (without a macro) To change it would require a new architecture from scratch.  It would also complicate the application quite a bit, which violates one of the goals of the project.  TMK can do that kind of stuff, but obvious is not as easy to use.

Adding a Fn-implies-Shift config option is much more likely to happen.  Let me tinker a bit.

PS: for what it's worth, I'm going to add more macro keys eventually.  Should get M13-M16
« Last Edit: Sat, 14 February 2015, 16:08:15 by metalliqaz »

Online suicidal_orange

  • * Global Moderator
  • Posts: 3336
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #661 on: Sat, 14 February 2015, 16:32:57 »
I was struggling to get through gui.py and you say this is just the frontend and the real work is elsewhere?  :eek:  Easy for the end user is not so easy for the developer, you don't want to be redoing this from scratch when it works so well.

I will use macros for now but if you could add the implied shift and/or more macros that would be great.
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #662 on: Sat, 14 February 2015, 17:35:06 »
I implemented it.  Next version will include "Shifted" mode for modifiers and Fn keys.

Online suicidal_orange

  • * Global Moderator
  • Posts: 3336
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #663 on: Sat, 14 February 2015, 17:48:20 »
Wow, that was quick!  Thanks :D
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline vicibz

  • Posts: 20
  • Location: Ibiza
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #664 on: Sun, 15 February 2015, 02:28:01 »
Just wondering ...
Would it be difficult to implement modifying the macros from within the Config Console?

And one last "issue" I've found. I wanted the Scroll led in my kb to lit up when pressing the Fn key (kind of like the CoReCon firmware) but it doesn't work:



Did I get this one wrong?
Thanks!

Online suicidal_orange

  • * Global Moderator
  • Posts: 3336
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #665 on: Sun, 15 February 2015, 07:30:01 »
Just wondering ...
Would it be difficult to implement modifying the macros from within the Config Console?

And one last "issue" I've found. I wanted the Scroll led in my kb to lit up when pressing the Fn key (kind of like the CoReCon firmware) but it doesn't work:

Show Image


Did I get this one wrong?
Thanks!
From reading the documentation I think the LED is only for the "toggle" or "lockable" modes, it won't work while holding the Fn key in "normal" mode as the layer isn't locked.  Other than that you've done it right :)
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #666 on: Sun, 15 February 2015, 07:32:13 »
He speaks the truth

Offline slip84

  • Posts: 475
  • Location: Canada
  • GUYDUDE MAGICIAN
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #667 on: Sun, 15 February 2015, 09:15:48 »
I'm a bit confused, in the first page, there was talk of supporting the AVR-based GON boards. Did that ever happen? Or was there a reason it couldn't?

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #668 on: Sun, 15 February 2015, 09:29:25 »
I'm a bit confused, in the first page, there was talk of supporting the AVR-based GON boards. Did that ever happen? Or was there a reason it couldn't?

Most of the Korean boards from that time used ATmega32A parts, which are not USB parts (ATmega32U) which my firmware requires.

Online suicidal_orange

  • * Global Moderator
  • Posts: 3336
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #669 on: Sun, 15 February 2015, 09:43:00 »
Can I be a complete PITA and request an "implied Ctrl" Fn option too?  Having finished my Colemak based layout on testing I realised I have no H key, which is less than ideal :))

To remedy this I'm going to have to move X or Z but I want them to stay put for cut and undo...
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline slip84

  • Posts: 475
  • Location: Canada
  • GUYDUDE MAGICIAN
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #670 on: Sun, 15 February 2015, 09:47:01 »
I'm a bit confused, in the first page, there was talk of supporting the AVR-based GON boards. Did that ever happen? Or was there a reason it couldn't?

Most of the Korean boards from that time used ATmega32A parts, which are not USB parts (ATmega32U) which my firmware requires.

Groovy! Thanks for the quick answer.

Offline greath

  • Posts: 231
  • Location: Maryland
  • A waffle is like a pancake with a syrup trap.
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #671 on: Sun, 15 February 2015, 12:46:01 »
Another experiment in macros.

Trying to set up a macro to change between two default audio devices for output. Here's what I have so far:

\WIN(r) mmsys.cpl \ENTER, \DOWN, \ALT(s) \ENTER,

All the keys seem to output correctly (according to AquaKeyTest). I *believe* the problem is that there is no wait time between \ENTER, and \DOWN,. Is there a wait function that I'm not seeing in the instructions? If not do you think you'll be adding a wait function in the future at any point?

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #672 on: Sun, 15 February 2015, 13:04:49 »
Another experiment in macros.

Trying to set up a macro to change between two default audio devices for output. Here's what I have so far:

\WIN(r) mmsys.cpl \ENTER, \DOWN, \ALT(s) \ENTER,

All the keys seem to output correctly (according to AquaKeyTest). I *believe* the problem is that there is no wait time between \ENTER, and \DOWN,. Is there a wait function that I'm not seeing in the instructions? If not do you think you'll be adding a wait function in the future at any point?

You aren't missing anything.  There isn't a wait macro.  The main reason there isn't a wait macro is that I never needed it myself.  The secondary reason is that the firmware doesn't actually "know" what a macro is.  When you press M1, all that happens is a switch is flipped that causes the software to ignore the key->scancode translation table and read from a string instead.  It's just injecting scancodes into the stream, and there is no scancode for "wait".  I haven't hacked on the macro code in a long time.  Let me see if a wait is possible.

Also, I do something similar on my PC with the default audio devices.  Except, I don't try to run mmsys.cpl.  I dragged the "Sound" widget from the control pannel to my desktop, which creates a shortcut.  Then, I went into the shortcut properties and set a shortcut key.  This means that I can press Ctrl+Alt+S and it pops right up.  You could do something like that to simplify your macro and possibly even speed it up.

Offline greath

  • Posts: 231
  • Location: Maryland
  • A waffle is like a pancake with a syrup trap.
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #673 on: Sun, 15 February 2015, 13:15:26 »
Another experiment in macros.

Trying to set up a macro to change between two default audio devices for output. Here's what I have so far:

\WIN(r) mmsys.cpl \ENTER, \DOWN, \ALT(s) \ENTER,

All the keys seem to output correctly (according to AquaKeyTest). I *believe* the problem is that there is no wait time between \ENTER, and \DOWN,. Is there a wait function that I'm not seeing in the instructions? If not do you think you'll be adding a wait function in the future at any point?

You aren't missing anything.  There isn't a wait macro.  The main reason there isn't a wait macro is that I never needed it myself.  The secondary reason is that the firmware doesn't actually "know" what a macro is.  When you press M1, all that happens is a switch is flipped that causes the software to ignore the key->scancode translation table and read from a string instead.  It's just injecting scancodes into the stream, and there is no scancode for "wait".  I haven't hacked on the macro code in a long time.  Let me see if a wait is possible.

Also, I do something similar on my PC with the default audio devices.  Except, I don't try to run mmsys.cpl.  I dragged the "Sound" widget from the control pannel to my desktop, which creates a shortcut.  Then, I went into the shortcut properties and set a shortcut key.  This means that I can press Ctrl+Alt+S and it pops right up.  You could do something like that to simplify your macro and possibly even speed it up.

I know I'm being pedantic at this point, just playing around with the marcos to figure out what is and is not possible :D

I think I'll keep my "\WIN(r) mmsys.cpl \ENTER," part of the macro to bring up sound and use that, but thanks for the shortcut tip.

I'll keep a lookout for if you ever do add \WAIT functionality. Again thanks for the fast reply.

Also, if you don't have a volume on screen display and want one (along with a little more functionality), check out Volume2. It's what I've been using to quickswap between default audio devices, and the OSD for volume is customize and really nice.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #674 on: Sun, 15 February 2015, 13:53:51 »
The idea is in my head now, so I have to try implementing it. (damn OCD)

it will be something like \WAIT(N) where N is a number less than or equal to 255

Offline greath

  • Posts: 231
  • Location: Maryland
  • A waffle is like a pancake with a syrup trap.
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #675 on: Sun, 15 February 2015, 14:05:55 »
The idea is in my head now, so I have to try implementing it. (damn OCD)

it will be something like \WAIT(N) where N is a number less than or equal to 255

Awesome! I'll try it out as soon as I see that it's posted :D

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #676 on: Sun, 15 February 2015, 21:10:56 »
Posted a new build.  Man, I hope I didn't screw up all the recompiles.

Offline greath

  • Posts: 231
  • Location: Maryland
  • A waffle is like a pancake with a syrup trap.
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #677 on: Mon, 16 February 2015, 06:52:01 »
Awesome! The wait function appears to work!

However it seems my macro is still doing something funky. Will test more after I get home from work today. I can see the wait time happening, but the macro needs a bit of troubleshooting.

Online suicidal_orange

  • * Global Moderator
  • Posts: 3336
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #678 on: Tue, 17 February 2015, 02:27:32 »
Yay, a build with shifted mode!

Hopefully I'll have time to play with this tonight :D
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #679 on: Fri, 20 February 2015, 16:30:54 »
Hey guys, I need your feedback to answer this question.

When I started writing my firmware, my goal was simply to get my own DIY creation up and running.  When I finished my Epsilon project, I quite liked hacking on my own firmware and started porting it to other boards.  The new features and targets crept up gradually and before long I had a user base that prevented me from fixing an annoying issue.

I never changed USB identification data.  So if you program your KMAC with the Easy firmware, it will show up in your control panel as "Epsilon Keyboard."  Likewise for a Phantom or GH60, etc.

Here's the important part:  I never changed it because when I tried a test build with changed ident data on my own PC, Windows freaked out over the new name and I had to uninstall the driver in the device manager and re-attach the keyboard to be redetected before it would work again.

So, tell me.  Would you rather I fixed the name, possibly requiring some control panel work, or do you think it would be best to simply leave it the way it is, preventing troubles for unsuspecting users?

Thanks for any feedback.

Offline jdcarpe

  • * Curator
  • Posts: 8856
  • Location: Odessa, TX
  • Live long, and prosper.
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #680 on: Fri, 20 February 2015, 16:35:56 »
Hey guys, I need your feedback to answer this question.

When I started writing my firmware, my goal was simply to get my own DIY creation up and running.  When I finished my Epsilon project, I quite liked hacking on my own firmware and started porting it to other boards.  The new features and targets crept up gradually and before long I had a user base that prevented me from fixing an annoying issue.

I never changed USB identification data.  So if you program your KMAC with the Easy firmware, it will show up in your control panel as "Epsilon Keyboard."  Likewise for a Phantom or GH60, etc.

Here's the important part:  I never changed it because when I tried a test build with changed ident data on my own PC, Windows freaked out over the new name and I had to uninstall the driver in the device manager and re-attach the keyboard to be redetected before it would work again.

So, tell me.  Would you rather I fixed the name, possibly requiring some control panel work, or do you think it would be best to simply leave it the way it is, preventing troubles for unsuspecting users?

Thanks for any feedback.

I don't mind it as-is, because I know what it means when I see it listed in devices. But a better descriptor would be a good thing, I think, as more and more people jump onboard. "Easy AVR USB Keyboard" or something. This being basically the default firmware for the JD40 and upcoming JD45, as well as Ron's SD keyboards, lots and lots of people are going to be using it.

I noticed you did away with the "beta" builds. Did you simply port the JD40 over what was the SmallFry (SMD version) in the new versions?
KMAC :: LZ-GH :: WASD CODE :: WASD v2 :: GH60 :: Alps64 :: JD45 :: IBM Model M :: IBM 4704 "Pingmaster"

http://jd40.info :: http://jd45.info


in memoriam

"When I was a kid, I used to take things apart and never put them back together."

Offline geniekid

  • Posts: 760
  • Location: Chicago, IL
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #681 on: Fri, 20 February 2015, 16:43:16 »
I think you should change it!  Anyone who is flashing their own firmware will likely be able to figure things out.

Online suicidal_orange

  • * Global Moderator
  • Posts: 3336
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #682 on: Fri, 20 February 2015, 16:48:30 »
Hey guys, I need your feedback to answer this question.

So, tell me.  Would you rather I fixed the name, possibly requiring some control panel work, or do you think it would be best to simply leave it the way it is, preventing troubles for unsuspecting users?

Thanks for any feedback.

I've always laughed at Windows' inability to instantly find drivers when switching a mouse or keyboard between USB ports and couldn't help chuckling to myself when I read this.  Perhaps a note to swap USB port would be easier for those less technically inclined, assuming that still makes Windows stop and think?

Personally I use Linux so would quite like the name to be accurate, but I hadn't even noticed what it's called so it's not something I'll loose any sleep over.
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #683 on: Fri, 20 February 2015, 17:03:13 »
I don't mind it as-is, because I know what it means when I see it listed in devices. But a better descriptor would be a good thing, I think, as more and more people jump onboard. "Easy AVR USB Keyboard" or something. This being basically the default firmware for the JD40 and upcoming JD45, as well as Ron's SD keyboards, lots and lots of people are going to be using it.

So you think I should avoid describing the keyboard and instead describe the software?  That would certainly be easy to implement.  Perhaps I could leave it generic, like "Easy AVR USB Keyboard" but allow it to be configured via the keymapper.

I noticed you did away with the "beta" builds.

The development was always in a straight line.  However, for some updates I'd recompile all the binaries, reprogram all of my supported boards with the new code, and test each one.  Then I'd publish it for a few days and if I didn't get any complaints, I'd call that a release version.  That's time consuming and I realized that I was avoiding doing it because of the work.  It got to the point that the Release version was out of date by the better part of a year.  So instead what I'm going to do is just leave some of the old links in the OP, so if a user has a problem with a new release, they can always just re-download an older version.

Did you simply port the JD40 over what was the SmallFry (SMD version) in the new versions?

Honestly I don't know which one I currently support.  A while ago you explained the difference to me and I will return to that post when needed, however nobody has reported any problems so I haven't changed anything.  It hasn't changed in a long time.  I prefer the TKL layout so I'll probably never own a 40%.  I can easily support both designs, but it will require a user to stand up and say they need help.

Online suicidal_orange

  • * Global Moderator
  • Posts: 3336
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #684 on: Fri, 20 February 2015, 17:06:57 »
Honestly I don't know which one I currently support.  A while ago you explained the difference to me and I will return to that post when needed, however nobody has reported any problems so I haven't changed anything.  It hasn't changed in a long time.  I prefer the TKL layout so I'll probably never own a 40%.  I can easily support both designs, but it will require a user to stand up and say they need help.
It currently works on my JD40 so I guess SmallFry support has been overwritten.
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #685 on: Fri, 20 February 2015, 17:11:46 »
Honestly I don't know which one I currently support.  A while ago you explained the difference to me and I will return to that post when needed, however nobody has reported any problems so I haven't changed anything.  It hasn't changed in a long time.  I prefer the TKL layout so I'll probably never own a 40%.  I can easily support both designs, but it will require a user to stand up and say they need help.
It currently works on my JD40 so I guess SmallFry support has been overwritten.

Thanks, I will change the name to "JD40" to avoid confusion.  If someone with a Smallfry complains, I'll add it as a new target.
So yours runs off a Teensy then, correct?

Online suicidal_orange

  • * Global Moderator
  • Posts: 3336
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #686 on: Fri, 20 February 2015, 17:13:27 »
Honestly I don't know which one I currently support.  A while ago you explained the difference to me and I will return to that post when needed, however nobody has reported any problems so I haven't changed anything.  It hasn't changed in a long time.  I prefer the TKL layout so I'll probably never own a 40%.  I can easily support both designs, but it will require a user to stand up and say they need help.
It currently works on my JD40 so I guess SmallFry support has been overwritten.

Thanks, I will change the name to "JD40" to avoid confusion.  If someone with a Smallfry complains, I'll add it as a new target.
So yours runs off a Teensy then, correct?

It does :)
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline vicibz

  • Posts: 20
  • Location: Ibiza
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #687 on: Sat, 21 February 2015, 01:59:22 »
So you think I should avoid describing the keyboard and instead describe the software?  That would certainly be easy to implement.  Perhaps I could leave it generic, like "Easy AVR USB Keyboard" but allow it to be configured via the keymapper.

Or have it defined in each configuration file for every keyboard, i.e:

filcohoof.cfg
Code: [Select]
[ANSI 87]
MAKE_KEY(5, 0, 9, 4)
MAKE_SPACER(5, 1, 0)
MAKE_SPACER(4, 12, 0)
MAKE_KEY(4, 13, 9, 4)

[ISO 88]
MAKE_BLANK(3, 13, 6)
MAKE_KEY(4, 13, 5, -8)

# WARNING MESSAGE WOULD GO HERE
[USB]
SET(VENDOR_ID, 0xFEED)
SET(PRODUCT_ID, 0xBEEF)
SET(MANUFACTURER, "Easy AVR USB Keyboard")
SET(PRODUCT, "Filco Majestouch-2 TKL")
SET(DESCRIPTION, "Easy AVR USB Keyboard firmware for Filco Majestouch-2 TKL")

This way only those who really want to modify these will go edit the cfg files, thus keeping the keymapper "easy".

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #688 on: Sat, 21 February 2015, 15:38:47 »
I've posted a new version.  See OP and changelog.

I decided to update the USB descriptors, but I kept it simple.  Just plain, no-nonsense strings.  Most people will never notice this anyway.

More
#define PRODUCT_STRING  L"EasyAVR HID Liberation Device"
#define PRODUCT_STRING  L"EasyAVR Pegasus Hoof"
#define PRODUCT_STRING  L"EasyAVR Kitten Paw"
#define PRODUCT_STRING  L"EasyAVR Frosty Flake"
#define PRODUCT_STRING  L"EasyAVR Black Petal"
#define PRODUCT_STRING  L"EasyAVR Ghost Squid"
#define PRODUCT_STRING  L"Epsilon Keyboard"
#define PRODUCT_STRING  L"Tau Keypad"
#define PRODUCT_STRING  L"EasyAVR GH60"
#define PRODUCT_STRING  L"EasyAVR GH36"
#define PRODUCT_STRING  L"EasyAVR GHPad"
#define PRODUCT_STRING  L"EasyAVR JD45"
#define PRODUCT_STRING  L"EasyAVR JD40"
#define PRODUCT_STRING  L"EasyAVR Phantom"
#define PRODUCT_STRING  L"EasyAVR KMAC"
#define PRODUCT_STRING  L"EasyAVR Orion"
#define PRODUCT_STRING  L"EasyAVR Atreus"
#define PRODUCT_STRING  L"EasyAVR Techcard"

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #689 on: Mon, 23 February 2015, 22:40:38 »
So a while ago ladoga brought a problem to my attention with using the firmware on non-US boards.  Apparently, the bit-packed vector that is used for NKRO support is not well supported in linux when using the backslash/non_us_hashmark_and_tilde key.  I think there is a translation layer that is causing keys to be virtually lifted and redetected even though the user holds the key steady IRL.

To work around this I tweaked the "Basic keyboard" config option to allow the user to disable NKRO and use 6KRO instead.  For further compatibility, the user can also disable the mouse and media keys.

I also added some new scancodes to this release, including two more Macros.  I don't really have any more room for macro codes than 14.

Offline ladoga

  • Posts: 5
  • Location: Earth
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #690 on: Tue, 24 February 2015, 15:41:31 »
To work around this I tweaked the "Basic keyboard" config option to allow the user to disable NKRO and use 6KRO instead. 

Just reporting that everything I tried works perfectly with 6KRO+Media Keys.

I notice there's also model specific device ID's now, nice:
Code: [Select]
[605113.351514] usb 1-1: new full-speed USB device number 22 using xhci_hcd
[605113.559031] usb 1-1: New USB device found, idVendor=03eb, idProduct=20ff
[605113.559039] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[605113.559043] usb 1-1: Product: EasyAVR Pegasus Hoof
[605113.559291] usb 1-1: ep 0x81 - rounding interval to 32 microframes, ep desc says 40 microframes
[605113.559299] usb 1-1: ep 0x82 - rounding interval to 32 microframes, ep desc says 40 microframes
[605113.559305] usb 1-1: ep 0x83 - rounding interval to 32 microframes, ep desc says 40 microframes
[605113.568621] input: EasyAVR Pegasus Hoof as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:03EB:20FF.0018/input/input32
[605113.568822] hid-generic 0003:03EB:20FF.0018: input,hidraw0: USB HID v1.11 Keyboard [EasyAVR Pegasus Hoof] on usb-0000:00:14.0-1/input0
[605113.574518] input: EasyAVR Pegasus Hoof as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.1/0003:03EB:20FF.0019/input/input33
[605113.574744] hid-generic 0003:03EB:20FF.0019: input,hidraw1: USB HID v1.11 Mouse [EasyAVR Pegasus Hoof] on usb-0000:00:14.0-1/input1
[605113.583126] input: EasyAVR Pegasus Hoof as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.2/0003:03EB:20FF.001A/input/input34
[605113.583377] hid-generic 0003:03EB:20FF.001A: input,hidraw2: USB HID v1.11 Device [EasyAVR Pegasus Hoof] on usb-0000:00:14.0-1/input2

Thanks.

Offline tyvar1

  • Posts: 350
  • Location: Sweden
  • Otto is a Rhino!
    • Reddit
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #691 on: Fri, 27 February 2015, 04:22:18 »
Your changelog says 2014 when it should be 2015 ;)

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #692 on: Fri, 27 February 2015, 08:33:51 »
Your changelog says 2014 when it should be 2015 ;)

Ah, yes.  That bane of every programmer: the copy-paste error.  Thanks, I fixed it.

Offline tyvar1

  • Posts: 350
  • Location: Sweden
  • Otto is a Rhino!
    • Reddit
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #693 on: Fri, 27 February 2015, 08:38:23 »
Your changelog says 2014 when it should be 2015 ;)

Ah, yes.  That bane of every programmer: the copy-paste error.  Thanks, I fixed it.
Haha no worries,just a small typo ;)

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #694 on: Fri, 27 February 2015, 08:45:05 »
Question

Say you have a keyboard like the Orion.  You have backlights as well as caps/scroll/num lock LEDs.  You have Caps Lock on and you are also using some kind of dynamic backlighting effects (breathing, reactive, etc) at the same time.

Do you expect the LED under the Caps Lock to brighten and dim with the rest of the backlights, or do you expect it to stay on at a consistent brightness.

I prefer the indicators are either on or off, not tracking the dynamic effects of the backlights, however I wonder if this view is shared by others.

Offline vicibz

  • Posts: 20
  • Location: Ibiza
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #695 on: Fri, 27 February 2015, 13:09:48 »
I think so too. The led's main function should have priority over other effects when it's on.

Online suicidal_orange

  • * Global Moderator
  • Posts: 3336
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #696 on: Sat, 28 February 2015, 11:35:23 »
Do you expect the LED under the Caps Lock to brighten and dim with the rest of the backlights, or do you expect it to stay on at a consistent brightness.
I've not got a backlit board, but if I did and was planning to use the lighting effects I would try to add the indicator LED(s) somewhere else (not in the switch) in the same way most stock keyboards do so it didn't ruin the effect.  If that wasn't an option the LED should stay on otherwise there is no indicator, which would be annoying.


Unrelated - is there any way to default to num lock on?  I think not but no harm asking :)
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #697 on: Sat, 28 February 2015, 11:42:21 »
Unrelated - is there any way to default to num lock on?  I think not but no harm asking :)

The Num Lock is handled by your PC, not by the keyboard.  When you press the Num Lock key, it sends the scancode to the PC, then the PC sends a message to the keyboard that says "turn on Num Lock LED".  The keyboard doesn't turn on the Num Lock LED on its own.  You can see this in action if you have two keyboards connected to your computer.  Pressing Num Lock on one of them will turn on/off the LED on both boards.

Therefore, setting NumLock to default to on is not a keyboard setting, it is a OS or BIOS setting.

Online suicidal_orange

  • * Global Moderator
  • Posts: 3336
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #698 on: Sat, 28 February 2015, 11:59:28 »
Unrelated - is there any way to default to num lock on?  I think not but no harm asking :)

The Num Lock is handled by your PC, not by the keyboard.  When you press the Num Lock key, it sends the scancode to the PC, then the PC sends a message to the keyboard that says "turn on Num Lock LED".  The keyboard doesn't turn on the Num Lock LED on its own.  You can see this in action if you have two keyboards connected to your computer.  Pressing Num Lock on one of them will turn on/off the LED on both boards.

Therefore, setting NumLock to default to on is not a keyboard setting, it is a OS or BIOS setting.
Thought so, thanks for confirming :)
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline radish

  • Posts: 125
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #699 on: Sun, 01 March 2015, 11:05:41 »
hey guys been looking around and i havent found any info on saving the existing firmware on the pcb.

i got a pre flashed kmac2 and i was wondering if anyone knew any way of backing up the existing firmware on the board before flashing it with the files generated by this software.

LZ CP