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

0 Members and 3 Guests are viewing this topic.

Offline suicidal_orange

  • * Global Moderator
  • Posts: 3282
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2450 on: Sun, 03 February 2019, 08:33:11 »
That's bizarre, on the standard GH60 stepped and standard are in the same position in the matrix and there's not much space to do anything different.
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline hokagemadura

  • Posts: 5
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2451 on: Sun, 03 February 2019, 09:24:58 »
is there any hack or trick to make gh60 satan works with stepped caps lock in easy avr? maybe I didn't read enough, and at the github doc it stated that easy avr doesn't support stepped caps lock, but, any chance someone had done this?

Stepped caps lock is just the shape of the keycap, it doesn't required firmware support.  Are you talking about locking caps?
no, if i put my switch on normal caps lock, it's detected, i can program it. but if i put my switch on stepped caps lock, it's not detected as key.
I'll take a look

Sent from my Pixel 3 XL using Tapatalk

thank you. i'll try to check if anything wrong with my pcb

Offline nevin

  • Posts: 388
  • Location: US
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2452 on: Sun, 03 February 2019, 09:31:53 »
possibly a short? look at the pins for the caps lock, would be easy to make a short. solder carefully. (pic is of the 1up GH60 Satan)
212098-0
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4911
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2453 on: Sun, 03 February 2019, 10:07:56 »
Yes they should be the same location in the matrix. Check for an electrical problem

Sent from my Pixel 3 XL using Tapatalk


Offline suicidal_orange

  • * Global Moderator
  • Posts: 3282
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2454 on: Sun, 03 February 2019, 10:50:07 »
On the official GH60 the two middle pins are shorted and the diode is connected to the outer two, doesn't mean it's the same on the Satan but should be to be friendly as they are very close.


Completely unrelated but I just tried to make a new 8x13 board in the wizzard and chose a 60% JSON with 3 extra rows (reverse engineering the matrix of an unknown 'GH60') and it used TKL not COSTAR, so wouldn't load.  Unlikely anyone's going to be crazy enough to handwire a board like this but if you're bored it is a bug to squash :)
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline hokagemadura

  • Posts: 5
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2455 on: Sun, 03 February 2019, 11:05:53 »
thanks all, it works now. it looks like the stepped caps lock shorted. made a jumper and now it works flawlessly. really a fool of mine.
thank you

Offline nevin

  • Posts: 388
  • Location: US
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2456 on: Sun, 03 February 2019, 22:35:46 »
thanks all, it works now. it looks like the stepped caps lock shorted. made a jumper and now it works flawlessly. really a fool of mine.
thank you
Great. Glad you got it figured out.
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2457 on: Mon, 25 February 2019, 05:00:20 »
Hi,

Just wondering if anyone could shed some light on this.

I'm using EasyAVR + a Pegasus Hoof controller from Bpiphany on a Filco Majestouch2 TKL.

I love it, the solution is great, I am really happy!  But I have lost one bit of functionality.

Previously I was able to repeat multiple keys, so for example hold down h + a and get hahahahahahahahahahahahahaha.

Post mod I get ahhhhhhhhhhhhhhhhhhhhhhh.

I'm thinking the issue might well be a limitation on the firmware, so this would be a feature request to EasyAVR?

Or maybe it is a limitation on the controller itself?  Any thoughts?

FWIW this feature isn't just used to spam hahahaha at people!  It can be used for gaming, for example some really neat optimisations in Starcraft and similar.  There may be other use cases.
« Last Edit: Mon, 25 February 2019, 05:04:33 by -----------8<------------ »

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4911
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2458 on: Mon, 25 February 2019, 09:16:02 »
Hi,

Just wondering if anyone could shed some light on this.

I'm using EasyAVR + a Pegasus Hoof controller from Bpiphany on a Filco Majestouch2 TKL.

I love it, the solution is great, I am really happy!  But I have lost one bit of functionality.

Previously I was able to repeat multiple keys, so for example hold down h + a and get hahahahahahahahahahahahahaha.

Post mod I get ahhhhhhhhhhhhhhhhhhhhhhh.

I'm thinking the issue might well be a limitation on the firmware, so this would be a feature request to EasyAVR?

Or maybe it is a limitation on the controller itself?  Any thoughts?

FWIW this feature isn't just used to spam hahahaha at people!  It can be used for gaming, for example some really neat optimisations in Starcraft and similar.  There may be other use cases.

Okay so what you are describing a complicated issue.  The keyboard's only job is to tell the PC that the user is pressing the 'a' key and the 'h' key.  What the PC does with that information is up to the PC.  On every PC I've ever used, holding down both keys will produce "ahhhhhhhhhhhhhhhhhhh".

