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

0 Members and 4 Guests are viewing this topic.

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1850 on: Sun, 03 July 2016, 12:41:32 »
OK, it compiles.  You should know that this may not work first time but if you're willing to have a non/partially functioning board try the attached - should be standard ANSI, but I see you're in Germany so that's probably not a good start :))

I'll be around on and off all afternoon so hopefully we can get it working by then.

ok, "bad" news: flashed the atmel bootloader, worked. after connecting the the keyboard to the debian machine via usb, it was recognised in DFU mode:

Code: [Select]
[260693.055358] usb 4-1: new full-speed USB device number 8 using ohci-pci
[260693.238327] usb 4-1: New USB device found, idVendor=03eb, idProduct=2ff4
[260693.245165] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[260693.252473] usb 4-1: Product: ATm32U4DFU
[260693.256513] usb 4-1: Manufacturer: ATMEL
[260693.260548] usb 4-1: SerialNumber: 1.0.0

After connecting the nerd60 to the windows machine, it got recognised as ATmega32U4 ... (DFU...).
Then i used FLIP on my windows 7 machine to flash nerd.hex to the controller. I unchecked the button "reset" (fuses...) next to the "start application" button. after hitting the button, the nerd became a "unknown device" :-)

If you've got linux use it - there's no point fighting with drivers in windows if you don't have to and "unknown device" is far from helpful.

I assume you followed the section on fuses?
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline tedk

  • Posts: 49
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1851 on: Sun, 03 July 2016, 13:26:35 »
flashed bootloader, set the fuses, then used FLIP under windows to flash the file.  To get more output than "unknown device", i plugged it in under debian

Code: [Select]
debian dmesg output

[   49.489535] usb 2-1.2: new full-speed USB device number 3 using ehci-pci
[   49.561684] usb 2-1.2: device descriptor read/64, error -32
[   49.737643] usb 2-1.2: device descriptor read/64, error -32
[   49.913623] usb 2-1.2: new full-speed USB device number 4 using ehci-pci
[   49.985647] usb 2-1.2: device descriptor read/64, error -32
[   50.161642] usb 2-1.2: device descriptor read/64, error -32
[   50.337635] usb 2-1.2: new full-speed USB device number 5 using ehci-pci
[   50.745570] usb 2-1.2: device not accepting address 5, error -32
[   50.817633] usb 2-1.2: new full-speed USB device number 6 using ehci-pci
[   51.225613] usb 2-1.2: device not accepting address 6, error -32
[   51.225916] usb 2-1-port2: unable to enumerate USB device



Code: [Select]
avrdude -c usbasp -p m32u4 -U lfuse:w:0xdf:m -U hfuse:w:0xd9:m -U efuse:w:0xc3:m -P /dev/USBasp

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e9587
avrdude: reading input file "0xdf"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xdf:
avrdude: load data lfuse data from input file 0xdf:
avrdude: input file 0xdf contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: reading input file "0xd9"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xd9:
avrdude: load data hfuse data from input file 0xd9:
avrdude: input file 0xd9 contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xc3"
avrdude: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xc3:
avrdude: load data efuse data from input file 0xc3:
avrdude: input file 0xc3 contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of efuse verified

avrdude: safemode: Fuses OK (E:C3, H:D9, L:DF)

avrdude done.  Thank you.

so i started over and redid all the steps:
reflashed bootloader with the programmer
changed fuses, again with the programmer.

I have little to no experience in AVR stuff. can you help me with the next steps (under debian only)?

« Last Edit: Sun, 03 July 2016, 13:43:50 by tedk »

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1852 on: Sun, 03 July 2016, 14:13:50 »
The next step should be flashing

Code: [Select]
sudo avrdude -DV -P /dev/ttyACM1 -c avr109  -p atmega32u4 -b 57600 -U flash:w:'[path-to.hex]' :i
Perhaps now would be a good time to check if it's EasyAVR or something else - attached is a TMK .hex, a strange layout according to the guide but it should work so give that a try.
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline tedk

  • Posts: 49
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1853 on: Sun, 03 July 2016, 14:21:14 »
ahh, cool. i try to test that tomorrow. thanks for your help :)

Offline MajorKoos

  • Posts: 851
  • Location: Bay Area
  • 1 life please. Extra large.
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1854 on: Sun, 03 July 2016, 14:30:32 »
I've submitted a pull request to add support for the v2 PCB from TechKeys.
Original file: https://github.com/MajorKoos/EasyAVR/blob/master/keymapper/easykeymap/boards/jd40v2.py

Offline tedk

  • Posts: 49
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1855 on: Mon, 04 July 2016, 14:01:03 »
The next step should be flashing

Code: [Select]
sudo avrdude -DV -P /dev/ttyACM1 -c avr109  -p atmega32u4 -b 57600 -U flash:w:'[path-to.hex]' :i
Perhaps now would be a good time to check if it's EasyAVR or something else - attached is a TMK .hex, a strange layout according to the guide but it should work so give that a try.


this hexfile works fine - layout kinda like a poker3.

