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

0 Members and 1 Guest 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 #300 on: Sun, 11 May 2014, 07:07:26 »
Only useful thing I could think of is a macro player.  Like 40 chars of random password in your pocket

Offline xSpartanCx

  • Posts: 101
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #301 on: Sun, 11 May 2014, 12:04:47 »
Well I tried the BL Dimmer and the indicator LED are still blindingly bright.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #302 on: Sun, 11 May 2014, 16:27:23 »
Well I tried the BL Dimmer and the indicator LED are still blindingly bright.

Did it do anything at all?

Offline xSpartanCx

  • Posts: 101
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #303 on: Sun, 11 May 2014, 19:33:03 »
Well I tried the BL Dimmer and the indicator LED are still blindingly bright.

Did it do anything at all?

All it did was brightened them :/

Offline esko997

  • Posts: 158
  • Location: CT, USA
  • Linux Lover
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #304 on: Sat, 17 May 2014, 21:59:34 »
Hey all,

Got to say thanks to Metalliqaz for this awesome software.

Also, I cant seem to find main.py -- where is it? Sorry if this is an obvious question but I just cant seem to find it. Any help appreciated.

Thanks,

Esko997

EDIT: Nevermind, managed to get the beta version working with Wine -- thanks for this awesome software!
« Last Edit: Sat, 17 May 2014, 22:17:49 by esko997 »
Daily Drivers: ErgoDox (Clears) | Unicomp Customizer (BS -- Linux Layout)
Other Boards: CM Quickfire Stealth (Greens) | Poker II (Blues) | PLU-ML 87 (Ergo Clears)  | JD40 (Browns) | Leopold FC660C (Topre)
Pictures: http://geekhack.org/index.php?topic=57528

Offline rosslerosa

  • Posts: 25
  • Location: TORONTO CANADA
  • MF DOOM
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #305 on: Sun, 18 May 2014, 10:51:15 »
This is awesome!
Any news if this will work with Red Scarf II?

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #306 on: Sun, 18 May 2014, 12:02:43 »
This is awesome!
Any news if this will work with Red Scarf II?

RedScarf uses the ATmega32U4, so I could.  However I don't own the hardware to do the development.  If I can get my hands on one, I'll make it happen.  Looks like it has some cool layout options.  Obviously all of them would be supported.

Offline Flamingchook

  • Posts: 278
  • Location: Australia
  • There are no dumb questions, only forbidden ones.
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #307 on: Wed, 21 May 2014, 02:45:23 »
Thank you thank you thank you!!!!

This is such an amazing tool. Got my Kitten Paw installed in my Filco and this has made it so easy to get the function layer of my dreams! I did spend a few frustrating hours trying to figure out how to get the drivers for FLIP to work before realizing that I had to get into boot mode first *feels like an idiot*.
MX: Filco Majestouch Metalic Blue 104-key w/ MX Brown, JD40 w/ MX Green, ErgoDox w/ MX Blue, GHPad w/ MX Blue. Topre: Realforce 87U 45g. BS: IBM Model M 52G9700 29-OCT-93
Soon™: GH60 w/ 62g MX Clear, [CTRL]ALT 60 w/ MX Green

