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

0 Members and 1 Guest are viewing this topic.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Easy AVR USB Keyboard Firmware and Keymapper
« on: Wed, 20 November 2013, 21:50:29 »
Info page at DT wiki
Source at Github

I'm breaking this out from my old Epsilon thread because this software has really outgrown it's original scope.

This is a keyboard firmware and keymapping GUI for custom keyboards based on USB AVRs.  It's powerful but also really easy to use.



Some of the supported boards

Want more?  Make a request.

Maturity Ratings: *** = Tested and working completely     ** = Probably working     * = No testing, might not work

Features
  • Fully programmable (of course)
  • 10 layers
  • key actuation can be configured for normal mode, toggle on/off, rapid-fire repeat, or dual-use (tap keys)
  • 14 firmware macros
  • 1 RAM macro, recordable on the fly
  • N-Key Rollover (NKRO)
  • 1kHz polling rate
  • Media keys
  • Mouse keys
  • Programmable LEDs
  • Backlighting effects
  • LED dimming
  • Advanced special features such as...
    • Virtual Numpad
    • Win Lock on Scroll Lock
    • Default layer selection
    • Customizable debounce algorithms and timing
    • Unlink Num Lock
    • Embedded password generator
  • Supports ATmega32U4, ATmega32U2, and ATmega16U2 ...so far

Download

Moved to Github

Directions

See the official documentation

Source code

See Github

FAQ

Moved to the wiki

Not finding what you're looking for?
You can try Hasu's firmware or Soarer's firmware
« Last Edit: Sun, 08 April 2018, 14:53:24 by metalliqaz »

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1 on: Wed, 20 November 2013, 21:50:46 »
HOWTOs go here.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2 on: Wed, 20 November 2013, 21:51:04 »
Changelog

Discontinued.  For changes, follow the project on Github


old changelog:

2015-06-25: Quick update
  • Fix basic LED config

2015-06-20: New beta release
  • Advanced LED config

2015-05-16: Quick update
  • Fix LEDs on GH36 and JD45
  • Sigma support

2015-05-10: New release
  • Add new \HINT() macro
  • Extend macro buffer to 2kB
  • Fix broken LED behavior in Zeta and possibly others

2015-04-20: New release
  • Improvements to handwire matrix
  • fix bugs in autokey

2015-04-19: New beta release
  • Fix rapidfire bug
  • Fix broken handmod matrix
  • Internal optimizations

2015-04-16: New beta release
  • Actions and tapkeys can be assigned to any key on any layer, instead of just mods/fn
  • Any key on any layer can be sent with any combination of mods, instead of just shift on mods/fn
  • Allow use of MX Lock on caps/scroll/num lock instead of just caps
  • New rapid fire key mode
  • Fix SCANCODE_BOOT not working
  • Many internal optimizations and bugfixes
  • Zeta support

2015-03-26: Quick update
  • Planck PCB support
  • Pegasus Hoof v2 support
  • Sixshooter support

2015-03-14: Quick update
  • Tweak Techcard and Lightsaver
  • Initial Octagon support
  • Make the picker tool MUCH less annoying to use

2015-03-07: New release
  • Add ANY_FN_ACTIVE LED assignment
  • Improve documentation

2015-03-04: New release
  • Internal optimizations
  • Bump USB keyboard polling interval to 1ms

2015-03-02: New release
Note!  This release bumps the EEPROM format version so all settings will be cleared when it is loaded for the first time.
  • Lightsaver support
  • New setting: default LED dimmer level

2015-03-01: New release
  • Remove FN_LOCK and replace with FN_ACTIVE through FN9_ACTIVE
  • Internal optimizations and bugfixes
  • Allow an LED indicator to be set to backlight on boards with backlighting
  • Add new backlight mode: Erosion

2015-02-23: New release
  • Allow NKRO disable without disabling mouse and media keys
  • Add the ability to use the rare Mac-only scancodes if desired
  • Add "search" media key
  • Extend the number of firmware macros from 12 to 14

2015-02-21: New release
  • Rename Smallfry to JD40.  Smallfry != JD40 and the former isn't currently supported. (though it could be)
  • Correct the USB device descriptors to identify hardware
  • More robust on KMAC and Orion
  • Fix LED backlighting dynamic modes and allow LED dimmer to go lower
  • Internal optimizations
  • Update Atreus