Code: [Select]
[ 3594.564107] usb 2-1.2: new full-speed USB device number 6 using ehci-pci
[ 3594.862756] usb 2-1.2: New USB device found, idVendor=feed, idProduct=6060
[ 3594.862766] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3594.862770] usb 2-1.2: Product: NerD
[ 3594.862774] usb 2-1.2: Manufacturer: GON
[ 3594.881110] hidraw: raw HID events driver (C) Jiri Kosina
[ 3596.023932] usbcore: registered new interface driver usbhid
[ 3596.023938] usbhid: USB HID core driver
[ 3596.028549] input: GON NerD as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/0003:FEED:6060.0001/input/input17
[ 3596.084541] hid-generic 0003:FEED:6060.0001: input,hidraw0: USB HID v1.11 Keyboard [GON NerD] on usb-0000:00:1d.0-1.2/input0
[ 3596.084723] input: GON NerD as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.1/0003:FEED:6060.0002/input/input18
[ 3596.140124] hid-generic 0003:FEED:6060.0002: input,hidraw1: USB HID v1.11 Mouse [GON NerD] on usb-0000:00:1d.0-1.2/input1
[ 3596.142487] input: GON NerD as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.2/0003:FEED:6060.0003/input/input19
[ 3596.196129] hid-generic 0003:FEED:6060.0003: input,hidraw2: USB HID v1.11 Device [GON NerD] on usb-0000:00:1d.0-1.2/input2
[ 3596.197758] hid-generic 0003:FEED:6060.0004: hiddev0,hidraw3: USB HID v1.11 Device [GON NerD] on usb-0000:00:1d.0-1.2/input3


fyi: enter works
« Last Edit: Mon, 04 July 2016, 15:41:24 by tedk »

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1856 on: Mon, 04 July 2016, 16:27:20 »
Well that's good - you've definitely got the bootloader on there.  Now you need to try flashing the EasyAVR hex in debian as you know that flasher works, or the TMK hex in Windows as you know the hex works.  One or both of these should fail...
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline tedk

  • Posts: 49
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1857 on: Tue, 05 July 2016, 00:43:37 »
sorry suicidal_orange, my fault to not mention this: i used flip to flash the second image, i could not get avrdude to work with nerd60 connected by usb. i modified the udev-rules, but still it wouldnt work. (i edit this post later at home - im on my way to work).

one question: i have to definitly use avrdude and not dfu-programmer? after some googlefu, all found posts referenced dfu-programmer.
« Last Edit: Tue, 05 July 2016, 00:56:18 by tedk »

Offline MOZ

  • KING OF THE NEWBIES
  • * Maker
  • Posts: 3981
  • Location: Jo'burg
  • Busy making stuff
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1858 on: Tue, 05 July 2016, 01:36:45 »
sorry suicidal_orange, my fault to not mention this: i used flip to flash the second image, i could not get avrdude to work with nerd60 connected by usb. i modified the udev-rules, but still it wouldnt work. (i edit this post later at home - im on my way to work).

one question: i have to definitly use avrdude and not dfu-programmer? after some googlefu, all found posts referenced dfu-programmer.

If you are using FLIP, you need to use dfu-programmer, avrdude is for serial com or if using an external flashing device.

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1859 on: Tue, 05 July 2016, 02:18:22 »
You can use whatever - if it works it's good, if it doesn't it errors so no harm done :)

If TMK worked with FLiP it's the EasyAVR bit that didn't, try it again to check it wasn't a random flashing failure and if still no joy I'll have a look tonight what's special about the Nerd in the TMK config.
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline tedk

  • Posts: 49
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1860 on: Tue, 05 July 2016, 11:22:29 »
You can use whatever - if it works it's good, if it doesn't it errors so no harm done :)

If TMK worked with FLiP it's the EasyAVR bit that didn't, try it again to check it wasn't a random flashing failure and if still no joy I'll have a look tonight what's special about the Nerd in the TMK config.

ok, i dl'ed and flashed the hexfile again. same result, nerd_lufa.hex works, nerd.hex doesnt. same errormessage as last time.

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1861 on: Tue, 05 July 2016, 18:32:15 »
You can use whatever - if it works it's good, if it doesn't it errors so no harm done :)

If TMK worked with FLiP it's the EasyAVR bit that didn't, try it again to check it wasn't a random flashing failure and if still no joy I'll have a look tonight what's special about the Nerd in the TMK config.

ok, i dl'ed and flashed the hexfile again. same result, nerd_lufa.hex works, nerd.hex doesnt. same errormessage as last time.

Flashed the dodgy hex to my GH60 - strange things happened.  Flashed it to an empty Arduino - nothing happened, but keypresses don't register when I short pins and lsusb won't run even after disconnecting it.  Very strange.

Sadly I've run out of day, will have another look tomorrow.
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline tedk

  • Posts: 49
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1862 on: Wed, 06 July 2016, 07:59:34 »
You can use whatever - if it works it's good, if it doesn't it errors so no harm done :)

If TMK worked with FLiP it's the EasyAVR bit that didn't, try it again to check it wasn't a random flashing failure and if still no joy I'll have a look tonight what's special about the Nerd in the TMK config.