Now, EasyAVR follows USB HID keyboard standards.  Therefore, "ahhhhhhhhhhh" is correct.  I don't know what the Filco is doing by default, but I assume it is using a standard 6KRO USB keyboard interface.

So, you can try two things:

1) if your PC is somehow configured to produce "ahahahahahahah" when you hold down both keys on a normal keyboard, then you can configure EasyAVR to work as a basic USB keyboard.  (turn off NKRO in the USB features tab)

2) You can configure EasyAVR to rapidly toggle the 'a' and 'h' keys (or any keys you want) by turning on "rapid fire" for those keys.  Then, instead of telling your PC that you're holding the keys, it will continually re-press the keys.


Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2459 on: Mon, 25 February 2019, 11:15:43 »
Quote
Okay so what you are describing a complicated issue.  The keyboard's only job is to tell the PC that the user is pressing the 'a' key and the 'h' key.  What the PC does with that information is up to the PC.  On every PC I've ever used, holding down both keys will produce "ahhhhhhhhhhhhhhhhhhh".

Now, EasyAVR follows USB HID keyboard standards.  Therefore, "ahhhhhhhhhhh" is correct.  I don't know what the Filco is doing by default, but I assume it is using a standard 6KRO USB keyboard interface.

So, you can try two things:

1) if your PC is somehow configured to produce "ahahahahahahah" when you hold down both keys on a normal keyboard, then you can configure EasyAVR to work as a basic USB keyboard.  (turn off NKRO in the USB features tab)

2) You can configure EasyAVR to rapidly toggle the 'a' and 'h' keys (or any keys you want) by turning on "rapid fire" for those keys.  Then, instead of telling your PC that you're holding the keys, it will continually re-press the keys.

That's really interesting cheers.

Given what you've said I just dropped my  previous controller back into the Filco and retested.

I don't think I have any special configuration but holding any two keys I can easily get multi-key repeat, ie


hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahah
vyvyvyvyvyvyvyvyvyvyvyvyvyvyvyvyvyvyvy
emememememememememememememememememememem

even with shift in the equation

%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@

looks like I can even do n-key multi-repeat :p

qwetryqwetryqwetryqwetryqwetryqwetryqwetryqwetryqwetryqwetryqwetryqwetryqwetryqwetryqwetryqwetryqwetryqwetryqwetryqwetry.


.......

Just dropped back to the Pegasus + EasyAVR

And retesting there it almost looks like I am able to do multi-repeat, but it is just very very hard to acheive :

So for example on maybe the 3rd attempt I can get : enenenenenenenenenenenenenenen  (I'm on Colemak these keys are adjactent so easier to hit together).

ahhhhhhhhhhhhhhhhh
haaaaaaaaaaaaa
haaaaaaaaaaa
ahhhhhhhhhhhh
ahhhhhhhh

the ha variation seems next to impossible though, either because they are far apart and so difficult to hit precisely together, or some technical limitation.

Doing a 5 key repeat tho would be completely out of the question, at least in daily use. (I have no idea why you'd want to!)

Could this be something to do with debounce code or anything like that?  There are algorithms that are in place to handles various nuances of keypresses I assume?

I would also say I'm not sure this ability to multi-key repeat is that rare, I know it's recommended on a channel I visit by a few users who don't own Filcos.  And this technique in Starcraft requires it (about 1 min in) :


Tried disabling NKRO in the usb tab, no change it seems.

On (2), this made me wonder if it's what my Filco (and others) are doing out of the box,  I tested with the key repeat setting in Windows, switching that from slow to fast and vice versa shows a clear difference, which to me says key repeat is not being managed in the controller and it is being done OS side.
« Last Edit: Mon, 25 February 2019, 11:39:35 by -----------8<------------ »

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4911
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2460 on: Mon, 25 February 2019, 11:38:39 »
The reason it's so much harder to hit it correctly on EasyAVR is because EasyAVR uses a 1000Hz refresh rate and standard keyboards use 125Hz.

Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2461 on: Mon, 25 February 2019, 12:59:12 »
By refresh rate, is that Polling rate, ie this : https://mechanicalkeyboards.com/terms.php?t=Polling%20Rate

If so is it possible to lower it at all do you know?  If it is indeed what's preventing multikey repeat (I could test) then I'd be happy to drop the rate in exchange for the extra functionality.

Offline vvp

  • Posts: 780
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2462 on: Mon, 25 February 2019, 13:35:01 »
Notice that the web page claims that polling rate below 5 ms does not make sense since Cherry MX debounces in 5 ms. That is wrong. 5 ms polling rate will add 2.5 ms to the latency on average regardless of the switch debounce time. I.e. if you care about every millisecond then it makes sense to have shorter polling rate than 5 ms.

That being said, hardly anybody cares about 2.5 ms of added latency. You will lose much more because of long travel time of Cherry MX (pressing about 2 mm till actuation talkes a lot of miliseconds).

I just could not resist to comment on an obviously wrong info on the internet ... this time. Blame me :)

Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2463 on: Mon, 25 February 2019, 14:12:17 »
Personally I welcome pedantry.

FWIW I tried the rapid keys option in Easy AVR, with this I can get multikey repeat.

I didn't want to do every single key (not sure if there are any side-effects) so only the two keys I plan to use for the SC2 hotkeys (as in the video) are now set to rapid key, this essentially moves key repeat management into the controller firmware.

o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o :)


