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

0 Members and 1 Guest are viewing this topic.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #50 on: Wed, 04 December 2013, 20:57:08 »
Everything is fixed now  ;D. I really like the idea of winkey_lock on scoll_lock.

Good :) Took the concept from the CODE keyboard

Offline tjcaustin

  • King Klaxon
  • * Maker
  • Posts: 3557
  • Location: Dallas-ish
  • King of All Klaxon Sciences and Cable Makery
    • Buy stuff
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #51 on: Sun, 08 December 2013, 13:38:48 »
I'm assuming that since it supports the phantom, it would support the smallfry 40 percent easy enough?

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #52 on: Sun, 08 December 2013, 13:42:17 »
I'm assuming that since it supports the phantom, it would support the smallfry 40 percent easy enough?

Support is almost complete for Smallfry AKA JD's 40%, as seen here: http://geekhack.org/index.php?topic=47133.msg1145634#msg1145634

The only thing I'm missing is the connections to the teensy (i.e. which pins go where).  If they publish a schematic or source code I will complete the support.

Offline regack

  • Posts: 660
  • Location: Thessia
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #53 on: Sun, 08 December 2013, 14:11:34 »
I'm assuming that since it supports the phantom, it would support the smallfry 40 percent easy enough?

Support is almost complete for Smallfry AKA JD's 40%, as seen here: http://geekhack.org/index.php?topic=47133.msg1145634#msg1145634

The only thing I'm missing is the connections to the teensy (i.e. which pins go where).  If they publish a schematic or source code I will complete the support.

For the teensy powered one JDcarpe has ...

PF0 = col1
PF1 = col2
PF4 = col3
PF5 = col4
PF6 = col5
PF7 = col6
PB0 = col7
PB1 = col8
PB2 = col9
PB3 = col10
PB5 = col11
PB6 = col12

PD0 = row1
PD1 = row2
PD2 = row3
PD3 = row4

PC6 = LED


Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #54 on: Sun, 08 December 2013, 14:39:05 »
Are there going to be two versions?  Will the final be teensy or GH60-alike?

Offline tjcaustin

  • King Klaxon
  • * Maker
  • Posts: 3557
  • Location: Dallas-ish
  • King of All Klaxon Sciences and Cable Makery
    • Buy stuff
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #55 on: Sun, 08 December 2013, 15:41:34 »
Are there going to be two versions?  Will the final be teensy or GH60-alike?

I'm confident in JD telling me that GB version will be similar to the gh60

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #56 on: Sun, 08 December 2013, 16:26:08 »
Okay well I'll still make a teensy prototype version

Offline regack

  • Posts: 660
  • Location: Thessia
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #57 on: Sun, 08 December 2013, 17:08:58 »
Are there going to be two versions?  Will the final be teensy or GH60-alike?

The next/final version has the on-pcb ATMEGA32U4 but rows/columns ended up moving around a bit from the GH60. 


Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #58 on: Sun, 08 December 2013, 18:28:02 »
Okay initial Smallfry support added thanks to Regack.  I'll update it to the GB version when it comes to that.

Offline MOZ

  • KING OF THE NEWBIES
  • * Maker
  • Posts: 3981
  • Location: Jo'burg
  • Busy making stuff
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #59 on: Wed, 11 December 2013, 09:06:06 »
Excellent news.

Offline regack

  • Posts: 660
  • Location: Thessia
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #60 on: Wed, 11 December 2013, 10:55:25 »
metalliqaz, what do you need in order to support the next revision of the GHpad?  It has been pretty heavily modified from the prototype.

Actually, the bigger question is for any given AVR-based design, do you simply need to know which pins on the AVR are mapped to what function on the board?

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #61 on: Wed, 11 December 2013, 11:10:29 »
metalliqaz, what do you need in order to support the next revision of the GHpad?  It has been pretty heavily modified from the prototype.

Actually, the bigger question is for any given AVR-based design, do you simply need to know which pins on the AVR are mapped to what function on the board?

