[solved] Shift2 causes Virtual 128 to fire

Moderator: AdminGroup

jukelo
Posts: 74
Joined: Fri Aug 18, 2023 0:25
Has thanked: 2 times
Been thanked: 10 times

[solved] Shift2 causes Virtual 128 to fire

Postby jukelo » Sat Jan 18, 2025 18:05

Observed on firmware: 2.18.F(3), 2.18.9, 2.17.6, 2.16.5, 2.14.B, 2.14.A, 2.12, 2.10.8 XT2 (yes that's a lot, I was trying to figure out why sometimes I couldn't reproduce it :!: )
Software: v0.93.19, v0.92.80

Issue:
  • When Shift2 is pressed simultaneously with a 'Buttons>Button' that does not have 'Use Shift2' option enabled, virtual 128 will be pressed instead of the function's #1 output.
    • This happens with both Shift2 as button (momentary, alternate and cyclic) and Shift2 as boolean output.
  • Before firmware 2.14.B (observed down to and including 2.10.8 XT2), this only affected buttons with 'Use Shift1' option enabled and 'Use Shift2' disabled. From 2.14.B onward, all buttons with the Buttons > Button function appear affected.


Steps:
  • fw 2.18.F on NXT Gladiator default config
  • Assign Physical 11 (pinky button) to Shift2 function.
  • Open Mapping wizard for Physical button 12 (red A2 button) and make sure both 'Use Shift' options are disabled.
    • note the default, greyed out value for 'use Shift2' output is 128
  • On the test tab, press A2 button:
    • Logical 3 lights up.
  • Hold Pinky button to enable Shift 2 and press A2 button:
    • Logical 128 ligths up.
    • Logical 3 is off

https://youtu.be/vbBH0x1OwIM?si=DFSg9qf1uO3dwpnK

It is noteworthy that changing a physical button's function away from Buttons>Button and back to Buttons>Button assigns to the 'Use Shift' options virtual outputs that match the physical button's index as opposed to the default value of 128. When this is done (even with both 'Use Shift' options disabled), the matching virtual button will fire when Shift2 is pressed with the button instead of virtual 128.
Enabling and then disabling again a Use Shift' option in this case will revert the 'shifted' virtual output to 128, and Virtual 128 will fire again when the button is pressed alongside Shift2.
Last edited by jukelo on Tue Jan 21, 2025 22:41, edited 1 time in total.

User avatar
Alex Oz
Posts: 1240
Joined: Mon May 12, 2008 9:10
Location: Минск
Has thanked: 25 times
Been thanked: 138 times

Re: Shift2 causes Virtual 128 to fire

Postby Alex Oz » Mon Jan 20, 2025 15:22

Thanks, try VKBDevCfg-C_v0.93.21
Крайние прошивки и софт / Latest firmware & software
https://www.njoy32.vkb-sim.pro/home
http://alex-oz.strana.de

jukelo
Posts: 74
Joined: Fri Aug 18, 2023 0:25
Has thanked: 2 times
Been thanked: 10 times

Re: Shift2 causes Virtual 128 to fire

Postby jukelo » Mon Jan 20, 2025 17:08

v0.93.21 fixes buttons with only 'Use Shift1' enabled.

However buttons with no 'Use Shift' option enabled will still fire Virtual 128 when pressed alongside Shift2.

Edit: I should note my STECS buttons do not seem to suffer from this. The Gladiator, SEM and Gunfighter buttons do.

jukelo
Posts: 74
Joined: Fri Aug 18, 2023 0:25
Has thanked: 2 times
Been thanked: 10 times

Re: Shift2 causes Virtual 128 to fire

Postby jukelo » Mon Jan 20, 2025 17:20

Actually the RESET thumb hat switches on the GF4 + MCGU on fw 2.18.F(5) (physical buttons 17-21) are not affected. The same is true for the flip trigger's two positions or any physical button pressed by A2B. This is of course all tested on default configs.

jukelo
Posts: 74
Joined: Fri Aug 18, 2023 0:25
Has thanked: 2 times
Been thanked: 10 times

Re: Shift2 causes Virtual 128 to fire

Postby jukelo » Mon Jan 20, 2025 17:39