The multikey repeat thing (via firmware rapid fire) is interesting actually, so I can hold down one key for a bit, then a second and they still alternate :

oooooooooooooooooooo6ooooooo6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6
66666666666666666666666o666666o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o6o

Which I don't think is possible normally, even on keyboards that do multi-key repeat.

Essentially normally you have to press both keys at close to the same time to get it to alternate, but with rapid fire if you miss the timing a bit, say in the heat of a game, then it still works, which is actually slightly better. :)

So although we could argue the rapid keys option is a bit of a workaround for functionality that (for whatever reason) is not availble in EasyAVR/Pegasus combo, there are actually some extra benefits to using this workaround anyway.

Thanks for the awesome work on EasyAVR btw metalliqaz, it is really great, and being able to program a keyboard is so awesome.  :thumb:
« Last Edit: Mon, 25 February 2019, 14:26:14 by -----------8<------------ »

Offline vvp

  • Posts: 780
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2464 on: Mon, 25 February 2019, 14:22:28 »
Chris' firmware has programs (stored in eeprom and interpreted by firmware) and one can upload whatever kind of rapid fire sequences one wants up to the frequency of USP polling rate. No clue about Easy AVR. I do not use it.

Offline suicidal_orange

  • * Global Moderator
  • Posts: 3282
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2465 on: Tue, 26 February 2019, 05:19:59 »
I didn't want to do every single key (not sure if there are any side-effects)
What I would do (assuming you have a spare layer) is copy the default layer to a new layer with these keys (and any others that may be helpful) set to rapid-fire and switch to that layer for gaming.  You never know what a program is going to do with keypresses and this avoids any and all side effects plus it will give the Scroll Lock LED something to do :))
« Last Edit: Tue, 26 February 2019, 05:22:14 by suicidal_orange »
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline Nlight

  • Posts: 45
  • Location: France
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2466 on: Wed, 13 March 2019, 20:15:37 »
Hey, I'm facing an error I'm not so sure about the cause :

I've gone through the wizard to create a new board, edited the python script accordingly (see the hidden part of this post), and when I restart EasyAVR, an error pops up saying :
Quote
Error loading keyboard definition 'nonmboard.py': (num_rows, num_cols) mudt fit in (5,15) for the SIXTY firmware.

What I can say, is that the srip was all mixed up of the number of rows, columns, and so, the keyboard_definition too. Which is why I corrected it, but.... Tough luck.
Do you know what's wrong.

NB : for my first edit of the script, I said there was 4 rows, 16 columns. I changed the number of columns to 17, and increase column number of som keys in keyboard_definition, I thought that maybe the the presence of a "column_spacer" may had to count as a column after all...

More
Code: [Select]
#
# READ THIS
#
# This file contains a description of the various parameters that
# must be defined in order to completely describe the new keyboard.
# This file must be correct for the firmware to work, however if
# if is incorrect reprogramming the board won't cause any damage.
#
# This tool that created this file did not have all the information
# needed to make a perfect config.  Check over all the data for
# correctness.  Definitely make sure to fix the matix rows/columns in
# keyboard_definition, which are almost certainly wrong.
#
# This file uses two helper functions to make the configuration
# easier.  For more complicated hardware, it may be necessary to
# set the parameters by hand.  Look at other configs, such as
# boards/sigma.py, for examples if you want to try it.
#

# The first decision you have to make is to choose a hardware
# build.  A handwire board using a Teensy2.0 will probably want
# ATmega32U4_16MHz_TKL or ATmega32U4_16MHz_SIXTY.  The sizes are
# defined in the templates/__init__.py file of the keymapper.
# Leave the rest of the imports like they are here.