2015-02-15: New release
  • Add Shifted mode for mods and Fn keys
  • Add \WAIT() macro function

2015-02-13: Quick update
  • Atreus Support
  • Fix invalid .hex files
  • Fix parsing of ALT codes in macros

2015-02-01: Beta version updated
  • JD45 Support
  • Ghost Squid Support

2014-09-02: Beta version updated
  • Fix GH36 support
  • Add F13-F24

2014-08-25: Beta version updated
  • Add support for GH36
  • Add support for Frosty Flake v2

2014-07-03: Beta version updated
  • Add support for Duck Orion
  • Fix bug in KMAC Caps Lock

2014-06-15: Beta version updated
  • Fix improperly built HID Liberation Device binary

2014-06-15: Beta version updated
  • Extended ability to perform ALT+codes with hex
  • Small bugfix for running on Linux/Mac systems
  • Add new feature: embedded password generator

2014-05-25: Beta version updated
  • Added ability to perform ALT+codes in macros.

2014-04-20: Beta version updated
  • Add new "scancode picker" to allow easier selection of key assignments.

2014-04-18: Beta version updated
  • Add new config options for keyboard and mouse timing.

2014-04-14: Beta version updated
  • A few minor GUI improvements.
  • Add SCANCODE_MOUSE3.

2014-04-10: Release version updated and Beta version updated
  • Last beta version upgraded to release version.
  • Add support for Techkeys card.
  • Add new feature: programmable LEDs.

2014-04-03: Beta version updated
  • Add more media keys such as Browser, Mail, Media Player, Calculator, NavForward, and NavBack

2014-04-01: Beta version updated
  • Change timing of the matrix scan to fix problems with Flake/Paw/Hoof/Petal

2014-03-30: Beta version updated
  • Added option to disable NKRO and act like a vanilla USB HID keyboard
  • Clean up 6KRO behavior

2014-03-29: Beta version updated
  • Fix RAM Macro bug
  • Add LED dimming
  • Add option to set default backlight mode

2014-03-25: Beta version updated
  • Several bugfixes

2014-03-24: Beta version updated
  • Make the core of the firmware understand NKRO, instead of merely superficially supporting NKRO
  • Optimize for internal efficiency
  • Debounce setting now allows user to select up to 99 ms
  • Fix nasty memory corruptions from stack overflow on ATmega32U2 devices
  • Rename Debug Console to Config Console, and remove the cryptic debug functions

2014-03-16: Beta version updated
  • NKRO

2014-03-13: Release version updated
  • Various small fixes
  • Support Python 3

2014-03-12: Beta version updated
  • Add more ISO configs for Phantom
  • Add Locking Capslock, for keyboards with MX Lock switches on Caps
  • Add option to build debug firmwares

2014-03-10: Beta version updated
  • Fix Phantom right-shift

2014-01-27: Beta version updated
  • Add ISO layouts for Costar boards.

2014-01-26: Beta version updated
  • Fix WinLock LED

2014-01-15: Beta version updated
  • Add ESCGRAVE key for 60% boards.  Acts like ~ when shift is pressed, otherwise Esc.

2013-12-29: Beta version updated
  • Overhaul the configuration of layouts.  Users can now configure any layouts they want.
  • Internal version is now v.7 -- This one is unfortunately not backwards-compatible with older versions
  • Fix the 7bit layout on Phantom

2013-12-26: Release version updated
  • Slight modification to GHpad support to add Fn Lock LED
  • Debounce algorithm was too tight, fixed it to reduce chattering

2013-12-08: Release version updated and Beta version updated
  • Last beta version upgraded to release version.
  • Add prototype Smallfry keyboard support.

2013-12-04: Beta version updated
  • Fix Pegasus Hoof LEDs again.

2013-11-26: Beta version updated
  • Invert Pegasus Hoof LEDs.

2013-11-25: Beta version updated
  • Change debounce algorithm.  New version is zero delay.

2013-11-24: First release version
  • Bugfixes

2013-11-23: Update to beta release
  • Add KMAC support
  • Make RAM macro easier to use
  • Mods can now be given toggle modes like Fn keys