Changing the register Base for my MCGU to 3 does in fact change which regular buttons will fire Virtual 128 alongside Shift2. Many that were affected are not anymore, while one of the thumb hat switch does become affected.

After changing the register Base to 11 none of the buttons are affected anymore.

User avatar
Alex Oz
Posts: 1240
Joined: Mon May 12, 2008 9:10
Location: Минск
Has thanked: 25 times
Been thanked: 138 times

Re: Shift2 causes Virtual 128 to fire

Postby Alex Oz » Mon Jan 20, 2025 22:19

jukelo wrote:v0.93.21 fixes buttons with only 'Use Shift1' enabled.

However buttons with no 'Use Shift' option enabled will still fire Virtual 128 when pressed alongside Shift2.

Edit: I should note my STECS buttons do not seem to suffer from this. The Gladiator, SEM and Gunfighter buttons do.


Try with "clean" profile. Buttons that were "corrupted" by previous configurators will remain.
Крайние прошивки и софт / Latest firmware & software
https://www.njoy32.vkb-sim.pro/home
http://alex-oz.strana.de

jukelo
Posts: 74
Joined: Fri Aug 18, 2023 0:25
Has thanked: 2 times
Been thanked: 10 times

Re: Shift2 causes Virtual 128 to fire

Postby jukelo » Mon Jan 20, 2025 23:43

Devices tested with fw v2.18.F(5) and sw v0.93.21 after Default + Autoconfig for each. Shift is reassigned manually after defaulting, I am *not* loading an older profile.

For SEM with WW2 THQ (this one is on 2.18.3 actually), and MK1 STECS Standard, all buttons worked when pressed alongside Shift2.

On Gladiator NXT with Premium SCG, Physical button 13 (when manually set as a button) as well as Physical buttons 29-32 and the encoders at Physical 1-4 worked when pressed alongside Shift2.
Every other button, including Physical 33 (the center push for C1 hat) and the base buttons at Physical 5-7 produced virtual 128 when pressed alongside Shift 2. Shift 2 was assigned to the pinky button in D1 position.

On Gladiator EVO with Premium SCG, the only difference is that the base buttons 5-7 work fine.

On GF4 + MCGU + T-Rudder with 4-way hat for Master Mode, Physical 22 (Master Mode center push), Physical 17-22 as well as Physical 24 (MCGP trigger press) worked when pressed alongside Shift2.
The rest produced virtual 128.

If I enable and disable Use Shift2, or change a broken button's function and switch it back to Buttons, the button works fine, it's really just the default assignment that is a problem on these 3 sticks.

jukelo
Posts: 74
Joined: Fri Aug 18, 2023 0:25
Has thanked: 2 times
Been thanked: 10 times

Re: Shift2 causes Virtual 128 to fire

Postby jukelo » Tue Jan 21, 2025 12:29

Here's a video demonstrating the issue persisting on my Gladiator and GF4 after default on 0.93.21

https://www.youtube.com/watch?v=eYK9So2yLs8

Ron61
Posts: 3560
Joined: Tue Jan 15, 2013 23:56
Location: г.Минск
Has thanked: 46 times
Been thanked: 693 times

Re: Shift2 causes Virtual 128 to fire

Postby Ron61 » Tue Jan 21, 2025 14:07

A few questions:
1. Why do you have several devices after resetting to default, and not one? (number 2 at the end of the device line)
2. If you need Shift, then why do you choose Shift2 instead of Shift1?
3. If you chose to expand the buttons using Shift, then why don't you configure it for all buttons, each cell, and go straight to Test? What do you expect to see there?

jukelo
Posts: 74
Joined: Fri Aug 18, 2023 0:25
Has thanked: 2 times
Been thanked: 10 times

Re: Shift2 causes Virtual 128 to fire

Postby jukelo » Tue Jan 21, 2025 15:01

That's the default autoconfig for MCGU + MKV Rudder on BB3 unified.

I don't personally, but people on the Discord do regularly come up with a need for both Shift1 and Shift2, and to help them I do have to take extra steps to find ways around that issue with Shift2, whether using Modal Switch or other means.
Modal Switch has some limitations (inputs need to be sequential, so replacing Shift with Modal Switch requires some extra steps reshuffling buttons, via booleans or RPB or limiting the design) which I would not have to deal with if Shift2 worked the same as Shift1 here.