import easykeymap.templates.ATmega32U4_16MHz_SIXTY as firmware
from easykeymap.ioports import *
from easykeymap.helper import make_matrix_config, make_led_config


# The name of the board in the "New" dialog

description = "NoNameBoard"

# Unique string to identify THIS exact hardware layout.  If you change
# this file after saving layouts in the GUI, bump the unique_id to
# tell the tool that the old save files should not be used.  (prevents
# corrupted builds)

unique_id = "NONMBOARD_001"

# The name of the .cfg file the system will try to find for altered
# layout options.  See the configs subdir of the keymapper.

cfg_name = "nonmboard"


# Hand-wired boards usually use Teensy controllers.  Set this to
# True to make sure that the bootloader works.

teensy = True

# If your board has an exposed switch for going into the bootloader,
# you can set this to True and the system won't prompt you to add a
# BOOT key to your layout.

hw_boot_key = True


# The number of rows and columns in the matrix.  In a hand-wired board
# each of these will correspond to a single pin.

num_rows = 4
num_cols = 17


# Keyboards work by scanning a matrix to check each key.  The scan
# works by setting an active row/column (strobing) and then reading
# the status of every switch that crosses it (sensing).
# strobe_cols tells the firmware which direction you have your diodes
# installed.  If diodes go from column to row, then strobe_cols must
# be False.  If diodes go from row to column, then strobe_cols must be
# True.

strobe_cols = False

# strobe_low tells the firmware if a row/column should be activated
# by pulling the pin high or low.  Hand-wired boards will almost always
# use strobe_low = True

strobe_low = True


# The matrix_hardware, matrix_strobe, matrix_sense parameters tell
# the firmware how to initialize the ports, what pins must be set
# for each row/column, and what order to strobe/sense.  These are
# complicated and are explained fully elsewhere.  It is easiest to
# configure the matrix by using the make_matrix_config function as
# shown below.  Just customize 'rows' and 'cols' for your project.

matrix_hardware, matrix_strobe, matrix_sense = make_matrix_config(
    strobe_cols=strobe_cols,
    strobe_low=strobe_low,
    rows=[D3, C6, D7, B4],
    cols=[B0, B1, B2, B3, B7, D0, D1, D2, B5, B6, F7, F6, F5, F4, F1, F0],
    device=firmware.device
)


# The num_leds, num_ind, led_hardware, backlighting, num_bl_enab,
# and bl_modes parameters tell the firmware how to operate the LEDs
# for indicators (for example, Caps Lock) and for backlighting.  In
# order to fine-tune the configs, these may have to be defined manually
# but it is easiest to use make_led_config.
# LED_DRIVER_PULLUP is used when the pin is connected to the anode of
# the LED and the cathode is connected to ground.
# LED_DRIVER_PULLDOWN is used when the pin is connected to the cathode
# of the LED and the anode is connected to the power supply.
# Hand-wired boards will usually want to use LED_DRIVER_PULLDOWN.
# If there are no backlights, just leave the list empty (ie. just []).

num_leds, num_ind, led_hardware, backlighting, num_bl_enab, bl_modes = make_led_config(
    led_pins = [],
    led_dir=LED_DRIVER_PULLDOWN,
    backlight_pins = [],
    backlight_dir=LED_DRIVER_PULLDOWN
)


# Define the default assignments of the indicator LEDs.  The length
# of this list must equal the length of led_pins.  For each LED, the
# first string is the description of the key shown in the GUI.  The
# second string is the default function assigned to that LED.  LED
# functions must be strings as defined in led_assignments of gui.py.
# Choices are 'Num Lock', 'Caps Lock', 'Scroll Lock', 'Compose', 'Kana',
# 'Win Lock', 'Fn1 Active', 'Fn2 Active', 'Fn3 Active', 'Fn4 Active',
# 'Fn5 Active', 'Fn6 Active', 'Fn7 Active', 'Fn8 Active', 'Fn9 Active',
# 'Any Fn Active', 'Recording', 'USB Init', 'USB Error', 'USB Suspend',
# 'USB Normal', 'Backlight', and 'Unassigned'.

led_definition = []


# Define your layout.  This is a list of rows.  Each row is a list
# of keys.  Each key is a tuple of three items.  First item is a tuple
# defining the width,height of the key.  If it is just a number, it
# will be a space instead of a key.  All units are in quarter key lengths,
# so a standard key would be (4,4).  Second item is a tuple defining the
# row,column in the matrix for that key.  Third item is the default scancode
# for that key, from scancodes.py.  If a row is a number instead of a list,
# it will just make a vertical spacer.
# ((key width, key height), (matrix row, matrix column), 'default mapping')