ok, i dl'ed and flashed the hexfile again. same result, nerd_lufa.hex works, nerd.hex doesnt. same errormessage as last time.

Flashed the dodgy hex to my GH60 - strange things happened.  Flashed it to an empty Arduino - nothing happened, but keypresses don't register when I short pins and lsusb won't run even after disconnecting it.  Very strange.

Sadly I've run out of day, will have another look tomorrow.

good luck and see you later :)

Offline achanlon

  • Posts: 7
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1863 on: Wed, 06 July 2016, 14:41:17 »
Hi - Is there any way to detect from the computer when a FN (layer key) is pressed? Alternatively is it possible to also send a seldom used scan code (like F20 for example) when a FN key is pressed/released?

The reasoning behind this is that I would like to be able to pop-up a layer map on my monitor when I enter a different layer (while learning to use a 40%).

Thanks.

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1864 on: Wed, 06 July 2016, 17:02:59 »
Hi - Is there any way to detect from the computer when a FN (layer key) is pressed? Alternatively is it possible to also send a seldom used scan code (like F20 for example) when a FN key is pressed/released?

The reasoning behind this is that I would like to be able to pop-up a layer map on my monitor when I enter a different layer (while learning to use a 40%).

Thanks.

Sorry to say there isn't any way to do this as the FN key is used by the keyboard controller to work out what characters should be sent to the computer, so it is handled internally.  In theory you could modify the source code to send a character and recompile it but that's far from "Easy" so you're probably better off doing it the old fashioned way - printed copies of each layer's keymap or tall keycaps with stickers on the front.

The joys of 40% life, I'm still to master doing anything beyond chatting on mine after over a year so I can only wish you luck!
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1865 on: Wed, 06 July 2016, 17:24:56 »
You can use whatever - if it works it's good, if it doesn't it errors so no harm done :)

If TMK worked with FLiP it's the EasyAVR bit that didn't, try it again to check it wasn't a random flashing failure and if still no joy I'll have a look tonight what's special about the Nerd in the TMK config.

ok, i dl'ed and flashed the hexfile again. same result, nerd_lufa.hex works, nerd.hex doesnt. same errormessage as last time.

Flashed the dodgy hex to my GH60 - strange things happened.  Flashed it to an empty Arduino - nothing happened, but keypresses don't register when I short pins and lsusb won't run even after disconnecting it.  Very strange.

Sadly I've run out of day, will have another look tomorrow.

good luck and see you later :)

Problem 1 identified - I used the 60% firmware when the matrix needs Costar.  Looking at TMK makefile I don't see anything different between the Nerd and GH60 so this should work, or at least show up as a keyboard even if it doesn't output anything...
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline QuincyJones

  • Posts: 270
  • Location: The Greatest Of Them All, England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1866 on: Wed, 06 July 2016, 19:03:28 »
First of all, this GUI layout looks awesome - like the Microsoft keyboard layout on some *****in' amphetamines!

Secondly, I've scanned down this project, but I'm still trying to get my head around it all. I understand Soarer's converter needs a teensy, and TMK does too which leads me to ask:

- will this work on an arduino leonardo (with a 32u4 chip)
- if not, why is the arduino generally not supported for keyboard converters, but the teensy is when certain arduino's also have the HID functionality necessary? Is the teensy easier to code on?
SENT FROM MY TRKA-100-ULTRA-PRO-1R WITH FLASHY MULTI-COLOURED LEDS FOR MEGA ULTRA COOLNESS
(please like me)

       

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1867 on: Wed, 06 July 2016, 19:55:43 »
First of all, this GUI layout looks awesome - like the Microsoft keyboard layout on some *****in' amphetamines!

Secondly, I've scanned down this project, but I'm still trying to get my head around it all. I understand Soarer's converter needs a teensy, and TMK does too which leads me to ask:

- will this work on an arduino leonardo (with a 32u4 chip)
- if not, why is the arduino generally not supported for keyboard converters, but the teensy is when certain arduino's also have the HID functionality necessary? Is the teensy easier to code on?

The Teensy is easier to flash as it has a friendly gui but I've used this on an Arduino Micro (official, not the smaller cheap pro micro) with no problem and I expect TMK and Soarer's would work too.  Pretty sure the Micro is a Leonardo miniaturised so you should be fine, though it's a bit big to fit in a keyboard case...
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline QuincyJones

  • Posts: 270
  • Location: The Greatest Of Them All, England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1868 on: Wed, 06 July 2016, 20:12:38 »
First of all, this GUI layout looks awesome - like the Microsoft keyboard layout on some *****in' amphetamines!

Secondly, I've scanned down this project, but I'm still trying to get my head around it all. I understand Soarer's converter needs a teensy, and TMK does too which leads me to ask:

- will this work on an arduino leonardo (with a 32u4 chip)
- if not, why is the arduino generally not supported for keyboard converters, but the teensy is when certain arduino's also have the HID functionality necessary? Is the teensy easier to code on?