Offline Vibex

  • Posts: 871
  • Location: NEU, Boston
  • You're all Beautiful Asshats. <3
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #308 on: Thu, 22 May 2014, 19:11:25 »
I just tried to run the multiplatform version, and got this error. :(
Code: [Select]
Traceback (most recent call last):
  File "main.py", line 10, in <module>
    from keymap.gui import GUI
  File "/home/vibex/Downloads/Easy_keymap_multiplatform_20140420/keymap/gui.py", line 22, in <module>
    from tkinter import *
ImportError: No module named tkinter
I'm still new to python (mostly work in AHK and java) did I **** up, or is it a bug?

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #309 on: Thu, 22 May 2014, 19:48:32 »
Your python installation doesn't have tkinter.  Youre on Linux?

Offline Vibex

  • Posts: 871
  • Location: NEU, Boston
  • You're all Beautiful Asshats. <3
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #310 on: Thu, 22 May 2014, 20:01:15 »
Your python installation doesn't have tkinter.  Youre on Linux?
Yeah. I'm on sabayon, I'm updating now to see if it fixes anything.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #311 on: Thu, 22 May 2014, 20:21:27 »
You need another package. Probably called py-tk or python-tk or pytkinter or something like that.

Offline Vibex

  • Posts: 871
  • Location: NEU, Boston
  • You're all Beautiful Asshats. <3
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #312 on: Thu, 22 May 2014, 20:25:09 »
You need another package. Probably called py-tk or python-tk or pytkinter or something like that.
I figured it out. There is a tkinter use command I didn't see.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #313 on: Sat, 24 May 2014, 11:50:18 »
Someone on DT let me know that you couldn't use Alt+codes in macros.  Updated beta version to fix it.
So to make a copyright symbol '©', this will now work: \ALT(0169)

Offline codyeatworld

  • * Destiny Supporter
  • Posts: 943
  • Location: Bay Area, California
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #314 on: Sat, 24 May 2014, 12:21:58 »
Heya, I've been wanting to give this firmware a try. I think I'm gonna use this for my KMAC since its multiplatform and I'm on mac os x.

I'm just wondering if the keyboard works in bios with this firmware?




Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #315 on: Sat, 24 May 2014, 12:33:52 »
I'm able to use it to navigate the bios on my laptop.  I've had some reports of problems on Macs.  I don't own any macs so I can't try it.  If you have problems you can disable the NKRO interface to get a plain old USB HID keyboard which is very compatible with everything.

Offline xSpartanCx

  • Posts: 101
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #316 on: Sat, 24 May 2014, 17:08:18 »
Is there any way to get my number keys to not  be recognized as being pressed on the number pad on my phantom? It seems as if the software is changing HID_KEYBOARD_SC_# to HID_KEYBOARD_SC_KEYPAD_# upon build or something :/
« Last Edit: Sun, 25 May 2014, 15:28:05 by xSpartanCx »

Offline AKmalamute

  • HHKB Scrub
  • Posts: 827
  • Location: Western WA, USA
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #317 on: Sat, 24 May 2014, 18:25:46 »
Is there any way to get my number keys to not  be recognized as being pressed on the number pad on my phantom?
I believe it's in 'qaz FAQ but ... there's two ways. Either make the 'num_lock' be a button you can press (say, a few layers down so that a 'pause->F12->delete' combo toggles the number-lock state) or you could use a second keyboard long enough to toggle the numlock with its' dedicated button.

HHKB-lite2, Dvorak user

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #318 on: Sat, 24 May 2014, 19:18:06 »
Is there any way to get my number keys to not  be recognized as being pressed on the number pad on my phantom?

Answer lies in the FAQ.  Turn off NumLock or disable virtual numpad.

Offline xSpartanCx

  • Posts: 101
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #319 on: Sun, 25 May 2014, 15:31:53 »
How do I disable virtual numpad?

EDIT: Found it, nevermind.
Thanks!
« Last Edit: Sun, 25 May 2014, 15:36:12 by xSpartanCx »

Offline codyeatworld

  • * Destiny Supporter
  • Posts: 943
  • Location: Bay Area, California
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #320 on: Sun, 25 May 2014, 18:50:04 »
I'm able to use it to navigate the bios on my laptop.  I've had some reports of problems on Macs.  I don't own any macs so I can't try it.  If you have problems you can disable the NKRO interface to get a plain old USB HID keyboard which is very compatible with everything.

Cool, I'm gonna give it a shot right now.

I run two custom machines, one dual boot, one triple boot. So I need to select the OS on boot.




Offline codyeatworld

  • * Destiny Supporter
  • Posts: 943
  • Location: Bay Area, California
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #321 on: Sun, 25 May 2014, 19:45:47 »
Error when running main.py in mac os x, will try it in windows next time I boot into it.

Code: [Select]
17:37 Easy_keymap_multiplatform_20140403% python main.py
Traceback (most recent call last):
  File "main.py", line 12, in <module>
    GUI(sys.path[0]).go()
  File "/Users/codyeatworld/Downloads/Easy_keymap_multiplatform_20140403/keymap/gui.py", line 141, in __init__
    self.creategui()
  File "/Users/codyeatworld/Downloads/Easy_keymap_multiplatform_20140403/keymap/gui.py", line 176, in creategui
    self.root.iconbitmap(default=iconpath)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 1622, in wm_iconbitmap
    return self.tk.call('wm', 'iconbitmap', self._w, '-default', default)
_tkinter.TclError: wrong # args: should be "wm iconbitmap window ?bitmap?"




Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #322 on: Mon, 26 May 2014, 00:09:12 »
Oh my bad dude.  I always forget that icon thing is windows specific.  I'll fix it soon.  Need more OSX testers!

Offline KeyboardExpert

  • Posts: 2
  • Location: Boston, Massachusetts
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #323 on: Mon, 26 May 2014, 13:50:28 »
Oh my bad dude.  I always forget that icon thing is windows specific.  I'll fix it soon.  Need more OSX testers!


I'll test. I'm an OS X user and have the same error. I managed to get it working with Wine though. Have you considered making an official EasyAVR.app for Mac users using Wine? It seems to work really well, at least for me.

Offline codyeatworld

  • * Destiny Supporter
  • Posts: 943
  • Location: Bay Area, California
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #324 on: Mon, 26 May 2014, 15:32:13 »
Oh my bad dude.  I always forget that icon thing is windows specific.  I'll fix it soon.  Need more OSX testers!

Ping me anytime, I'll be happy to help test it out.

Still haven't booted into windows yet  :rolleyes:





Offline blighty

  • Posts: 375
  • Location: New York, USA
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #325 on: Tue, 27 May 2014, 01:00:39 »
Just want to say thanks for making this tool available.  Had my PHANSI/150 up and running within 5 minutes of soldering the last switch.  It more than made up for the 8 or 9 months it took me to get around to building it.  Keep up the good work!
LZ ergo (MX silent red) | JER - A06 (MX silent black-red springs) | Duck Lightsaver V2 (MX red) | Duck Octagon V2 (gateron clear) (lifted pads) | Duck Orion V2 (gateron red) | Realforce R2TSLA-US4-IV | Realforce R2TLSA-US4-BK | TX 75 (gateron clear) | KBDFANS 75 ("vintage" MX blues) | Kinesis Freestyle Pro (MX red) | NIZ 84EC-S (35gr) | MS Surface Ergonomic | MS Natural Ergonomic Keyboard 4000 | Filco Majestouch 2 TKL (MX black | Phantom (Filco case) ("vintage" MX blacks | Spr1t 75% PCB x 2 (MX black and gateron clear) | Cherry G80-1865 (MX browns with black springs)

Offline Melvang

  • Exquisite Lord of Bumfluff
  • * Maker
  • Posts: 4388
  • Location: Waterloo, IA
  • Melvang's Desktop Customs
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #326 on: Tue, 27 May 2014, 04:32:01 »
If I were to wire up a TKL board with the same matrix structure (assuming the same pins went to the same rows and columns) would I be correct in assuming that this tool would work for me?
OG Kishsaver, Razer Orbweaver clears and reds with blue LEDs, and Razer Naga Epic.   "Great minds crawl in the same sewer"  Uncle Rich
Order Form for MDC Mouse Pad
Contact Form for questions

IBM F Revival Services Now with VIDEO

Offline swill

  • * Elevated Elder
  • Posts: 3359
  • Location: Canada eh
  • builder & enabler
    • swillkb.com
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #327 on: Tue, 27 May 2014, 08:52:20 »
I'm able to use it to navigate the bios on my laptop.  I've had some reports of problems on Macs.  I don't own any macs so I can't try it.  If you have problems you can disable the NKRO interface to get a plain old USB HID keyboard which is very compatible with everything.

I have been using an older version with my HID liberation for about 4 months or so. It works fine. The only thing I have minor issues with is the debounce. I have set it to the max (9 I think) and it helped, but it still happens now and then.

Offline swill

  • * Elevated Elder
  • Posts: 3359
  • Location: Canada eh
  • builder & enabler
    • swillkb.com
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #328 on: Tue, 27 May 2014, 08:55:06 »
Oh my bad. I use the keyboard with my mac, but I loaded the firm ware from a windows vm when I set it up.

I will test the new version on my mac when it's ready.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #329 on: Tue, 27 May 2014, 11:43:27 »
If I were to wire up a TKL board with the same matrix structure (assuming the same pins went to the same rows and columns) would I be correct in assuming that this tool would work for me?

Yes, that would technically work.  I'm thinking of making a tutorial for doing wired boards using the phantom firmware.  I may even be convinced to help you make the GUI show your custom layout

Offline Melvang

  • Exquisite Lord of Bumfluff
  • * Maker
  • Posts: 4388
  • Location: Waterloo, IA
  • Melvang's Desktop Customs
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #330 on: Tue, 27 May 2014, 17:13:46 »
If I were to wire up a TKL board with the same matrix structure (assuming the same pins went to the same rows and columns) would I be correct in assuming that this tool would work for me?

Yes, that would technically work.  I'm thinking of making a tutorial for doing wired boards using the phantom firmware.  I may even be convinced to help you make the GUI show your custom layout

That would be amazing.  I think a good implementation would be to have a check box to show the row and columns to match said stock boards. 

Would love to see this work out for phantom wiring and possibly a full size (hopefully 108 key and/or 105 similar to AEK II).  Either way amazing work on this project.
OG Kishsaver, Razer Orbweaver clears and reds with blue LEDs, and Razer Naga Epic.   "Great minds crawl in the same sewer"  Uncle Rich
Order Form for MDC Mouse Pad
Contact Form for questions

IBM F Revival Services Now with VIDEO

Offline Ound

  • Posts: 15
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #331 on: Tue, 03 June 2014, 19:02:15 »
Ok, I just oredered  Pegasus Hoof and I am wondering, will I be able to replicate Poker II layout 1:1 ?
I get the Fn layer but I struggle to comprehend how the Toggle works with this firmware.

Like on Poker II I can just press Caps Lock ( Fn ) and Z to enable toggle Shift or Fn + Space to enable toggle on WASD as Arrow keys.
Would each of those go as a seperate layers or something ? How would I toggle shift?
« Last Edit: Tue, 03 June 2014, 19:08:02 by Ound »

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #332 on: Wed, 04 June 2014, 09:00:44 »
Ok, I just oredered  Pegasus Hoof and I am wondering, will I be able to replicate Poker II layout 1:1 ?
I get the Fn layer but I struggle to comprehend how the Toggle works with this firmware.

Like on Poker II I can just press Caps Lock ( Fn ) and Z to enable toggle Shift or Fn + Space to enable toggle on WASD as Arrow keys.
Would each of those go as a seperate layers or something ? How would I toggle shift?

The firmware is very powerful.  You can replicate just about any layout.  The two functions you list are not directly supported, but the general purpose features can be combined to get you there.

The WASD thing can be accomplished by using multiple layers.  You would map Fn+Space to activate a different layer that has WASD set to arrow keys.

The Fn+Z to make Shift a toggle is more difficult.  My firmware supports making modifiers toggle switches, however they can't currently be swapped back and forth at run time.  I will have to think about this one.

Offline AKmalamute

  • HHKB Scrub
  • Posts: 827
  • Location: Western WA, USA
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #333 on: Wed, 04 June 2014, 15:43:06 »
I have a somewhat logistical question about your software.

So, Lets say the top right button on my phantom is configured to act as a Fn button, and on the first function layer, F12 becomes a Fn2 button. In layer 2, the enter key becomes a 'boot mode' key.

Do I have to hold all three keys to cause the teensy to move to program mode? That is, if I hold the Fn button long enough to use a key on the next layer, and hold it while fishing for a layer 2  key, will the "meaning" of the middle button maintain itself if I've released the first Fn button?

 I know they work all at once, because somesuch combination was how it's programmed now, although I've forgotten which buttons do what, exactly. (can that be retrieved, btw?)

I guess the question is, how do the layer buttons on layers interact...do I need a dedicated FnLock to layer four, which is nothing but a collection of dedicated Fn_ buttons to my other layers that aren't one or two ...? Or can I cascade through the layers with no memory of how I got here, holding this button but knowing it's layer 5 ...?

TIA for the answer and thanks-in-the-past for this useful software.

HHKB-lite2, Dvorak user

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #334 on: Wed, 04 June 2014, 20:29:21 »
I have a somewhat logistical question about your software.

So, Lets say the top right button on my phantom is configured to act as a Fn button, and on the first function layer, F12 becomes a Fn2 button. In layer 2, the enter key becomes a 'boot mode' key.

Do I have to hold all three keys to cause the teensy to move to program mode? That is, if I hold the Fn button long enough to use a key on the next layer, and hold it while fishing for a layer 2  key, will the "meaning" of the middle button maintain itself if I've released the first Fn button?

You don't have to hold both Fn keys.  The key code is looked up at the time of actuation, and it is active as long as you hold the key.  I made that decision early on in the development.  To me, it makes the most sense.  I don't want the PC to receive events if I haven't changed what my fingers are doing.

I know they work all at once, because somesuch combination was how it's programmed now, although I've forgotten which buttons do what, exactly. (can that be retrieved, btw?)

Can't be retrieved in any practical way.  I could do it by hand if it was a life-or-death situation.

I guess the question is, how do the layer buttons on layers interact...do I need a dedicated FnLock to layer four, which is nothing but a collection of dedicated Fn_ buttons to my other layers that aren't one or two ...? Or can I cascade through the layers with no memory of how I got here, holding this button but knowing it's layer 5 ...?

TIA for the answer and thanks-in-the-past for this useful software.

Yeah, like I said, you can chain them by letting go of the earliest Fn keys.  The system keeps track of all Fn presses up to 5 simultaneous layers, I think.

Anyway, just try it!  If it doesn't work for some reason, just let me know.  It is hard to test every edge case for a hobbyist project.

Offline AKmalamute

  • HHKB Scrub
  • Posts: 827
  • Location: Western WA, USA
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #335 on: Mon, 09 June 2014, 18:06:14 »
The beta (both 4-20, and 5-24) seem to have the right-shift problem (phantom). I use an old .hex file and right shift works -- build my new firmware, and it goes away.

Not sure this computer has the 'released' version ... I'll try that and report back. In the mean time, any files you'd like to post for diagnostic reasons?

Edit: no it doesn't give me a right-shift even with the stable release v.8 -- I'm actually not sure where the .hex file that works came from now, either. Might be TMK default build I'm not sure  :-X

2nd edit: Here's a curveball for ya': TMK also breaks the right shift. Remember some pages back about "this version fixes the right shift + phantom problem" and I mentioned how I lifted a pad? That's this board. BUT I have a .hex file that makes it work just fine. It's ANSI-150 (it would have to be, wouldn't it?) and everything works and I know it's not totally stock because the caps lock and control keys have been swapped in the working .hex file but the .dat that created it is the one a page or two back with the insecure pickle so I can't adjust anything to my preferred layout without finding an old version of the keymapper that accepted that version of the .dat file and presumably it would make a working right-shift key.

But why does TMK (modified layout like I want minus a key or two, and also tried stock 150) not see the same key? Aquakeys agrees that with the older .hex, it's a right shift, shorting out either the pin where the switch is, or the nearby hole where the wires were redirected to. Other .hex files, Aquakeys says nope, no keys pressed.

Edite, the Thirde: maybe I've got it. So, Beta-keymapper, phantom-allkeys, build firmware. With me so far? I assigned some random and ridiculous keystrokes to buttons that show as blank, in case it was one of those. So, what works as a right shift with that mystery .hex file, now shows as the menu, or APP key in Aquakeys.

ARRGGHHHH So, tell me, what are my real options?
How can I build an eloquent ANSI / 1.5/1/1.5 .hex file with the particular changes I've decided on? Scratch up the PCB and hope I don't confuse it works with a different jumper wire? Why does the mystery .hex have no troubles with it? I have a picture already of the jumpered switch let me come back with a fourth edit to include that for reference.

here is where it got jumpered to. Looks normal enough to me.
« Last Edit: Mon, 09 June 2014, 19:39:57 by AKmalamute »

HHKB-lite2, Dvorak user

Offline Pacifist

  • Report me *again* if there are gifs in my sig
  • * Elevated Elder
  • Posts: 3599
  • Location: Cali
  • on hiatus
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #336 on: Mon, 09 June 2014, 19:53:27 »
Soon that JD40 will have 3 stars next to it :))

Offline AKmalamute

  • HHKB Scrub
  • Posts: 827
  • Location: Western WA, USA
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #337 on: Mon, 09 June 2014, 20:36:15 »
Soon that JD40 will have 3 stars next to it :))