My code currently supports the 4x6 matrix.  At least I think it does, I don't have one to try it.  If the design is changing again, here is a complete list of data I need to fully support a board:

I/O pins for the matrix
encoding of the rows if a line decoder is used
I/O pins for the LEDs
mapping of keyboard keys to matrix (I can usually do this from pictures of the layout)

Offline swill

  • * Elevated Elder
  • Posts: 3365
  • Location: Canada eh
  • builder & enabler
    • swillkb.com
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #62 on: Thu, 12 December 2013, 12:36:12 »
How do I put a Filco TKL with a HID Liberation Device into bootmode?  The previous owner of the HID used TMK I think to load up a layout on it I think...

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #63 on: Thu, 12 December 2013, 12:44:01 »
A magnet over the HID board. I use a powerful fridge magnet that usually holds pens.

Offline HaaTa

  • Master Kiibohd Hunter
  • Posts: 794
  • Location: San Jose, CA, USA
  • Kiibohds!
    • http://kiibohd.com
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #64 on: Thu, 12 December 2013, 13:05:47 »
Any Linux or Mac support?
(please don't say wine...)

I'd consider using this to support the upcoming kishsaver controller. My firmware is not based off of anything though.
Kiibohd

ALWAYS looking for cool and interesting switches
I take requests for making keyboard converters (i.e. *old keyboard* to USB).

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #65 on: Thu, 12 December 2013, 13:08:52 »
It is written in pure python.  It supports any platform that Python supports.

Edit for clarification:  Yes, Linux and Mac are supported.
« Last Edit: Thu, 12 December 2013, 13:11:45 by metalliqaz »

Offline HaaTa

  • Master Kiibohd Hunter
  • Posts: 794
  • Location: San Jose, CA, USA
  • Kiibohds!
    • http://kiibohd.com
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #66 on: Thu, 12 December 2013, 13:34:32 »
Any chance you have the code in a Git repo (or other source control) somewhere? I want to avoid working off of zip files...and diffs
Kiibohd

ALWAYS looking for cool and interesting switches
I take requests for making keyboard converters (i.e. *old keyboard* to USB).

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #67 on: Thu, 12 December 2013, 14:03:24 »
It is free (as in beer) but not currently open source.


« Last Edit: Thu, 12 December 2013, 14:05:59 by metalliqaz »

Offline swill

  • * Elevated Elder
  • Posts: 3365
  • Location: Canada eh
  • builder & enabler
    • swillkb.com
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #68 on: Thu, 12 December 2013, 14:59:46 »
I am in the process of trying this.  I have Parallels Desktop running on my Mac, so I can run windows apps.  I can create the .hex on my windows machine without a problem.

The issue is when I try to use FLIP.  I am having a hard time getting past some of the driver issues on my Windows 7 VM.

I am considering trying to use CrossPack on my Mac and just reference the .hex file that was generated on my windows VM.

I am still in the process of figuring out the command line I need to do with avrdude to get it to work.

I think it should be:
avrdude -p m32u4 -c avrisp2 -P <device tbd> -U flash:w:my_layout.hex

The m32u4 is for: ATmega32U4
The avrisp2 is for: Atmel AVR ISP mkII (not sure about this one)  options shown here

I should be able to discover the keyboard, but I am not sure if I have to put it into bootmode to discover it.  I also need to confirm if 'avrisp2' is the correct option.  If I put my keyboard into bootmode and can't actually flash for some reason, how do I remove it from bootmode?
discover: avrdude -p m32u4 -c avrisp2 -P usb:xx -v

I will probably spend some time on this tonight to see if I can figure out how to flash it from my mac.  Any suggestions are welcome.  :)

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #69 on: Thu, 12 December 2013, 15:14:09 »
I wouldn't bother trying to get Flip to work on a mac.  Probably you are on the best track using avrdude.

The HIDLib is definitely an ATmega32U4.  You definitely aren't using a AVRISPII, though.  You are using the DFU booloader.