The Teensy is easier to flash as it has a friendly gui but I've used this on an Arduino Micro (official, not the smaller cheap pro micro) with no problem and I expect TMK and Soarer's would work too.  Pretty sure the Micro is a Leonardo miniaturised so you should be fine, though it's a bit big to fit in a keyboard case...

ohh... so tmk and soarer's would work on arduino's with the u4 chips?
« Last Edit: Thu, 07 July 2016, 03:36:48 by suicidal_orange »
SENT FROM MY TRKA-100-ULTRA-PRO-1R WITH FLASHY MULTI-COLOURED LEDS FOR MEGA ULTRA COOLNESS
(please like me)

       

Offline tedk

  • Posts: 49
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1869 on: Thu, 07 July 2016, 00:09:24 »
You can use whatever - if it works it's good, if it doesn't it errors so no harm done :)

If TMK worked with FLiP it's the EasyAVR bit that didn't, try it again to check it wasn't a random flashing failure and if still no joy I'll have a look tonight what's special about the Nerd in the TMK config.




ok, i dl'ed and flashed the hexfile again. same result, nerd_lufa.hex works, nerd.hex doesnt. same errormessage as last time.

Flashed the dodgy hex to my GH60 - strange things happened.  Flashed it to an empty Arduino - nothing happened, but keypresses don't register when I short pins and lsusb won't run even after disconnecting it.  Very strange.

Sadly I've run out of day, will have another look tomorrow.

good luck and see you later :)

Problem 1 identified - I used the 60% firmware when the matrix needs Costar.  Looking at TMK makefile I don't see anything different between the Nerd and GH60 so this should work, or at least show up as a keyboard even if it doesn't output anything...


bad news - still the same behavior
Code: [Select]
[  210.119025] usb 2-1.2: new full-speed USB device number 9 using ehci-pci
[  210.191022] usb 2-1.2: device descriptor read/64, error -32
[  210.367023] usb 2-1.2: device descriptor read/64, error -32
[  210.543027] usb 2-1.2: new full-speed USB device number 10 using ehci-pci
[  210.615024] usb 2-1.2: device descriptor read/64, error -32
[  210.791024] usb 2-1.2: device descriptor read/64, error -32
[  210.966971] usb 2-1.2: new full-speed USB device number 11 using ehci-pci
[  211.375006] usb 2-1.2: device not accepting address 11, error -32
[  211.447031] usb 2-1.2: new full-speed USB device number 12 using ehci-pci
[  211.855009] usb 2-1.2: device not accepting address 12, error -32
[  211.855244] usb 2-1-port2: unable to enumerate USB device

Code: [Select]
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

things i did: reflashed the bootloader, flashed the file with flip, set the fuses again...

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1870 on: Thu, 07 July 2016, 03:49:48 »
ohh... so tmk and soarer's would work on arduino's with the u4 chips?

Should do, yet I just tried the working Nerd hex from TMK on the arduino and it didn't work.  You have to compile tmk so it could be made to...

I don't see why anyone would want to mess around in text files when there's a helpful gui available and EasyAVR just works though, the only exception is the bootloader key doesn't work so you need to use the physical button on the PCB to reflash.

Whatever the reason this doesn't work I suspect it's the same thing causing both issues - time to become an AVR expert and work out why!
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1871 on: Thu, 07 July 2016, 05:51:20 »
...
bad news - still the same behavior
...

Ok I had a read and there really isn't much voodoo going on when it comes to bootloaders so I went back to the config and found I was still being dumb.  TMK uses 8 columns but the EasyAVR Costar is setup for 8 rows so I swapped them over and it now flashes to my GH60 (which has the same bootloader but not sure about fuses) and it shows up as a keyboard and nothing strange happens - please try the attached.
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline QuincyJones

  • Posts: 270
  • Location: The Greatest Of Them All, England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1872 on: Thu, 07 July 2016, 06:25:09 »
ohh... so tmk and soarer's would work on arduino's with the u4 chips?

Should do, yet I just tried the working Nerd hex from TMK on the arduino and it didn't work.  You have to compile tmk so it could be made to...

I don't see why anyone would want to mess around in text files when there's a helpful gui available and EasyAVR just works though, the only exception is the bootloader key doesn't work so you need to use the physical button on the PCB to reflash.

Whatever the reason this doesn't work I suspect it's the same thing causing both issues - time to become an AVR expert and work out why!

I'm thinking about modding a keyboard, and I'd like to use TMK as a base for controlling other physical things to the keyboard so I'd be extending the codebase.
SENT FROM MY TRKA-100-ULTRA-PRO-1R WITH FLASHY MULTI-COLOURED LEDS FOR MEGA ULTRA COOLNESS
(please like me)

       

Offline achanlon

  • Posts: 7
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1873 on: Thu, 07 July 2016, 07:50:00 »
Hi - Is there any way to detect from the computer when a FN (layer key) is pressed? Alternatively is it possible to also send a seldom used scan code (like F20 for example) when a FN key is pressed/released?

The reasoning behind this is that I would like to be able to pop-up a layer map on my monitor when I enter a different layer (while learning to use a 40%).

Thanks.

