geekhack

geekhack Community => Keyboards => Topic started by: Special K on Fri, 06 December 2019, 12:17:59

Title: Tiger Lily controller : L/R shift causes non-responsive keyboard
Post by: Special K on Fri, 06 December 2019, 12:17:59
I purchased a Tiger Lily controller, installed it in my compatible Filco fullsize keyboard ((CST-F104/5/6/8 Main PCB Rev 3.0) 2012-03-24) and noticed that whenever I press the left and right shift keys together or in rapid succession, the keyboard quits responding completely, all status LEDs go out, and the keyboard must be unplugged and replugged in to a USB port to restore normal operation.  Has anyone else experienced this?  Did I receive a defective unit or is this a known issue?
Title: Re: Tiger Lily controller : L/R shift causes non-responsive keyboard
Post by: Findecanor on Fri, 06 December 2019, 12:33:49
That is a "feature" in the firmware for entering bootloader mode or special features. The author had unfortunately not anticipated that people would actually press that combination while typing ...
It is in the documentation for Epiphanies TMK Keyboard Firmware Collection (https://github.com/BathroomEpiphanies/epiphanies_tmk_keyboard).

You would have to download the firmware, change the combination of modifiers and recompile.

Edit: I can't actually find any firmware config named "Tiger Lily"... Maybe it was just renamed, or maybe not. Better contact bpiphany and ask what firmware to use.
Title: Re: Tiger Lily controller : L/R shift causes non-responsive keyboard
Post by: elborak on Sun, 08 December 2019, 15:54:59
Tiger Lily uses the same firmware as Black Petal.
Title: Re: Tiger Lily controller : L/R shift causes non-responsive keyboard
Post by: bpiphany on Tue, 10 December 2019, 03:24:41
elborak is correct. The Lily use the same image as the Petal. You could try to build an image with one of the tools tmk/qmk/easyAVR or whatever is around these days.

I built images for the controller excluding the jump instruction. I just commented it out and compiled. I haven't actually tested them...
This is the file for the Lilư
https://raw.githubusercontent.com/BathroomEpiphanies/costar_keyboard/master/binaries/petal_20131001_ANSI_ISO_JIS_nojump.hex
And the binary folder for other controllers
https://github.com/BathroomEpiphanies/costar_keyboard/tree/master/binaries
Title: Re: Tiger Lily controller : L/R shift causes non-responsive keyboard
Post by: Special K on Tue, 10 December 2019, 10:47:58
elborak is correct. The Lily use the same image as the Petal. You could try to build an image with one of the tools tmk/qmk/easyAVR or whatever is around these days.

I built images for the controller excluding the jump instruction. I just commented it out and compiled. I haven't actually tested them...
This is the file for the Lilư
https://raw.githubusercontent.com/BathroomEpiphanies/costar_keyboard/master/binaries/petal_20131001_ANSI_ISO_JIS_nojump.hex
And the binary folder for other controllers
https://github.com/BathroomEpiphanies/costar_keyboard/tree/master/binaries

Just to clarify, are you saying the "jump" instruction is what causes the keyboard to enter bootloader mode and what is currently activated when I press both shift keys simultaneously?
Title: Re: Tiger Lily controller : L/R shift causes non-responsive keyboard
Post by: Findecanor on Tue, 10 December 2019, 11:10:03
On a keyboard at home with bpiphany's firmware, I remapped Caps Lock to Left Control and then changed the Bootloader key combo to Left Control+Left GUI+Right GUI.
If you have used a certain home computer with Motorola CPU and preemptive multitasking, you'll know why.
Title: Re: Tiger Lily controller : L/R shift causes non-responsive keyboard
Post by: bpiphany on Wed, 11 December 2019, 01:19:55
Yes, the firmware execution "jumps" to the memory location of the bootloader and keeps on running from there instead of normal operation.

Technically my firmware looks for a certain pattern in the "modifiers bitmap" where the shift keys are represented by one bit each.
Title: Re: Tiger Lily controller : L/R shift causes non-responsive keyboard
Post by: Special K on Thu, 12 December 2019, 11:02:47
Yes, the firmware execution "jumps" to the memory location of the bootloader and keeps on running from there instead of normal operation.

Technically my firmware looks for a certain pattern in the "modifiers bitmap" where the shift keys are represented by one bit each.

If I use the firmware with the jump commented out, does that prevent me from remapping any keys later?  If so, can I later reflash to a firmware that does allow remapping?  Is "bootloader mode" what allows you to access all the features of the firmware that remap keys and other parameters?
Title: Re: Tiger Lily controller : L/R shift causes non-responsive keyboard
Post by: bpiphany on Sat, 14 December 2019, 06:46:59
The magnetic switch on the controller will always jump the controller to bootloader when activated. You may need a fairly powerful magnet. The sensitivity depends on a lot of different factors (probably).
Title: Re: Tiger Lily controller : L/R shift causes non-responsive keyboard
Post by: Special K on Sun, 19 January 2020, 19:52:39
On a keyboard at home with bpiphany's firmware, I remapped Caps Lock to Left Control and then changed the Bootloader key combo to Left Control+Left GUI+Right GUI.
If you have used a certain home computer with Motorola CPU and preemptive multitasking, you'll know why.

Where exactly in the source is the bootloader key combo defined?

I cloned the QMK Firmware repo as explained in this tutorial:

https://beta.docs.qmk.fm/newbs/newbs_getting_started

I'm looking/grep'ing through the code in /qmk_firmware/keyboards/bpiphany/tiger_lily now and can't figure out where exactly I set the key combination used to enter the bootloader mode.  I've been reading about Bootmagic here:

https://beta.docs.qmk.fm/features/feature_bootmagic

But I'm not sure Bootmagic is currently mapped to a simultaneous LSHIFT+RSHIFT press, as /qmk_firmware/keyboards/bpiphany/tiger_lily/rules.mk has BOOTMAGIC_ENABLE = no by default.

After reading yours and bpiphany's replies, I think I would prefer to remap the bootloader key combo to some combination that's physically impossible for me to press accidentally rather than disable it completely and force myself to use a magnet to get back into the bootloader mode.