2013-11-21: Initial beta release
« Last Edit: Tue, 23 February 2016, 19:05:42 by metalliqaz »

Offline tjweir

  • * Exquisite Elder
  • Posts: 1039
  • Location: Toronto
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #3 on: Thu, 21 November 2013, 12:30:00 »
Want more?  Make a request.

Aikon MX-MINI support?  Its an ATMEGA32.
Here's a link to the GH page on programming an Aikon-based board - http://geekhack.org/index.php?topic=38406.0

Thanks!!

Offline lcs

  • Lover of Grape Drank
  • Posts: 669
  • Location: Brazil
  • はやく
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #4 on: Thu, 21 November 2013, 12:31:15 »
Amazing work!

Offline digi

  • elite af tbh
  • * Exquisite Elder
  • Posts: 2789
  • keyboard game on fleek
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #5 on: Thu, 21 November 2013, 12:35:04 »
Support for my GON 87 NS based on PS2AVRU? Thanks!

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #6 on: Thu, 21 November 2013, 13:13:31 »
Want more?  Make a request.

Aikon MX-MINI support?  Its an ATMEGA32.
Here's a link to the GH page on programming an Aikon-based board - http://geekhack.org/index.php?topic=38406.0

Thanks!!

I don't think that controller will get support.  I rely on the USB parts. :(

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #7 on: Thu, 21 November 2013, 13:14:14 »
Support for my GON 87 NS based on PS2AVRU? Thanks!

Good idea.  I'll check it out.  I'd also like to add KMAC

Offline Glod

  • * Elevated Elder
  • Posts: 1998
  • Location: Virginia, USA
  • Also Known As Ergonomech
    • YouTube Channel
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #8 on: Thu, 21 November 2013, 13:22:04 »
ohhhhhhhh snap

Offline Photoelectric

  • * Administrator
  • Posts: 6766
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #9 on: Thu, 21 November 2013, 13:26:29 »
This is great!  I don't yet know what Duck LightSaver's firmware will be like in practice, but it's probably going to use ATMega32U4 and a similar programming algorithm to KMAC

http://duck0113.tistory.com/?page=7 (down the page)

Could be great to have alternative firmware / programming means.
- Keyboards: LZ-GH (Jailhouse Blues)M65-a, MIRA SE, E8-V1, MOON TKL, CA66
- Keyboard Case Painting Tips -
- Join Mechanical Keyboards photography group on Flickr -

Offline tjweir

  • * Exquisite Elder
  • Posts: 1039
  • Location: Toronto
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #10 on: Thu, 21 November 2013, 14:09:31 »
I don't think that controller will get support.  I rely on the USB parts. :(

Ok, thanks for looking into it!


Offline 0100010

  • Posts: 1127
  • Location: DFW, TX, US
  • Not Sure
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #11 on: Fri, 22 November 2013, 21:31:48 »
Teensy++ 2.0 AT90USB1286 ?
  Quoting me causes a posting error that you need to ignore.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #12 on: Fri, 22 November 2013, 22:08:28 »
Teensy++ 2.0 AT90USB1286 ?

Definitely supported but I don't know any keyboards that use that!

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #13 on: Sat, 23 November 2013, 12:46:53 »
Added KMAC support.  The slower clock in the KMAC causes me to overrun my schedule but it still seems to work fine.

Offline regack

  • Posts: 660
  • Location: Thessia
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #14 on: Sat, 23 November 2013, 19:35:23 »
Is it a lot of effort to support unique/other layouts? 

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #15 on: Sat, 23 November 2013, 19:53:56 »
Is it a lot of effort to support unique/other layouts?

Nope!

Offline emguy

  • Posts: 9
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #16 on: Sat, 23 November 2013, 20:42:29 »
I have no problem using it on the Frosty Flake except that the default speed of the mouse cursor is so damn slow.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #17 on: Sat, 23 November 2013, 20:53:12 »
I have no problem using it on the Frosty Flake except that the default speed of the mouse cursor is so damn slow.

Double and triple tap the mouse keys to speed it up.  Or even four times.  After much trying I had to make the lowest setting very slow or it was impossible to make fine-point selections. I kept over shooting the target.  Tuning it is tough. 

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #18 on: Sun, 24 November 2013, 01:27:35 »
Currently supported boards