Sorry to say there isn't any way to do this as the FN key is used by the keyboard controller to work out what characters should be sent to the computer, so it is handled internally.  In theory you could modify the source code to send a character and recompile it but that's far from "Easy" so you're probably better off doing it the old fashioned way - printed copies of each layer's keymap or tall keycaps with stickers on the front.

The joys of 40% life, I'm still to master doing anything beyond chatting on mine after over a year so I can only wish you luck!


Thanks for the information. The code was easy enough to understand / modify for this scenario (just enqueue/delete a secondary key within the fn_down/up methods). But I haven't quite figured out incorporating this firmware build into the actual GUI software... hmm

Offline MOZ

  • KING OF THE NEWBIES
  • * Maker
  • Posts: 3981
  • Location: Jo'burg
  • Busy making stuff
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1874 on: Thu, 07 July 2016, 07:59:28 »
One somewhat easy way is to setup a a key as an obscure key combo. Then use hotkey to act based on the hotkey, like open up an image for 2 seconds and then close the window.

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1875 on: Thu, 07 July 2016, 08:03:02 »
Hi - Is there any way to detect from the computer when a FN (layer key) is pressed? Alternatively is it possible to also send a seldom used scan code (like F20 for example) when a FN key is pressed/released?

The reasoning behind this is that I would like to be able to pop-up a layer map on my monitor when I enter a different layer (while learning to use a 40%).

Thanks.

Sorry to say there isn't any way to do this as the FN key is used by the keyboard controller to work out what characters should be sent to the computer, so it is handled internally.  In theory you could modify the source code to send a character and recompile it but that's far from "Easy" so you're probably better off doing it the old fashioned way - printed copies of each layer's keymap or tall keycaps with stickers on the front.

The joys of 40% life, I'm still to master doing anything beyond chatting on mine after over a year so I can only wish you luck!


Thanks for the information. The code was easy enough to understand / modify for this scenario (just enqueue/delete a secondary key within the fn_down/up methods). But I haven't quite figured out incorporating this firmware build into the actual GUI software... hmm

Ooh, an interested coder!

At the top of each board's config file there's a line like this, assuming what you're modifying makes these firmware files you'd just need to put the right one in the builds directory and it should pick it up.
Code: [Select]
import easykeymap.templates.ATmega32U4_16MHz_COSTAR as firmware
This is pure guesswork but worth a try :)
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline achanlon

  • Posts: 7
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1876 on: Thu, 07 July 2016, 09:51:09 »

Ooh, an interested coder!

At the top of each board's config file there's a line like this, assuming what you're modifying makes these firmware files you'd just need to put the right one in the builds directory and it should pick it up.
Code: [Select]
import easykeymap.templates.ATmega32U4_16MHz_COSTAR as firmware
This is pure guesswork but worth a try :)

Thanks for the help, that makes sense. I have it working now.

Offline tedk

  • Posts: 49
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1877 on: Thu, 07 July 2016, 11:19:58 »
...
bad news - still the same behavior
...

Ok I had a read and there really isn't much voodoo going on when it comes to bootloaders so I went back to the config and found I was still being dumb.  TMK uses 8 columns but the EasyAVR Costar is setup for 8 rows so I swapped them over and it now flashes to my GH60 (which has the same bootloader but not sure about fuses) and it shows up as a keyboard and nothing strange happens - please try the attached.