Hmm? How many does it have now? I can tell that's humor I'm just not sure what the implication is.

ANYway ... I figured it out. Sorta.

APP was one of those 'ridiculous keystrokes' -- didn't remember until I went through the process again.

So, 'everykey' has 5:12 blank -- it's not labelled on the board but it would be called 1:12. It should be the 1.75 shift, but the 'default, everykey' layout in 'qaz software is for the shift to be 1:13. I was suffering from a case of didnt-invert-when-I-flipped-the-board, and jumpered to the wrong "nobody uses that shift" switch hole.

SO

The fact that the mystery .hex works, says it was generated before metalliqaz fixed the "phantom right shift" -- and also tells me what the problem with it was. He was using the wrong point in the matrix for it. Knowing that, I can even put together how I got to this point; no shift showing in aquakeys (diodes and tweezers at this stage), see the nearby diode holes and add one, thinking I just used the wrong holes first time around. As 1:12 isn't labelled, when aquakeys shows this is a shift key, but the "right" hole isn't -- I must not have seen enough to understand. I solder switches in, no right shift. Assuming its the keyswitch itself (they are circa 1985) I lift a pad in the (doomed, let us recall) repair attempt. Can't shove pad back in (tried really hard, too) but I remember the nearby "short right shift" spot works too. Put tiny jumper wires in, all is well.