At any rate I don't believe the production of Virtual 128 is documented as the expected behaviour for pressing an unexpanded button alongside Shift2.

I do not typically want to enable ALL buttons to use Shift2, only a select few. Some buttons are going to be expanded using Shift1 and/or Shift2, the rest will use neither. It is incredibly rare than somebody will come up with a need to enable Shift on ALL the buttons in the profile.

Those buttons that are NOT expanded using shift are the ones that cause problems and produce virtual 128 when Shift 2 is pressed alongside the unshifted button. They do not produce Virtual 128 when Shift 1 is pressed but rather the virtual button matching the physical button as expected of the Buttons > Button function when 'use Shift1' isn't enabled for them, and I would like them to behave the same with Shift2 (that is, to not react to the press of Shift2).

In the video I did not expand any button with Shift2 because that is not relevant to the issue. The issue isn't with the buttons with 'use Shift2' or 'use Shift1' enabled (those work fine now), but the buttons without it. Some unexpanded buttons are bound to be pressed at the same time as Shift 2 sometimes, and it is not necessarily easy to determine which it is going to be such that I could instruct the user to go through the time-consuming process of fixing individual buttons as I outlined earlier in the thread.

I can post another video demonstrating the use of Shift1 and Shift2 alongside buttons with 'use Shift' enabled, but that wouldn't say anything about the issue I'm concerned about here.

0.93.21 did fix the issue for SOME devices (STECS and the WW2 throttle combo), but my Gladiators (both NXT and NXT EVO) and the Gunfighter remain affected. And even then, some buttons on those three devices are NOT affected.

jukelo
Posts: 74
Joined: Fri Aug 18, 2023 0:25
Has thanked: 2 times
Been thanked: 10 times

Re: Shift2 causes Virtual 128 to fire

Postby jukelo » Tue Jan 21, 2025 16:00

A truth table might make it clearer:
Screenshot 2025-01-21 135535.png


I'm confident this is also the baseline Alex is working from since the Expected table is how unshifted buttons behave on my STECS and WW2 throttle now. Only the GF and Gladiators are still 'stuck' in their old ways ad behave like the Actual table.

User avatar
Alex Oz
Posts: 1240
Joined: Mon May 12, 2008 9:10
Location: Минск
Has thanked: 25 times
Been thanked: 138 times

Re: Shift2 causes Virtual 128 to fire

Postby Alex Oz » Tue Jan 21, 2025 21:11

Check v2_18_F(7)

This seems to be the "bug of the century". It has affected the default settings of many devices over the years.
For some devices this could affect SHIFT1, for some SHIFT2
Surprisingly, it was only discovered just now.
Many thanks for your cooperation!
Крайние прошивки и софт / Latest firmware & software
https://www.njoy32.vkb-sim.pro/home
http://alex-oz.strana.de

jukelo
Posts: 74
Joined: Fri Aug 18, 2023 0:25
Has thanked: 2 times
Been thanked: 10 times

Re: Shift2 causes Virtual 128 to fire

Postby jukelo » Tue Jan 21, 2025 22:38

I can confirm I can no longer reproduce the issue on 2.18.F(7), thanks a ton Alex that one was nasty :]

User avatar
Alex Oz
Posts: 1240
Joined: Mon May 12, 2008 9:10
Location: Минск
Has thanked: 25 times
Been thanked: 138 times

Re: [solved] Shift2 causes Virtual 128 to fire

Postby Alex Oz » Wed Jan 22, 2025 11:04

OK, do we have any outstanding questions?
Крайние прошивки и софт / Latest firmware & software
https://www.njoy32.vkb-sim.pro/home
http://alex-oz.strana.de

jukelo
Posts: 74
Joined: Fri Aug 18, 2023 0:25
Has thanked: 2 times
Been thanked: 10 times

Re: [solved] Shift2 causes Virtual 128 to fire

Postby jukelo » Wed Jan 22, 2025 13:04

Alex Oz wrote:OK, do we have any outstanding questions?


Sure, any chance of getting a 2.18.F(7) file for the GNX modules? :D There is no _GNX_USB_Controller_v2_18_F.vkb file


Return to “Technical Support”

Who is online

Users browsing this forum: No registered users and 14 guests