Want more?  Make a request.

Ergodox?

Thanks so much for this. I was having a lot of issues building the firmware for my frosty flakes (so I can test them). This will make things very easy to test, which is the biggest issue for me in making keyboards.

Offline 0100010

  • Posts: 1127
  • Location: DFW, TX, US
  • Not Sure
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #19 on: Sun, 24 November 2013, 12:54:15 »
Any way to add / remove keys or create our own layout?  Was wanting to build a map for a board like this :

http://www.keyboard-layout-editor.com/#/layouts/6e020637a1db9ef6f08ea54922507bf9
  Quoting me causes a posting error that you need to ignore.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #20 on: Sun, 24 November 2013, 13:46:04 »
Any way to add / remove keys or create our own layout?  Was wanting to build a map for a board like this :

http://www.keyboard-layout-editor.com/#/layouts/6e020637a1db9ef6f08ea54922507bf9

The problem is relating a layout to a matrix.  What does the matrix look like?  There are many, many variables.

Is that an existing keyboard?  If that is something you are planning on building with a teensy, you need to think about the row/column configuration.  On a board with that many keys, it isn't trivial.

I can probably make it so it can load layouts from an external ini file, but that isn't enough to be able to support anything you dream up.  The firmware needs to know how to handle the hardware.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #21 on: Sun, 24 November 2013, 14:24:00 »
First release version.  Hopefully I have squashed all the bugs with the new features.  Typing this on my KMAC2. ;)

Offline cookiesowns

  • Posts: 197
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #22 on: Tue, 26 November 2013, 13:30:38 »
Wonder if this would support SPRIT's custom PCB boards?

ATMEGA32A

ps2avrU

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #23 on: Tue, 26 November 2013, 13:34:24 »
Wonder if this would support SPRIT's custom PCB boards?

ATMEGA32A

ps2avrU