sorry to inform you, but... still the same :( i doubletried it, and, to verify the whole process again, flashed nerd_lufa.hex (with success).

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1878 on: Thu, 07 July 2016, 12:23:30 »
...
bad news - still the same behavior
...

Ok I had a read and there really isn't much voodoo going on when it comes to bootloaders so I went back to the config and found I was still being dumb.  TMK uses 8 columns but the EasyAVR Costar is setup for 8 rows so I swapped them over and it now flashes to my GH60 (which has the same bootloader but not sure about fuses) and it shows up as a keyboard and nothing strange happens - please try the attached.

sorry to inform you, but... still the same :( i doubletried it, and, to verify the whole process again, flashed nerd_lufa.hex (with success).

I think I need to get an ISP thing to check/tweak the fuses on my GH60...
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline achanlon

  • Posts: 7
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1879 on: Thu, 07 July 2016, 14:41:12 »
Thanks for the help, that makes sense. I have it working now.

I have the proof of concept working really well now:

- When a function key is pressed down it sends a unique hotkey (using the queue_autokeys function).
- My background application has a global hook for the hotkey and displays a small semi-transparent overlay image of the function layer's layout.
- When released, the same hotkey triggers the window to hide.

Now I'm on my way to 40% proficiency!!

Thanks for the assistance.


Offline QuincyJones

  • Posts: 270
  • Location: The Greatest Of Them All, England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1880 on: Thu, 07 July 2016, 15:28:31 »
Thanks for the help, that makes sense. I have it working now.

I have the proof of concept working really well now:

- When a function key is pressed down it sends a unique hotkey (using the queue_autokeys function).
- My background application has a global hook for the hotkey and displays a small semi-transparent overlay image of the function layer's layout.
- When released, the same hotkey triggers the window to hide.

Now I'm on my way to 40% proficiency!!

Thanks for the assistance.

Sounds Awesome! I'm preparing to do something like this too - old terminal computers had the lock status on screen too! Will you open source your code? github?
SENT FROM MY TRKA-100-ULTRA-PRO-1R WITH FLASHY MULTI-COLOURED LEDS FOR MEGA ULTRA COOLNESS
(please like me)

       

Offline achanlon

  • Posts: 7
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1881 on: Thu, 07 July 2016, 16:18:47 »
Sounds Awesome! I'm preparing to do something like this too - old terminal computers had the lock status on screen too! Will you open source your code? github?

Definitely, I'll make the project available. You can see the (extremely minor) addition that was hard-coded into keymap.c to send the hotkeys here. Even if set-up to be read from the config file, I don't know if this would ever be mainstream enough to warrant inclusion in the main branch...

The overlay code was just a 5 minute POC in C#/WPF, but I'll put it up when I can. The idea was just to use the keyboard-layout-editor and download the pngs to use as overlays.

Offline QuincyJones

  • Posts: 270
  • Location: The Greatest Of Them All, England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1882 on: Thu, 07 July 2016, 16:39:52 »
you know... thinking about it, maybe auto hot keys could be configured to do something like this? it has graphical overlay functionality and you can configure the opacity for the overlay.

and that website really needs a dvorak preset for the buttons!

UPDATE:

here's some auto hot keys code i was screwing about with for a semi-transparent overlay, the opacity level is controlled with the winset line - 0-255 I believe. Adjust width/height to measure, and of course change the triggering response - here's it's ctrl+shift+f5 - you'd want to accept some kind of input for which image to show.

also, not sure how to close the overlay!

^+f5::
#Persistent
#SingleInstance, Force

Gui, Add, Picture, x0 y0 w400 h400, C:\path\to\image.png

; Removes the Border and Task bar icon
Gui, +ToolWindow -Caption ;+AlwaysOnTop
Gui, Show, W400 H400, Test
WinSet, Transparent, 180, Test
Return
« Last Edit: Thu, 07 July 2016, 19:00:53 by QuincyJones »
SENT FROM MY TRKA-100-ULTRA-PRO-1R WITH FLASHY MULTI-COLOURED LEDS FOR MEGA ULTRA COOLNESS
(please like me)

       

Offline achanlon

  • Posts: 7
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1883 on: Thu, 07 July 2016, 20:00:37 »
you know... thinking about it, maybe auto hot keys could be configured to do something like this? it has graphical overlay functionality and you can configure the opacity for the overlay.

and that website really needs a dvorak preset for the buttons!

UPDATE:

here's some auto hot keys code i was screwing about with for a semi-transparent overlay, the opacity level is controlled with the winset line - 0-255 I believe. Adjust width/height to measure, and of course change the triggering response - here's it's ctrl+shift+f5 - you'd want to accept some kind of input for which image to show.

also, not sure how to close the overlay!


That's an cool idea using AutoHotKey - though I personally don't know/use it much.

I'll probably stick to .net for the overlay as it makes it easy to put together a GUI for selecting layer images and settings.

In my PoC I was using an on/off toggle action to show/hide the window using the same hotkey. The other thing to check w/ AHK is how to set the extended transparency mode so that the window doesn't intercept mouse gestures or steal focus.

Cheers!

Offline QuincyJones

  • Posts: 270
  • Location: The Greatest Of Them All, England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1884 on: Thu, 07 July 2016, 22:27:28 »
I'll probably stick to .net for the overlay as it makes it easy to put together a GUI for selecting layer images and settings.

In my PoC I was using an on/off toggle action to show/hide the window using the same hotkey. The other thing to check w/ AHK is how to set the extended transparency mode so that the window doesn't intercept mouse gestures or steal focus.

Cheers!

you can set whether a window ahk creates is always on top or not (default is not to be always on top) and as it's just showing an image, it doesn't care for mouse gestures as there's nothing to click on.

as for toggling on / off using the same shortcut, it's something i've done. you can just set a variable state for the overlay window display state, and show / close it as necessary
SENT FROM MY TRKA-100-ULTRA-PRO-1R WITH FLASHY MULTI-COLOURED LEDS FOR MEGA ULTRA COOLNESS
(please like me)

       

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1885 on: Sat, 09 July 2016, 16:46:39 »
tedk - after spending a couple of hours trying to get one of a pair of dodgy raspberry pis to boot, let alone work as an ISP programmer, I've given up and ordered one.  Not sure how long shipping from Poland takes but just so you know I've not forgotten you.
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline QuincyJones

  • Posts: 270
  • Location: The Greatest Of Them All, England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1886 on: Sat, 09 July 2016, 19:23:57 »
tedk - after spending a couple of hours trying to get one of a pair of dodgy raspberry pis to boot, let alone work as an ISP programmer, I've given up and ordered one.  Not sure how long shipping from Poland takes but just so you know I've not forgotten you.

Could you use the zero? they're surely shipped from wales?
SENT FROM MY TRKA-100-ULTRA-PRO-1R WITH FLASHY MULTI-COLOURED LEDS FOR MEGA ULTRA COOLNESS
(please like me)

       

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1887 on: Sun, 10 July 2016, 03:59:20 »
tedk - after spending a couple of hours trying to get one of a pair of dodgy raspberry pis to boot, let alone work as an ISP programmer, I've given up and ordered one.  Not sure how long shipping from Poland takes but just so you know I've not forgotten you.

Could you use the zero? they're surely shipped from wales?

Probably, but it's been ages since I played with Pis and I'm struggling somewhere between incompatible SD cards, dead Pi (LEDs are gone on one so can't tell what it thinks it's doing, the other doesn't flash to show I/O but that LED may be dead too...) and a broken HDMI cable (yes, there's only one in the house and it's rarely used!) - if I'm spending money I'd may as well get a dedicated flasher.
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline tedk

  • Posts: 49
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1888 on: Sun, 10 July 2016, 04:29:15 »
tedk - after spending a couple of hours trying to get one of a pair of dodgy raspberry pis to boot, let alone work as an ISP programmer, I've given up and ordered one.  Not sure how long shipping from Poland takes but just so you know I've not forgotten you.

hey suicidal_orange, no problem and thanks for the update  :thumb: i'll be ready for new testing :)

Offline Data

  • Posts: 2608
  • Location: Orlando, FL
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1889 on: Tue, 12 July 2016, 06:28:04 »
I made a keymap and compiled firmware for the Teensy-based GH-122 PCB this weekend.  Everything looks good except the numpad Column 22 (/852) connected to pin D0 fails to register keypresses.  I seem to recall samwisekoi having a similar issue in the first iteration of this PCB and working closely with metalliqaz on it.  Could this issue have carried over to the current version of EasyAVR?  I have good continuity from D0 through the entire column on the PCB, so I'm pretty sure the hardware is good.  Any idea what this might be?

Ron hasn't logged on in a month so I haven't been able to ping him about this yet.  :(

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1890 on: Thu, 14 July 2016, 12:03:56 »
So, I made this new Kitten Paw https://geekhack.org/index.php?topic=46700.msg2218454#msg2218454

Can someone please add it to Easy AVR for me? =) I don't know how to create pull-requests and all that =P

I think I got this all correct http://pastebin.com/sEw9H7Mw

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1891 on: Thu, 14 July 2016, 12:48:56 »
So, I made this new Kitten Paw https://geekhack.org/index.php?topic=46700.msg2218454#msg2218454

Can someone please add it to Easy AVR for me? =) I don't know how to create pull-requests and all that =P

I think I got this all correct http://pastebin.com/sEw9H7Mw

It would be better if it was confirmed working first, if you have a board to test on?

Not sure Metaliqaz is checking this thread or the pull requests, haven't seen him for a while :(
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline MOZ

  • KING OF THE NEWBIES
  • * Maker
  • Posts: 3981
  • Location: Jo'burg
  • Busy making stuff
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1892 on: Thu, 14 July 2016, 14:24:21 »
He's engrossed in Doom

Offline Data

  • Posts: 2608
  • Location: Orlando, FL
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1893 on: Thu, 14 July 2016, 16:23:42 »

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1894 on: Thu, 14 July 2016, 16:35:03 »
So, I made this new Kitten Paw https://geekhack.org/index.php?topic=46700.msg2218454#msg2218454

Can someone please add it to Easy AVR for me? =) I don't know how to create pull-requests and all that =P

I think I got this all correct http://pastebin.com/sEw9H7Mw

It would be better if it was confirmed working first, if you have a board to test on?

Not sure Metaliqaz is checking this thread or the pull requests, haven't seen him for a while :(

I can test it. I have the board. I'm not sure I know how to compile it though... I'll look into it further tomorrow.

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1895 on: Thu, 14 July 2016, 18:23:05 »
So, I made this new Kitten Paw https://geekhack.org/index.php?topic=46700.msg2218454#msg2218454

Can someone please add it to Easy AVR for me? =) I don't know how to create pull-requests and all that =P