...until I try "working" firmware, which relies on a different key location.

So, way forward is: TMK. I think. I'll just edit the matrix to assume 1:12 and NOT 1:13, then my existing ANSI_150 will work exactly as expected. It'll reduce the resale value I suppose, but there's a hardware solution to that. If I can remove the jumper wire w/o lifting ANOTHER pad, I can just jumper the pins to THE OTHER SHIFT KEY (that's in the opposite direction). Then stock software will match existing hardware.

HHKB-lite2, Dvorak user

Offline Pacifist

  • Report me *again* if there are gifs in my sig
  • * Elevated Elder
  • Posts: 3599
  • Location: Cali
  • on hiatus
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #338 on: Mon, 09 June 2014, 20:37:24 »
Just 1, because it hasn't been tested that much yet

Offline jdcarpe

  • * Curator
  • Posts: 8856
  • Location: Odessa, TX
  • Live long, and prosper.
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #339 on: Mon, 09 June 2014, 20:58:57 »
Just 1, because it hasn't been tested that much yet

If I can get it working on Ubuntu, I'll test it and make sure it will work with the SmallFry/JD40s that will ship from the GB.
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 esko997

  • Posts: 158
  • Location: CT, USA
  • Linux Lover
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #340 on: Mon, 09 June 2014, 21:23:32 »
Just 1, because it hasn't been tested that much yet