keyboard_definition = [
  [
    ((4, 4), (0, 0), '0'),
    ((4, 4), (0, 1), '0'),
    ((4, 4), (0, 2), '0'),
    ((4, 4), (0, 3), '0'),
    ((4, 4), (0, 4), '0'),
    ((4, 4), (0, 5), '0'),
    (20, None, '0'),
    ((4, 4), (0, 11), '0'),
    ((4, 4), (0, 12), '0'),
    ((4, 4), (0, 13), '0'),
    ((4, 4), (0, 14), '0'),
    ((4, 4), (0, 15), '0'),
    ((4, 4), (0, 16), '0')
  ],
  [
    ((4, 4), (1, 0), '0'),
    ((4, 4), (1, 1), '0'),
    ((4, 4), (1, 2), '0'),
    ((4, 4), (1, 3), '0'),
    ((4, 4), (1, 4), '0'),
    ((4, 4), (1, 5), '0'),
    (20, None, '0'),
    ((4, 4), (1, 11), '0'),
    ((4, 4), (1, 12), '0'),
    ((4, 4), (1, 13), '0'),
    ((4, 4), (1, 14), '0'),
    ((4, 4), (1, 15), '0'),
    ((4, 4), (1, 16), '0')
  ],
  [
    ((4, 4), (2, 0), '0'),
    ((4, 4), (2, 1), '0'),
    ((4, 4), (2, 2), '0'),
    ((4, 4), (2, 3), '0'),
    ((4, 4), (2, 4), '0'),
    ((4, 4), (2, 5), '0'),
    (20, None, '0'),
    ((4, 4), (2, 11), '0'),
    ((4, 4), (2, 12), '0'),
    ((4, 4), (2, 13), '0'),
    ((4, 4), (2, 14), '0'),
    ((4, 4), (2, 15), '0'),
    ((4, 4), (2, 16), '0')
  ],
  [
    (16, None, '0'),
    ((4, 4), (3, 4), '0'),
    ((4, 4), (3, 5), '0'),
    ((4, 4), (3, 6), '0'),
    ((4, 4), (3, 7), '0'),
    (4, None, '0'),
    ((4, 4), (3, 9), '0'),
    ((4, 4), (3, 10), '0'),
    ((4, 4), (3, 11), '0'),
    ((4, 4), (3, 12), '0'),
    (16, None, '0')
  ]
]

# Just leave this here as-is.
KMAC_key = None
« Last Edit: Wed, 13 March 2019, 20:28:10 by Nlight »

Offline metalliqaz

  • * Maker
  • Thread Starter
  • Posts: 4911
  • Location: the Making Stuff subforum
  • Leopold fanboy
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2467 on: Wed, 13 March 2019, 21:27:07 »
The Sixty sized firmware only supports 15 columns. You need a larger sized firmware. Try TKL

Sent from my Pixel 3 XL using Tapatalk


Offline Nlight

  • Posts: 45
  • Location: France
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2468 on: Thu, 14 March 2019, 08:07:43 »
Well thanks  :thumb:, and damn   :mad: ! I was sure to have red all the comments in the script.... obviously not. In these cases, I'd love to shout at myself something like RTFM. Sorry about that, and thanks again.

Offline suicidal_orange

  • * Global Moderator
  • Posts: 3282
  • Location: England
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2469 on: Thu, 14 March 2019, 09:46:18 »
4x17?  Sounds like an interesting layout...
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline Nlight

  • Posts: 45
  • Location: France
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2470 on: Thu, 14 March 2019, 11:40:02 »
Well, this is in fact a 4x16 grid (but only 44 keys), the project has already been completed (with qmk via kbfirmware), never updated the thread though. To be honest, as a keyboard, it may be really nice and effective (concept), however it asks too many layers to learn, which can be learned far more easily with leds and labels on the caps, which I don't have (plus full split on the lap is...obvioiusly a bad idea). So, instead, I removed some caps, and currently use it as a hitbox for Mortal Kombat 9, which hitbox is far better than a console pad or a regular keyboard for this situation.

Offline i5ar

  • Posts: 2
Re: Easy AVR USB Keyboard Firmware and Keymapper
« Reply #2471 on: Wed, 03 April 2019, 02:57:36 »
Hello and thank you for Easy AVR. I've been playing with it for a while now and I wonder if there is a way to build the .hex file just from a  .json file, without using the GUI? I'm looking at the  build_firmware method but it seems a little inconvenient for this purpose.
« Last Edit: Thu, 25 April 2019, 06:38:43 by i5ar »