I think I got this all correct http://pastebin.com/sEw9H7Mw

It would be better if it was confirmed working first, if you have a board to test on?

Not sure Metaliqaz is checking this thread or the pull requests, haven't seen him for a while :(

I can test it. I have the board. I'm not sure I know how to compile it though... I'll look into it further tomorrow.

Great!  All you need to do is run the keymapper and close it, then copy the .py to c:\users\username\.EasyAVR\boards (~/.EasyAVR/boards/ on Linux) and it will show up next time you run the keymapper, select compile from the file menu to generate the hex.  If you're on Windows and have the flasher you need installed compile and flash should work too.

Or you can flash the attached .hex manually - it compiled which is better than all my first attempts :))
« Last Edit: Thu, 14 July 2016, 18:24:36 by suicidal_orange »
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1896 on: Fri, 15 July 2016, 04:07:22 »
I had a very good template from the previous version which I followed very very carefully =) Still I messed a small thing up, which I've fixed now.

This version is working perfectly as far as I can tell
http://pastebin.com/JkUkfTk8

Thanks for your help orange. It was pretty straight forward. Hoping it will be added to the github repository soon. Putting the pastebin file in .EasyAVR/boards/ will work in the meantime.

Offline Dwarlorf

  • Posts: 100
  • Location: NL
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1897 on: Fri, 15 July 2016, 13:42:29 »
Hi. I ve had a blast in putting my GH60 together, its my first modern mechanical keyboard. It replaces my 90s model M clone with a big ass enter key.  Right now I'm configuring it to my liking but I'm stuck.