If I can get it working on Ubuntu, I'll test it and make sure it will work with the SmallFry/JD40s that will ship from the GB.

I have it working using Wine in Arch Linux and have been able to perfectly load my JD40 with the beta version provided in the OP. Just FYI
Daily Drivers: ErgoDox (Clears) | Unicomp Customizer (BS -- Linux Layout)
Other Boards: CM Quickfire Stealth (Greens) | Poker II (Blues) | PLU-ML 87 (Ergo Clears)  | JD40 (Browns) | Leopold FC660C (Topre)
Pictures: http://geekhack.org/index.php?topic=57528

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #341 on: Mon, 09 June 2014, 22:24:10 »
AKmalamute, it can be done, no problem.  You can access every single spot on the Phantom by loading up the <all keys> layout.  Check your PM.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #342 on: Mon, 09 June 2014, 22:25:11 »
Just 1, because it hasn't been tested that much yet

If I can get it working on Ubuntu, I'll test it and make sure it will work with the SmallFry/JD40s that will ship from the GB.

Also PM'd you.  It will definitely work.  I haven't split support yet for the Teensy version vs the GB version.  But I will make sure it is well supported for anyone who wants to use it.

Offline Pacifist

  • Report me *again* if there are gifs in my sig
  • * Elevated Elder
  • Posts: 3599
  • Location: Cali
  • on hiatus
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #343 on: Mon, 09 June 2014, 22:26:10 »
I think The current smallfry board is the teensy based one that is currently supported.