If it is in boot mode, you can simply unplug it after the programing step has completed and it will start up in application mode.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #70 on: Thu, 12 December 2013, 15:14:50 »
update: I just googled "dfu bootloader mac" and this came up: http://dfu-programmer.sourceforge.net/
perhaps that is what you need.

Offline swill

  • * Elevated Elder
  • Posts: 3365
  • Location: Canada eh
  • builder & enabler
    • swillkb.com
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #71 on: Thu, 12 December 2013, 15:28:22 »
update: I just googled "dfu bootloader mac" and this came up: http://dfu-programmer.sourceforge.net/
perhaps that is what you need.

That looks to be exactly what I need, I will give that a shot.  Thanks for being patient with the n00b.  :)

Edit: wow getting the libusb-1.0 paths/links/etc all sorted out on a Mac is REALLY annoying.  Still haven't cracked it.  :(
« Last Edit: Thu, 12 December 2013, 16:54:23 by swill »

Offline HaaTa

  • Master Kiibohd Hunter
  • Posts: 794
  • Location: San Jose, CA, USA
  • Kiibohds!
    • http://kiibohd.com
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #72 on: Thu, 12 December 2013, 15:30:02 »
Hmm, that would make me rethink using this for my own firmware.

I currently use cmake and support both AVR and ARM microcontrollers and losing the ability to get updates and make changes myself in the chance of your disappearance makes me wary.
Kiibohd

ALWAYS looking for cool and interesting switches
I take requests for making keyboard converters (i.e. *old keyboard* to USB).

Offline swill

  • * Elevated Elder
  • Posts: 3365
  • Location: Canada eh
  • builder & enabler
    • swillkb.com
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #73 on: Thu, 12 December 2013, 20:57:16 »
Here is my first attempt to use a .hex file generated on a Windows VM on my Mac and attempted to flash onto my HID.

$ dfu-programmer atmega32u4 flash ~/Desktop/tkl_numpad.hex --debug 2
     target: atmega32u4
    chip_id: 0x2ff4
  vendor_id: 0x03eb
    command: flash
      quiet: false
      debug: 2
device_type: AVR
------ command specific below ------
   validate: true
   hex file: /Users/swill/Desktop/tkl_numpad.hex

Error parsing the line.
Something went wrong with creating the memory image.

Not a lot to go on here...   The keyboard is still in bootmode, but the hex file I have apparently is not working.  Ideas???

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #74 on: Thu, 12 December 2013, 21:08:44 »
Well, it seems unlikely that tool would use a different format than Flip does.  Perhaps you corrupted the file trying to get it off of your VM. Try the attached file.  It is a basic layout with App mapped to Fn and BOOT mapped to Fn+Esc.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #75 on: Thu, 12 December 2013, 21:10:24 »
Hmm, that would make me rethink using this for my own firmware.

I currently use cmake and support both AVR and ARM microcontrollers and losing the ability to get updates and make changes myself in the chance of your disappearance makes me wary.

The Easy AVR USB Firmware is my own code, written in C.  The Python-based GUI is intimately tied to the C code.  It wouldn't have any use for your code.

Offline swill

  • * Elevated Elder
  • Posts: 3365
  • Location: Canada eh
  • builder & enabler
    • swillkb.com
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #76 on: Thu, 12 December 2013, 21:28:19 »
Well, it seems unlikely that tool would use a different format than Flip does.  Perhaps you corrupted the file trying to get it off of your VM. Try the attached file.  It is a basic layout with App mapped to Fn and BOOT mapped to Fn+Esc.

I was able to resolve my USB issues on my Windows VM and was able to flash my layout onto my keyboard using Flip.

If it will be helpful for you, I can try what you just sent to see if I have the same problem.  Not sure if it will be helpful other than to know if your hex files work with dfu-programmer. 

I will experiment with the files you sent this weekend.  I can hear my baby stirring so I probably don't have much more time tonight...