I'm trying to configure tap key mode but I don't have a clue how to do this. I just can't figure out how to get it to work.  I basically want character keys to do capitals when in tap key mode. It would be great if someone could help me out.

And there's this other thing I came across. I don't know if its a bug, or a hardware thing, or just me and my ISO/ANSI hybrid layout (see: http://www.keyboard-layout-editor.com/#/gists/62e126126cb2c9d78816b839fadaf3e1)
As you can see I have a right shift key with a key on the right of it. The thing is that they're mixed up. When I configure them normally in Easy AVR the shift key does what the other key is supposed to do (output \) and that key does 'shift'. I've fixed it by programming them the other way around in Easy AVR but I figured that if it is a bug it could be fixed.

Great piece of software btw. My compliments.

« Last Edit: Sat, 16 July 2016, 02:01:03 by Dwarlorf »
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1898 on: Sat, 16 July 2016, 04:39:01 »
Hi. I ve had a blast in putting my GH60 together, its my first modern mechanical keyboard. It replaces my 90s model M clone with a big ass enter key.  Right now I'm configuring it to my liking but I'm stuck.

I'm trying to configure tap key mode but I don't have a clue how to do this. I just can't figure out how to get it to work.  I basically want character keys to do capitals when in tap key mode. It would be great if someone could help me out.

And there's this other thing I came across. I don't know if its a bug, or a hardware thing, or just me and my ISO/ANSI hybrid layout (see: http://www.keyboard-layout-editor.com/#/gists/62e126126cb2c9d78816b839fadaf3e1)
As you can see I have a right shift key with a key on the right of it. The thing is that they're mixed up. When I configure them normally in Easy AVR the shift key does what the other key is supposed to do (output \) and that key does 'shift'. I've fixed it by programming them the other way around in Easy AVR but I figured that if it is a bug it could be fixed.

Great piece of software btw. My compliments.

The shift key is my fault - I use a big FN key on the edge of the board and if you do that they swap positions - my version made it into the official release :-[

As for the tap key mode I'm not sure exactly what you want, maybe one of these?  Should help you understand how it works at least :)

Copy the layer you want to output caps instead and paste it to a new layer, then set the FN to 'toggle' mode so you can switch layer without having to hold the FN.  Either you can tick 'with mods: shift' on the FN which will change 1 to ! etc as well, or you can select each letter and tick it which will only effect the letters.
« Last Edit: Sat, 16 July 2016, 05:26:33 by suicidal_orange »
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline Dwarlorf

  • Posts: 100
  • Location: NL
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #1899 on: Sat, 16 July 2016, 17:18:45 »
Hi. I ve had a blast in putting my GH60 together, its my first modern mechanical keyboard. It replaces my 90s model M clone with a big ass enter key.  Right now I'm configuring it to my liking but I'm stuck.

I'm trying to configure tap key mode but I don't have a clue how to do this. I just can't figure out how to get it to work.  I basically want character keys to do capitals when in tap key mode. It would be great if someone could help me out.

And there's this other thing I came across. I don't know if its a bug, or a hardware thing, or just me and my ISO/ANSI hybrid layout (see: http://www.keyboard-layout-editor.com/#/gists/62e126126cb2c9d78816b839fadaf3e1)
As you can see I have a right shift key with a key on the right of it. The thing is that they're mixed up. When I configure them normally in Easy AVR the shift key does what the other key is supposed to do (output \) and that key does 'shift'. I've fixed it by programming them the other way around in Easy AVR but I figured that if it is a bug it could be fixed.

Great piece of software btw. My compliments.

The shift key is my fault - I use a big FN key on the edge of the board and if you do that they swap positions - my version made it into the official release :-[

As for the tap key mode I'm not sure exactly what you want, maybe one of these?  Should help you understand how it works at least :)

Copy the layer you want to output caps instead and paste it to a new layer, then set the FN to 'toggle' mode so you can switch layer without having to hold the FN.  Either you can tick 'with mods: shift' on the FN which will change 1 to ! etc as well, or you can select each letter and tick it which will only effect the letters.

I suppose  I have a wrong concept of what tap key does. I thought that tap key mode would mean I could press a key for a longer period and it would return a different result than with a normal key tap.

So for example pressing the 'q' key for a longer period would result in 'Q' instead of 'q'. (long press on the q key is shift basically)

I do understand your example and how to set it up (although its not what I was looking for) but I still don't understand what I can use tap key mode for.
  
E5XKBP10140                 GH60 Iso/Ansi hybrid, cherry mx red