Offline jdcarpe

  • * Curator
  • Posts: 8856
  • Location: Odessa, TX
  • Live long, and prosper.
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #344 on: Mon, 09 June 2014, 23:06:34 »
Yep, the one mkawa is doing the charity GB for is the Teensy version. :)
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 Ound

  • Posts: 15
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #345 on: Fri, 13 June 2014, 04:47:36 »
I have the question to everyone here, since I have not been around for long and haven't coded any firmwares (yet).

1. Q : How do you implement Toggle-able modifier keys and what problems would arise from such a feature? What's the main thing to worry about? Just the memory the code uses?
2. Q (to op) : Are there gonna be more mouse key support ( like MOUSE3/4/5 etc. ) or is it something that's only available for specific mouse drivers ? I am just not quite sure how OSes handle I/O, is that even dependant on OS ? If it is, does it matter what drivers are there? Or are those extra mouse buttons just hack arounds of something that already exists ?

« Last Edit: Fri, 13 June 2014, 08:46:43 by Ound »

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #346 on: Sun, 15 June 2014, 21:09:02 »
Finally updated the Beta version.  Sorry this took so long.  I was tinkering with the embedded password generator that I mentioned in some other post weeks ago.  It isn't documented anywhere, and it isn't well tested as of yet, so I wouldn't recommend using it for the time being, although you're certainly welcome to play around with it.

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4914
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #347 on: Sun, 15 June 2014, 21:39:57 »
2. Q (to op) : Are there gonna be more mouse key support ( like MOUSE3/4/5 etc. ) or is it something that's only available for specific mouse drivers ? I am just not quite sure how OSes handle I/O, is that even dependant on OS ? If it is, does it matter what drivers are there? Or are those extra mouse buttons just hack arounds of something that already exists ?

