SEM - Guide how to set up different binds depending on MODE switch

Moderator: AdminGroup

dilbadil
Posts: 3
Joined: Sat Jun 25, 2022 0:15

Re: SEM - Guide how to set up different binds depending on MODE switch

Postby dilbadil » Tue Jan 17, 2023 8:05

I'd like to try OP's solution with Boolean operators, but I don't have Boolean as an option for my Button type, am I missing something (GIF attached)? I tried the Boolean page and setup similar operations, but I ran out of slots on that page before I could cover all the buttons combinations that OP was able to do.

Device Config v0.92.51
SEM firmware v2.121
Attachments
VKBDevCfg-C_mG2sMYEtTT.gif

genko
Posts: 6
Joined: Mon Apr 17, 2023 19:22

Re: SEM - Guide how to set up different binds depending on MODE switch

Postby genko » Mon Apr 17, 2023 22:28

Good news!

I have somehow managed to figure out and get working the MODE switch feature using the new (and slightly bugged) Button M + Modal Switch Boolean. (VKBDevCfg v0.29.51 - Njoy32 fw v2.12.0)

The issue it seems we're all having is with Button S automatically changing to Button M once either subShift # or V Button # are changed.

I did the following to successfully get this to work the way I'd wanted (a button on the SEM changing it's logical output based on the position of the mode switch) by setting things up as follows:

First - Create the boolean (values I entered from top to bottom and left to right):
- Change "OFF" to "Modal Switch"
- Set number to "1" (Note- It goes up to 4, but this number is not referring to which position the switch is in, it is referring to the entire mode switch itself and allows you to use 4 different "switches" as a modal switch... in the SEM's case, I suppose that means you could use the Flaps/Landing gear as modal switches depending on the detents you decide to use)
- Set first layer to physical (to select which physical button you want to use)
- Set But N: In my case I used physical button 53 as that is my physical button for position 1 on the "MODE" rotating switch. Another note here, I believe you want to set this to your "starting position."
- Set the second layer to virtual (this is what translates your physical button to logical button)
- Set But N: In my case I used virtual button 53 which connected physical 53 to logical button 53
- Set N Pos: In my case I used 4 such that the number of controlled positions ("N Pos") is 4... The mode switch on the SEM has positions 1, 2, 3 and 4. Such that we've set 53 as our logical starting position, this boolean will then set 54, 55, and 56 as the 3 remaining controlled positions.
- Check the box which enables "Neutral Position" -- what this does is set the starting position as a "neutral position" which prevents position 1 from being a "modifier." In short, when the mode switch is in the "1" position nothing is being modified. You are in your "base" configuration until you rotate to position 2 and 3 and 4 which will act as modifiers on your base configuration.

Second - Configure the buttons:
- For my setup I elected to set physical buttons 53, 54, 55 and 56 (my mode switch's 1-4 positions) to have No Function (Button Type "NoF") as I personally don't want my changing of the mode to signal any button presses to whatever game/application I'm running.
- Now select the physical button you want modified by the modal switch and set it's type to "ButtonM"
- Set MSw # to whatever number you used as your "Modal Switch" number when creating the boolean
-- You'll notice that when you set this value to the number of your modal switch (MSw#), your virtual section shows 8 virtual buttons
- Set V. Button to whatever available virtual button you'd like to use as your *first* modified button, I used 65.
- Now you'll notice that in the bottom section of the button mapping wizard you have the button mapped to its unmodified virtual button followed by 7 sequential virtual buttons. Since the mode switch only has 4 positions you'll only ever activate the unmodified virtual button in mode 1 (since we used that as a "neutral position" when creating the boolean) and then the next 3 virtual buttons with each respective mode switch position. Mode switch position 2 would activate virtual button 65 (your first modified or "shifted" button) and then position 3 would activate virtual button 66 and position 4, 67! Since we won't use the remaining 4 I set their logical buttons to have no function to free them up for use elsewhere.

I'm not sure why it adds 8 total virtual buttons and can't figure out how to limit it only to the 4 I need, however, so if anyone figures that out I'd love to hear about it!

Hopefully you can follow along and get it working yourselves.

I'll try to answer questions if possible lol.

Update: I was able to reduce the number of virtual buttons consumed by the ButtonM button by changing the N Pos value in the boolean to 2, but then only mode switch positions 3 and 4 don't do anything... not sure why/how all the virtual buttons are generated by the boolean.

Update 2: Thanks to the post below, you can reduce the 8 total virtual buttons to only the 4 by setting the second layer to "OFF" when you are setting up the modal switch boolean option. Apparently the second layer is there to act as a way to "shift" the modal switch outputs.
Last edited by genko on Fri Dec 29, 2023 1:20, edited 1 time in total.

KiyoKatu
Posts: 1
Joined: Mon May 29, 2023 7:14

Re: SEM - Guide how to set up different binds depending on MODE switch

Postby KiyoKatu » Mon May 29, 2023 7:57

Thank you genko for the walkthrough of this setup! Definitely a little less intuitive than I expected, but once you know what to look for, it's pretty straightforward.

genko wrote:I'm not sure why it adds 8 total virtual buttons and can't figure out how to limit it only to the 4 I need, however, so if anyone figures that out I'd love to hear about it!


When you are setting up the modal switch boolean option, you can set the second layer to off, and this will present only the 4 modes (your expected behavior).

I had to know what the second layer setting was used for, and I have determined it is a shift function. I bound it to the middle position on my landing gear switch (Physical Button 63 in my case), and that is what is used for triggering the other 4 virtual buttons that are presented. It's a little odd to explain, but I will try:

B1 on my SEM is physical button 43. The buttonM "V. Button" is set to 65.

When the mode switch is set to 1, B1 registers as Button 43. (default button signal)
When the mode switch is set to 2, B1 registers as Button 65.
When the mode switch is set to 3, B1 registers as Button 66.
When the mode switch is set to 4, B1 registers as Button 67.

If I now move my landing gear level into the middle detent (Physical Button 63) and repeat the same sequence:

With mode switch set to 1, B1 registers as 68.
With mode switch set to 2, B1 registers as 69.
With mode switch set to 3, B1 registers as 70.
With mode switch set to 4, B1 registers as 71.

I don't know if I will need all of these extra buttons, but now that it's configured, I think I will leave it like this and see if I end up using it.

benJ_DE
Posts: 1
Joined: Wed Oct 04, 2023 16:32
Been thanked: 1 time

Re: SEM - Guide how to set up different binds depending on MODE switch

Postby benJ_DE » Wed Oct 04, 2023 17:43

Since the last answers didn't work for me, I tried to get my own head around the Modal Switch. I don't know if the behavior was changed with the last updated or if I didn't understand the other answers fully. So here's my solution, which works perfectly fine.

I used VKB Config v0.92.88/NJoy32 firmware v2.16.0 for this.

First, I went to Boolean and added 4 Modal Switches like so:
Image
  1. In this dropdown menu, select Modal Switch.
  2. Choose the mode you want this Modal Switch to be. Since the GNX-SEM has 4 modes we can select 1 to 4. In this example I'm going to setup Mode 1, so I'm selecting 1.
  3. We want the Modal Switch to listen to the physical button, not the virtual since the virtual button assignment can change. So we set the first layer to Physical.
  4. We now select which physical button we want the Modal Switch to listen to. The Mode 1 on the SEM has the physical button 53. That's what we're putting in here.
  5. On the second layer I assume we can select a shift so we can split each mode for more customizability. I selected Off
  6. On N Pos we declare how many modes we have. In my case I only have 4 since I'm using all 4 modes and no shift. If you use the shift input you would have 8. Or If you are only using 3 Modes you would have 3 or with the shift input you would have 6.
  7. With this checkbox we set the first Mode as default so I don't have to set a virtual Button for the first mode.

After this the first Modal Switch for Mode 1 is set. We now can set the other 3 modes by coping this into a new boolean function and altering the numbers.
For Mode 2 we want field 2 to be the number 2 since that is our second mode and field 4 to be the physical button number 54 since this is the physical button for Mode 2.
For Mode 3 we want field 2 to be the number 3 and 4 to be the physical button number 55.
For Mode 4 we want field 2 to be the number 4 and 4 to be the physical button number 56.

After that we can change the buttons:
Image
  1. We select Buttons in the dropdown.
  2. As subtype we select ButtonM so we have a button which listens to the mode switches.
  3. Here we put in 1. I assume this sets the Mode which will use the default (button 41) since we selected in the Modal Switches at point 7 that we have a default.
  4. This is the starting number of your virtual buttons. I went from 65 upwards.
  5. Here you can see which button will be fired in the modes #1 to #4. The numbers with # refer to the mode we set in the Modal Switches at point 2 I think.

On the physical buttons 53 to 56 which are the modes I selected the button to have no function so no button trigger is fired.
Image

I changed A1,A2, B1-B3, C1, SW1 and SW2 to ButtonM and now I have for all four modes separate buttons.

Hope this helps anyone.

JohnSMir
Posts: 6
Joined: Wed Feb 14, 2018 12:31
Has thanked: 1 time

Re: SEM - Guide how to set up different binds depending on MODE switch

Postby JohnSMir » Fri Oct 06, 2023 9:43

Subshift work for me, and it's much more simple and clean way to do. I'll take screenshot when I get home latter

I use VKBDevCfg-C_v0.92.88

NXT SEM THQ - WW2 throttle set

MODE switch position 1 is NULL, position 2-4 is Subshift 1-3

The button that you want to have more than 1 mode can set it to ButtonS, type Multi
Attachments
VKBSim NXT SEM THQ profile 1.zip
(2.2 KiB) Downloaded 57 times

Panigale9
Posts: 1
Joined: Tue Nov 21, 2023 6:42

Re: SEM - Guide how to set up different binds depending on MODE switch

Postby Panigale9 » Tue Nov 21, 2023 6:45

How do you get BS to do multiple subshifts? Every time I try it only allows me to have 1 subshift. I've tried the multi option, but it doesnt add any more, and if I go back to the button its set back to single.

Alex Oz
Posts: 1163
Joined: Mon May 12, 2008 9:10
Location: Минск
Has thanked: 12 times
Been thanked: 125 times

Re: SEM - Guide how to set up different binds depending on MODE switch

Postby Alex Oz » Thu Nov 23, 2023 12:53

GIF.gif
Крайние прошивки и софт / Latest firmware & software
viewtopic.php?f=15&t=908
http://alex-oz.strana.de

genko
Posts: 6
Joined: Mon Apr 17, 2023 19:22

Re: SEM - Guide how to set up different binds depending on MODE switch

Postby genko » Fri Dec 29, 2023 0:20

benJ_DE wrote:After this the first Modal Switch for Mode 1 is set. We now can set the other 3 modes by coping this into a new boolean function and altering the numbers.
For Mode 2 we want field 2 to be the number 2 since that is our second mode and field 4 to be the physical button number 54 since this is the physical button for Mode 2.
For Mode 3 we want field 2 to be the number 3 and 4 to be the physical button number 55.
For Mode 4 we want field 2 to be the number 4 and 4 to be the physical button number 56.

After that we can change the buttons:
Image
  1. We select Buttons in the dropdown.
  2. As subtype we select ButtonM so we have a button which listens to the mode switches.
  3. Here we put in 1. I assume this sets the Mode which will use the default (button 41) since we selected in the Modal Switches at point 7 that we have a default.


One thing to note here, I believe the value in field 2 you mention when creating the boolean is actually an identifier for that particular modal switch boolean you're creating. It doesn't go up to 4 because there are 4 mode positions on the SEM, I believe it goes up to 4 because that's how many different modal switch booleans they allow you to create. Basically allowing you to create 4 different modal switches that may behave differently with different numbers of modes, etc. By leaving each of your ButtonM's to MSw #1, you're telling them to use that boolean you created with the identifier #1 which uses phys 53 as the "NP" and then increments 54 to mode 2, 55 to mode 3 and 56 to mode 4. In mode 1 that phys button corresponds with the same log button, but in mode 2 those phys buttons then output the log button in each of their respective "#2" lines at the bottom of the button mapping wizard, mode 3 -> #3 and 4 -> #4.

All of this to say, while you created 4 booleans, you're still only using the first 1 and can likely remove the other 3. :D

genko
Posts: 6
Joined: Mon Apr 17, 2023 19:22

Re: SEM - Guide how to set up different binds depending on MODE switch

Postby genko » Fri Dec 29, 2023 0:23

KiyoKatu wrote:When you are setting up the modal switch boolean option, you can set the second layer to off, and this will present only the 4 modes (your expected behavior).

I had to know what the second layer setting was used for, and I have determined it is a shift function. I bound it to the middle position on my landing gear switch (Physical Button 63 in my case), and that is what is used for triggering the other 4 virtual buttons that are presented.


Ah, thank you for the info! Makes sense!


Return to “Manuals and Howtos”

Who is online

Users browsing this forum: No registered users and 19 guests