Offline Mine

  • Posts: 24
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #77 on: Fri, 13 December 2013, 06:06:45 »
this Software not can use to ghpad
47849-0
47851-1
47853-2
« Last Edit: Fri, 13 December 2013, 06:15:18 by Mine »

Offline regack

  • Posts: 660
  • Location: Thessia
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #78 on: Fri, 13 December 2013, 06:13:16 »
this Software can`t use to ghpad
(Attachment Link)

Not with that revision.  Not yet.  I will get the setup to metalliqaz so it can be supported.


Offline swill

  • * Elevated Elder
  • Posts: 3365
  • Location: Canada eh
  • builder & enabler
    • swillkb.com
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #79 on: Thu, 19 December 2013, 18:38:32 »
I have been using this firmware as my daily driver with a HID Liberation Device in a Filco TKL.  Here is some feedback:
- The UI is AWESOME.  Very intuitive and works great.
- I have had some issues with the firmware.  Here are some...
-- I tried the SpaceFn concept and it did not work very well.  In normal typing I would end up hitting Fn keys all the time.  Also, it would sometimes miss actually registering a Space sometimes when I tapped.  I had to move away from space as a Fn key and change the Fn key to my Caps Lock key.
-- Without the space being a Fn key, I sometimes get two spaces when I hit the spacebar once.
-- Sometimes when I am typing in a form online, the keyboard stops registering keystrokes in the input field.  If I click into the url bar and type, it works and then I go back to the input field and it will type again.  I have no idea what is happening there, but that never happened with my Filco controller.

I am not sure that these issues are specific to the firmware or if there is an issue with my HID.  I am going to try the TMK firmware over the holidays to see if I get the same behavior.  I will start with trying the SpaceFn approach and if that does not work then I will go back to the Caps Lock as Fn approach.

My main use case right now is to have a numpad on my left hand home row.  I type IP addresses all the time and I wanted a way to type an IP address without having to remove my hand from my mouse.

Let me know if you have things you would like me to test or if you would like me to try to capture anything when I have issues. 
Notes:
- I am using the stable version of your firmware, not the beta version.
- I am on a Mac and I am using a Windows VM in Parallels to program the keyboard with Flip.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #80 on: Fri, 20 December 2013, 11:58:54 »
-- I tried the SpaceFn concept and it did not work very well.  In normal typing I would end up hitting Fn keys all the time.  Also, it would sometimes miss actually registering a Space sometimes when I tapped.  I had to move away from space as a Fn key and change the Fn key to my Caps Lock key.

Ah-ha!  You have come across the great dilemma!  I could go on for pages about this issue.  Give TMK a try, and report back how you feel.  In my experience, I cannot use a configuration like that in regular usage.

I originally added the support for that stuff so I could implement Matias Half Keyboard (MHK).  The problem is that when Space is a Fn key, it can't immediately send a space, like normal keys.  It can only send a space when it has been pressed and un-pressed without being combined with another key.  That means that the system has to wait for the button-up before doing the space.  It also means that if you press space and another key at the same time, it has no choice but to assume you are combining keys.  Finally, you have to account for the case where you start a Fn+key combo, but then decide against it.  I did this alot with half-keyboard.  In that case, you don't want to send the space.  I was always pressing backspace to get rid of unwanted spaces.

So the algorithm is this:
Fn key goes down, nothing happens.
If another key goes down, and Fn is down, immediately send the Fn layer scancode
Fn key comes up:
    If a Fn layer key was pressed, do nothing
    Otherwise:
        If the space was held down for a long time, assume this is an aborted Fn combo and do nothing
        Otherwise, send space scancode real quick (this is a tap key)

When you are typing fast, you often press the next key before you've removed the last key.  That's very bad for the algorithm, because you will get the wrong layer.  There is no way around this.

Also, I have to choose a time duration for the length of a "tap" that indicates the user is pressing space and not aborting a Fn combo.

That timing is difficult to tune.  If you are hitting Fn keys by accident, it's because you are typing to fast.  I don't know of any way around this.  If you are not getting spaces when you want them, it probably means that the tap time is too short for you.  I did make it kinda short, because I find that it is better than getting spaces when you don't want them.

I'd love to hear your thoughts on this.  I may be able to make the tap timing configurable.

-- Without the space being a Fn key, I sometimes get two spaces when I hit the spacebar once.

That's called chattering.  I recently moved to a new debounce algorithm that supercharges response time, but seems to be a bit more sensitive.  You can increase the debounce value in the settings console.  Try setting it to 7 instead of 5.  It won't increase the response time but it should clean up any chattering.  If it still happens, set it to 9.  I have noticed some chattering on my Epsilon that never used to happen.  I will revisit the algorithm and increase the robustness by default.  I may have used a >= (greater-than-or-equal) where I should have used a > (greater-than)  It's overdue.

-- Sometimes when I am typing in a form online, the keyboard stops registering keystrokes in the input field.  If I click into the url bar and type, it works and then I go back to the input field and it will type again.  I have no idea what is happening there, but that never happened with my Filco controller.

Wow, that is strange.  Uh, hard to say what's going on.  Obviously, I use the Easy AVR firmware every day and I've never experienced that, but I could get out my Filco and upload the latest firmware to see what happens. (I am probably using an older version)  What do you think is happening?  Is the cursor getting moved out of the field?  I really don't know what to do with that one.


Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #81 on: Fri, 20 December 2013, 12:03:04 »
this Software not can use to ghpad

It worked on the first prototype.  If your board is different, it will need an update to the software to support it.

Offline swill

  • * Elevated Elder
  • Posts: 3365
  • Location: Canada eh
  • builder & enabler
    • swillkb.com
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #82 on: Fri, 20 December 2013, 12:34:56 »
Re: SpaceFn - I will try TMK and see if it is any better just for a comparison.  This functionality is not required for me, but it would be interesting if it worked well.  I will have to play with it a bit more to get a real feel for how I think it could be tweaked.  I needed to get real work done last time I tried, so I just moved the Fn key so it did not disrupt my normal usage.

Re: Double Space - I will tweak the debounce settings to see if I can find a sweet spot for my typing style.  Thanks for pointing that out, I did not realize those settings where available.  :)

Re: Stopping typing - In this case, the cursor is still visible.  When I press a key, it flashes but does not write a character.  It really feels like it gets stuck some how.  The last time it happened I got the feeling that I had pressed a couple keys together/too quickly that caused the firmware to go into a state where it was not entirely sure what it was supposed to do.  I only run into this problem when I am either typing very quickly or I am using a Fn key and I chatter the Fn key as I am typing in the Fn layer.  In this case my Fn key is the caps lock key and it has; tap = caps lock toggle; hold = Fn.  By chatter I mean, I am holding the Fn key and typing but my finger slips on the Fn key so it comes up briefly and goes right back down as I am typing.

I am using your firmware on my daily driver right now, so I should be able to give you more feedback over the next little while.

Is there a way to enable logging of what commands the keyboard thinks it should be doing?  That could be pretty dangerous from a security perspective because it would technically be a keystroke logger, but it could be interesting to help me understand what is happening when I hit cases that I feel don't behave nicely...

I love the work you have done here.  It is dead simple to build great layouts.  I love that I can try something and tweak it a couple times in only a few minutes.  This is great for me as I try to establish solid solutions for the different use cases I am trying to work out. 

BTW, I forgot to link the image of my left hand numpad in the previous post, so I will post it now.


Edit: Oh ya, I had a question...  I was expecting that Fn + Shift + 8 in the image above would register as Up.  That is not the case.  Are those secondary functions accessed through a different layer?  Maybe a numlock layer or something?  I would be curious about that because then I would have arrow keys on my left hand as well.
« Last Edit: Fri, 20 December 2013, 12:38:53 by swill »

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #83 on: Sat, 21 December 2013, 00:01:22 »
I found that the debounce was 2 ms too quick, as I expected.  There will be a new beta soon.  I'm using it now and it's nice and smooth on my Epsilon.

With your issue, it may take some more discussion.  If you "fix" it by just re-clicking your mouse, then it can't be internal to the keyboard, because the mouse doesn't effect the keyboard at all.  If you had some strangeness with the Fn lock, then that might warrant some investigation.  I will also check the auto-key code for non-re-entrant code.  I actually don't use most of those features, so there could be a latent bug.  I'll try my own HIDLib controller also.

Unfortunately there is not currently a way to view "commands" in real time.  If it detects scan codes, it sends them to the computer, simple.  However, I'm thinking that I am going to create a test build that I've been planning.  It basically alerts the user to glitches by inserting an extra character.

For the shift-numpad thing, first use aqua key test to make sure you are getting real 10key codes for those keys.  If you are, then it's your PC's fault.  If not, it is a trivial fix.

edit: checked it on mine, it works for me.
« Last Edit: Sat, 21 December 2013, 00:14:20 by metalliqaz »

Offline regack

  • Posts: 660
  • Location: Thessia
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #84 on: Wed, 25 December 2013, 19:27:58 »
metalliqaz,  can you add a firmware profile for the updated GHpad? Let me know if you need more info than this:

       Col1     Col2    Col3    Col4
Row1    S1       S6      S11     S16
Row2    S2       S7      S12     S17/S171
Row3    S3       S8      S13     S18/S181
Row4    S4       S9      S14     S19/S191
Row5    S5/S51   S10     S15     S20/S201
Row6    S21/S211 S22     S23     S24

S1/NUMLOCK LED = PB2
S6 LED = PF7
S11 LED = PF6
S16 LED = PF5

ROW1 = PD0
ROW2 = PD1
ROW3 = PD2
ROW4 = PD3
ROW5 = PD4
ROW6 = PD5

COL1 = PF0
COL2 = PF1
COL3 = PE6
COL4 = PC7


Problem is there are a bunch of too many possible key configurations... I'm not sure how you would handle it in a layout editor, other than to allow people to pick the right keys for what they want from the overall field of 24 keys?

Like S21/S211, that's the 2x key on the bottom left, S5/S51 the 2x above that.  There are 4 possible positions for 2x keys going up the right side S20/S201, S19/S191, S18/S181, S17/S171. 

Quote
Show Image

 

Offline swill

  • * Elevated Elder
  • Posts: 3365
  • Location: Canada eh
  • builder & enabler
    • swillkb.com
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #85 on: Wed, 25 December 2013, 19:32:30 »
Maybe you could shift click two keys to select both to denote that you are programming a two unit key?  Just an idea.

Offline regack

  • Posts: 660
  • Location: Thessia
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #86 on: Wed, 25 December 2013, 19:50:05 »
Maybe you could shift click two keys to select both to denote that you are programming a two unit key?  Just an idea.

True, but you really only need to program the one key location, the other could be ignored, because there would be no key there.   People who cut off the bottom row would ignore all of the bottom keys entirely.  The tricky part is if the GUI is going to show all of the possibilities... and I'm not sure if it's doable with reasonable effort. 

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #87 on: Wed, 25 December 2013, 20:46:04 »
I'll do it tomorrow.  I will try to think about how to make it more flexible.  Initially I can just make the 4x6. Users can just set both keys under a 2x1 to the same code and it will work with minimal thought.

Offline swill

  • * Elevated Elder
  • Posts: 3365
  • Location: Canada eh
  • builder & enabler
    • swillkb.com
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #88 on: Wed, 25 December 2013, 21:14:31 »
I'll do it tomorrow.  I will try to think about how to make it more flexible.  Initially I can just make the 4x6. Users can just set both keys under a 2x1 to the same code and it will work with minimal thought.

ya, thats a good place to start and pretty intuitive...

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #89 on: Thu, 26 December 2013, 17:32:17 »
Okay so it should already be working for the GHPad.  Just checked it, it's the same as Regack posted.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4951
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #90 on: Thu, 26 December 2013, 18:09:04 »
Updated the release version and added the "Debug" version.  If you are testing or debugging, use the debug version.  It's the same as the release version, but it will type "*" when something unexpected happens.  It can expose problems in the matrix or keymap.

Offline Soarer

  • * Moderator
  • Posts: 1918
  • Location: UK
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #91 on: Thu, 26 December 2013, 18:10:50 »
Oh ****, some **** just happened!

Offline Melvang

  • Exquisite Lord of Bumfluff
  • * Maker
  • Posts: 4398
  • Location: Waterloo, IA
  • Melvang's Desktop Customs
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #92 on: Thu, 26 December 2013, 18:25:28 »
Replying so I can find this thread later.
OG Kishsaver, Razer Orbweaver clears and reds with blue LEDs, and Razer Naga Epic.   "Great minds crawl in the same sewer"  Uncle Rich

Offline Soarer

  • * Moderator
  • Posts: 1918
  • Location: UK
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #93 on: Thu, 26 December 2013, 18:33:10 »
Replying so I can find this thread later.

You can just click the 'Watch' button ;)

Offline regack

  • Posts: 660
  • Location: Thessia
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #94 on: Thu, 26 December 2013, 20:01:39 »
Metalliqaz, it seems to be working with the current GHpad revision, I'll know for sure once I've fixed the 12 diodes that I put on backwards...  :-[
« Last Edit: Thu, 26 December 2013, 20:04:41 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 #95 on: Sun, 29 December 2013, 21:31:51 »
Regack,

I've made some progress.  The keymapper now allows you to select a base hardware config, then select one of any number of layouts.


This is openly configurable by the user.  The PCBs that can be constructed with many layouts have .cfg files (eg. ghpad.cfg).  The mini language is described in cfg_file_help.txt

I have included a few layouts.  Any layout from your above diagram could be easily created in the .cfg file by just following my examples...
49392-1

It will be uploaded in a few minutes

Offline regack

  • Posts: 660
  • Location: Thessia
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #96 on: Mon, 30 December 2013, 07:34:03 »
Regack,

I've made some progress.  The keymapper now allows you to select a base hardware config, then select one of any number of layouts.
(Attachment Link)

This is openly configurable by the user.  The PCBs that can be constructed with many layouts have .cfg files (eg. ghpad.cfg).  The mini language is described in cfg_file_help.txt

I have included a few layouts.  Any layout from your above diagram could be easily created in the .cfg file by just following my examples...
(Attachment Link)

It will be uploaded in a few minutes

Wow, this is really fantastic - I'm going to play with it!  Thanks!

Offline Saviant

  • Posts: 124
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #97 on: Mon, 30 December 2013, 19:43:41 »
Played with the new version of the software, liking it a lot. I have had no issues with my HID liberation device.
« Last Edit: Tue, 31 December 2013, 02:10:10 by Saviant »

Offline jdcarpe

  • * Curator
  • Posts: 8852
  • Location: Odessa, TX
  • Live long, and prosper.
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #98 on: Mon, 30 December 2013, 19:59:03 »
Works great on Phantom. It's easy to toggle through layers for me, since I assigned toggling Fn layer keys to my F-keys. You can try Dvorak, Colemak, etc. by switching layers.

Macros work great also, and are easy to configure.
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 regack

  • Posts: 660
  • Location: Thessia
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #99 on: Wed, 01 January 2014, 15:30:16 »
I'm getting some weird behavior with the beta and the GHpad...

1) numlock turns the LED on and off correctly to indicate its mode
     a) according to aquakeytest, the LED doesn't turn on/off
         1) the LED test in aqua doesn't turn the led on/off on the keypad either

2) numlock correctly changes from numbers to whatever-that-alternate-mode-is-called
     a) according to aquakeytest, the numpad numbers register as top-row and not numpad
          1) the Firmware Mapper UI says 'HID_KEYBOARD_SC_KEYPAD' for all of those keys...