Nope.  :(  Sorry.  Those aren't USB AVRs.  In the distant future, I might combine it with V-USB to support something like that, but it isn't in the cards for now.  I've got too many projects.

Offline emguy

  • Posts: 9
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #24 on: Tue, 26 November 2013, 16:13:47 »
I notice that the led indications of caps and scroll are toggled on the Pegasus Hoof.  This signaling need to be fixed.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #25 on: Tue, 26 November 2013, 16:29:49 »
I notice that the led indications of caps and scroll are toggled on the Pegasus Hoof.  This signaling need to be fixed.

Ah some feedback!  Thank you very much good sir.  That is one that I don't own, so I need people to tell me when it doesn't work.

You mean that they are inverted?  Caps LED is on when Caps Lock is enabled, and off when Caps Lock is disabled?

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #26 on: Tue, 26 November 2013, 16:44:54 »
Or is it that the Caps Lock turns on the Scroll Lock LED, and vice-versa?

Offline regack

  • Posts: 660
  • Location: Thessia
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #27 on: Tue, 26 November 2013, 17:53:26 »
I was about to suggest the ErgoDox, but that also requires the MCP23018...

edit : aaaaand, then I scrolled up and saw that dorkvader already suggested it  :-[
« Last Edit: Tue, 26 November 2013, 17:55:31 by regack »

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #28 on: Tue, 26 November 2013, 17:54:14 »
I was about to suggest the ErgoDox, but that also requires the MCP23018...


Offline regack

  • Posts: 660
  • Location: Thessia
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #29 on: Tue, 26 November 2013, 17:57:12 »
I was about to suggest the ErgoDox, but that also requires the MCP23018...

edit : aaaaand, then I scrolled up and saw that dorkvader already suggested it  :-[



Show Image


aaaaand then you've already got it in there... :D

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #30 on: Tue, 26 November 2013, 18:23:32 »
Well it isn't done.  More of a work in progress.  The problem is that I don't own one, and it will never get finished until I have one in hand.  I'm thinking about offering to build one for someone.  Then porting the code before sending it to them.

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #31 on: Tue, 26 November 2013, 20:53:12 »
Well it isn't done.  More of a work in progress.  The problem is that I don't own one, and it will never get finished until I have one in hand.  I'm thinking about offering to build one for someone.  Then porting the code before sending it to them.
With a MD GB going on now, now would be the time to advertise making one for someone. If I still ahd mine, I'd loan it to you for testing, then maybe I could get some firmware put on  it.

Offline emguy

  • Posts: 9
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #32 on: Tue, 26 November 2013, 21:40:17 »
I notice that the led indications of caps and scroll are toggled on the Pegasus Hoof.  This signaling need to be fixed.

Ah some feedback!  Thank you very much good sir.  That is one that I don't own, so I need people to tell me when it doesn't work.

You mean that they are inverted?  Caps LED is on when Caps Lock is enabled, and off when Caps Lock is disabled?

Yes, the indications of those two keys are inverted.  I tested your program on both frosty flake and pegasus hoof.  The inverted indications are only found on the pegasus hoof.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #33 on: Tue, 26 November 2013, 21:46:41 »
I notice that the led indications of caps and scroll are toggled on the Pegasus Hoof.  This signaling need to be fixed.

Ah some feedback!  Thank you very much good sir.  That is one that I don't own, so I need people to tell me when it doesn't work.

You mean that they are inverted?  Caps LED is on when Caps Lock is enabled, and off when Caps Lock is disabled?

Yes, the indications of those two keys are inverted.  I tested your program on both frosty flake and pegasus hoof.  The inverted indications are only found on the pegasus hoof.

That's very interesting.  Looking at bpiphany's schematics and code, they should all act the same.  Oh well, no matter.  This is a trivial fix.  I'll have a new beta version shortly.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #34 on: Tue, 26 November 2013, 22:02:00 »
Okay it is done.

Offline regack

  • Posts: 660
  • Location: Thessia
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #35 on: Tue, 26 November 2013, 22:56:20 »
Well it isn't done.  More of a work in progress.  The problem is that I don't own one, and it will never get finished until I have one in hand.  I'm thinking about offering to build one for someone.  Then porting the code before sending it to them.

I have a spare everything-but-the-case if you'd like to do that.  (I'm a bit short on switches, one reason it never got put together... also... didn't really NEED two..)


Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #36 on: Tue, 26 November 2013, 23:21:03 »
 ;D I'll be in touch

Offline sdiearly

  • Posts: 178
  • Location: Taiwan
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #37 on: Thu, 28 November 2013, 04:47:36 »
I tried to program the generated .hex file into GH60(atmega32u4)

But function doesn't work. :'(
My favorite 60%:  TEX-Beetle
                 80%:  KBtalKing Race
                100%: Cherry G80-3494, Zowie Celeritas

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #38 on: Thu, 28 November 2013, 06:37:39 »
I tried to program the generated .hex file into GH60(atmega32u4)

But function doesn't work. :'(

I do love a challenge, but I need more information.  What doesn't work?  Are you saying that rest of the board works, but the Fn key doesn't?  That's probably a mistake in your map.

Offline fiftypoints

  • Posts: 6
  • Location: San Antonio, TX
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #39 on: Thu, 28 November 2013, 23:03:41 »
Can you do the USB a.87 aikon controller? I have a nice GON keyboard, and the Aikon software is pretty limited.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #40 on: Thu, 28 November 2013, 23:06:55 »
Can you do the USB a.87 aikon controller? I have a nice GON keyboard, and the Aikon software is pretty limited.

It's not happening anytime soon :(  I wrote this code to take advantage of the USB AVR controllers and the A87 doesn't have one.  When I finish my ongoing projects I may check out a software-only USB stack, but I can't promise anything at this point.

Offline fiftypoints

  • Posts: 6
  • Location: San Antonio, TX
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #41 on: Thu, 28 November 2013, 23:25:42 »
I thought the ATMega32 was an AVR USB controller. Isn't it the same chip as the GH60?

Offline AKmalamute

  • HHKB Scrub
  • Posts: 837
  • Location: Western WA, USA
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #42 on: Thu, 28 November 2013, 23:35:29 »
There are hoops that can be jumped through, but it requires creating a virtual USB hub, which the 32A can do but can't speak USB natively, thus Qaz' software won't make anything useful for it.

And Metalliqaz, your software is really cool, but I can predict you'll get a lot of requests for this exactly because your software is good, and the FaceW PCB looks like it will be using the 32A chip. meaning fake USB.

I can tell make to compile stuff, but I for one (and I suspect I'm not alone even on a geeky board like GH) and really limited as to how much code I can write from scratch. Have you run across any really basic tutorials that could help a non programmer who's not afraid to do some typing, how to combine v-usb with ... what, TMK?

 Actually 'Qaz if you're accepting more work from random forumites, what would be cool is a tutorial on your own software. I'm assuming that "any programmer" could take a diagram of their matrix and how it connects to their Teensy or other 32U4 board, and create an in-house layout? Assuming a person could do that would it be much of a further step to, say, use a leonardo board (ships with slightly different bootcode, I guess, and a smaller breakout board with several fewer pins and no fancy "reboot now" button or LED)

HHKB-lite2, Dvorak user

Offline AKmalamute

  • HHKB Scrub
  • Posts: 837
  • Location: Western WA, USA
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #43 on: Thu, 28 November 2013, 23:37:26 »
50P: There are hoops that can be jumped through, but it requires creating a virtual USB hub, which the 32A can do but can't speak USB natively, thus Qaz' software won't make anything useful for it.

And Metalliqaz, your software is really cool, but I can predict you'll get a lot of requests for this exactly because your software is good, and the FaceW PCB looks like it will be using the 32A chip. meaning fake USB.

I can tell 'make' to compile stuff, but I for one (and I suspect I'm not alone even on a geeky board like GH) am really limited as to how much code I can write from scratch. Have you run across any really basic tutorials that could help a non programmer who's not afraid to do some typing, how to combine v-usb with ... what, TMK?

 Actually 'Qaz if you're accepting more work from random forumites, what would be cool is a tutorial on your own software. I'm assuming that "any programmer" could take a diagram of their matrix and how it connects to their Teensy or other 32U4 board, and create an in-house layout? Assuming a person could do that would it be much of a further step to, say, use a leonardo board (ships with slightly different bootcode, I guess, and a smaller breakout board with several fewer pins and no fancy "reboot now" button or LED)

HHKB-lite2, Dvorak user

Offline fiftypoints

  • Posts: 6
  • Location: San Antonio, TX
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #44 on: Thu, 28 November 2013, 23:39:55 »
Ahh, I didn't realize I had the 32a, it's under the plate and I can't see it anymore. :rolleyes:

Thanks for taking the time to respond, though. You're doing great work!

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #45 on: Fri, 29 November 2013, 08:25:43 »
Yes, I'm picturing a way where I set up the basic hardware (for example, GH60) and then have an option to load layouts from a text-based description (for example, HHKB, Poker, Pure, allkeys).  Then I could just publish a spec for using the Teensy or bpiphany's mini controller with the software in one's own project.

Offline emguy

  • Posts: 9
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #46 on: Wed, 04 December 2013, 20:11:24 »
I notice that the led indications of caps and scroll are toggled on the Pegasus Hoof.  This signaling need to be fixed.

Ah some feedback!  Thank you very much good sir.  That is one that I don't own, so I need people to tell me when it doesn't work.

You mean that they are inverted?  Caps LED is on when Caps Lock is enabled, and off when Caps Lock is disabled?

Yes, the indications of those two keys are inverted.  I tested your program on both frosty flake and pegasus hoof.  The inverted indications are only found on the pegasus hoof.

That's very interesting.  Looking at bpiphany's schematics and code, they should all act the same.  Oh well, no matter.  This is a trivial fix.  I'll have a new beta version shortly.

I tried the new beta version on the pegasus hoof. It is getting worse. Now the Caps LED is on when Scroll is disabled and the Scroll is on when Caps is disabled. What I have before is that the Caps LED is on when Scroll is enabled and the Scroll is on when Caps is enabled.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #47 on: Wed, 04 December 2013, 20:36:10 »
What we have here is failure to communicate.  Don't worry, the next version will fix it correctly

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #48 on: Wed, 04 December 2013, 20:42:51 »
Okay emguy.  New beta version posted.  Give that a try.

Offline emguy

  • Posts: 9
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #49 on: Wed, 04 December 2013, 20:53:35 »
Everything is fixed now  ;D. I really like the idea of winkey_lock on scoll_lock.