I implemented a standard Boot-compatible HID mouse.  That means it is limited to 3 mouse buttons.  MOUSE4/5 really aren't hard to add, I just wanted it to be as compatible as possible.  To be honest, I'm not sure what good it would do.  On every mouse I have, MOUSE4/5 are bound to forward/back, which can already be bound to keys on the keyboard.

1. Q : How do you implement Toggle-able modifier keys and what problems would arise from such a feature? What's the main thing to worry about? Just the memory the code uses?

I implement them when a scancode is activated or deactivated.  Once the system realizes that something is happening to a modifier key, it looks up how the user has configured that modifier.  It then decides how to react.  Most of the magic happens on the upstroke.  If the key was set as a toggle, the system doesn't send the modifier deactivation to the PC.  The only thing it requires is a small bit of memory.

When I was designing my firmware, I intentionally kept away from the major open source firmware (TMK) because I wanted to have a design of my own ("clean room" design).  After completing the Epsilon project, I went ahead and looked at Hasu's code.  It was very interesting after going through it myself.  Unsurprisingly, his code looks and functions completely different from mine.  One of the main differences is that he assigns special functions to locations in the layout (keys).  I assign special functions to scancodes.

For example.  In TMK, you might assign Row 5, Col 0 to TOGGLE(LSHIFT), but on Easy AVR, you would assign R5C0 to LSHIFT and separately configure LSHIFT as toggleable.

This is a fundamental difference between our approaches.  His is obviously very configurable for strange and exotic layouts, but mine allows for simpler code that is easy to fit into very small devices.  I don't think either way is obviously superior to the other, they're just different ways of approaching the problem.

The feature you've been looking for, Ound, is not exactly mappable in my current software because of this design choice.  To be quite honest, I don't know why someone would want to switch back and forth between normal and toggle modes during their daily use in a way that they wouldn't be able to use "Lockable" mode (double-tap to toggle).

The way I see it, these are the possible ways to do what you want with EasyAVR:
1.  I redesign the system to work like TMK (unlikely at the moment)
2.  You decide on one or the other and keep it
3.  You just use Lockable mode. (honestly, I think this is what you want)
4.  I add a key that specifically mimics the PokerII behavior.  I've done this with other keys (GraveEsc and LockingCAPS)
5.  You map LSHIFT to normal and RSHIFT to toggle, and use LSHIFT on both shift keys on one layer and use RSHIFT on both shift keys on the other layer.

Offline Ound

  • Posts: 15
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #348 on: Tue, 17 June 2014, 16:27:12 »
Really great write up, thanks for the insight into your and tmk firmware design. Thanks for the suggestions too, I guess one of your solutions will work for me, i.e. using RSHIFT as  Toggle or something like that.

Offline minho

  • Posts: 488
  • Location: United States
  • i'm kind of back
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #349 on: Fri, 20 June 2014, 12:25:35 »
Can anyone explain to me how to reprogram a Techkeys business card? I can't find it under the layouts when I click "New Default Layout", and I can't seem to find any options anywhere for custom layouts.

Thanks
I'm [kind of] back!