Falcon BMS Forum
    • Register
    • Login
    • Search
    • Categories
    • Unread
    • Recent
    • Unsolved
    • Popular
    • Website
    • Wiki
    • Discord

    DX Shifting Confusion

    Joysticks & Input Devices
    4
    13
    211
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Planehazza
      Planehazza last edited by

      Reading the manuals and getting my head around it. My confusion relates to assigning the third party shortcuts to the shifted buttons. For example, I want to have the shifted DMS buttons as TIR Reset, Pause, screenshot, ShadowPlay record. They’re all external apps (except for perhaps screenshot) so if my understanding of what a callback is is correct, I cannot simply apply that to the shifted buttons via the keyfile.

      So to achieve this, am I right in saying I’d need to assign the callback SimDoNothing to the shifted DMS buttons, then use the /I and /O modifiers and key binding macros via the tmj and tmm files? I’m using Dunc’s DX mapping, and embarrassingly, I only discovered last night that by default, all the buttons have shifted functions already assigned. :oops: I pressed shift DMS and I was like “I didn’t tell it to change view!”.

      Existing mapping for #DMS/H3:

      DMS/H3

      SimDMSUp 10 -1 -2 0 0x0 -1
      SimDMSRight 11 -1 -2 0 0x0 -1
      SimDMSDown 12 -1 -2 0 0x0 -1
      SimDMSLeft 13 -1 -2 0 0x0 -1

      Existing mapping for shifted #DMS/H3:

      DMS/H3

      OTWSelect3DCockpitMode 266 -1 -2 0 0x0 -1
      OTWSelectOrbitMode 267 -1 -2 0 0x0 -1
      OTWSelect2DCockpitMode 268 -1 -2 0 0x0 -1
      OTWSelectHUDMode 269 -1 -2 0 0x0 -1

      Proposed mapping change for shifted #DMS/H3:

      SimDoNothing 266 -1 -2 0 0x0 -1
      SimDoNothing 267 -1 -2 0 0x0 -1
      SimDoNothing 268 -1 -2 0 0x0 -1
      SimDoNothing 269 -1 -2 0 0x0 -1

      And added to my Dunc.tmj:

      BTN H3U /I TIR_Pause
      /O DX11
      BTN H3D /I TIR_Recenter
      /O DX13

      I’ll not post the changes to the .tmm as that’s self explanatory.

      Naturally it makes sense to use the Display Management Switch to control visual aids such as TIR.

      Cheers guys.

      PS: Darkman, I realise I’ve already had a similar chat with you but I don’t quite yet understand it fully. :oops::rtfm:

      Harry (Formerly Amraam at Frugals etc.)

      (I'm not currently active with ViperDrivers, but these guys are the best BMS school out there!)

      BMS Reshade Preset

      1 Reply Last reply Reply Quote 0
      • F
        Frederf last edited by

        If an external program is monitoring your key/button input then that input will be seen when that key/button is pressed. The two concerns would be that when you press the joystick button(s) that the external program gets valid input and that BMS has no function assigned to that input.

        On the first point the joystick software is programmed to produce the needed output on the condition that DMS_X is pressed while the pinky button is held.

        On the second point as long as no function is assigned to the shifted button number in BMS there’s no harm (and no resulting function) in BMS receiving this extraneous input.

        Of your list of four example functions, only the Shadow Play is not possible using actual BMS callbacks (presuming that Pause means to pause the game).

        Planehazza 1 Reply Last reply Reply Quote 0
        • Planehazza
          Planehazza @Frederf last edited by

          @Frederf:

          If an external program is monitoring your key/button input then that input will be seen when that key/button is pressed. The two concerns would be that when you press the joystick button(s) that the external program gets valid input and that BMS has no function assigned to that input.

          On the first point the joystick software is programmed to produce the needed output on the condition that DMS_X is pressed while the pinky button is held.

          On the second point as long as no function is assigned to the shifted button number in BMS there’s no harm (and no resulting function) in BMS receiving this extraneous input.

          Of your list of four example functions, only the Shadow Play is not possible using actual BMS callbacks (presuming that Pause means to pause the game).

          I obviously haven’t quite got my head around callbacks then. Are you saying that for TIR, I don’t have to anything fancy and that there is a callback for that? How does that work? Does BMS read that callback and send out F9 etc. instead of running JFS start for example?

          Harry (Formerly Amraam at Frugals etc.)

          (I'm not currently active with ViperDrivers, but these guys are the best BMS school out there!)

          BMS Reshade Preset

          H 1 Reply Last reply Reply Quote 0
          • H
            Habu_ @Planehazza last edited by

            TIR’s hotkey utility allows assigning any keypress combo you want to its internal functions - center, pause, and precision. BMS default keyfile has those function pre-assigned for convenience, so you need to ensure those keypress assignments (callbacks), or your custom assignments, are the same as those programmed within TIR. Your BMS keyfile edits look ok to me, but it might be simpler to just delete the lines with 266 to 269, since those shifted keypresses do nothing. Only 2 important concepts:

            1. The joystick keypress assignments for TIR functions must be the same as those assigned in TIR.
            2. Ensure the TIR function keypresses are not duplicated for some other function within the BMS keyfile.

            Planehazza 1 Reply Last reply Reply Quote 0
            • Planehazza
              Planehazza @Habu_ last edited by

              @Habu_:

              TIR’s hotkey utility allows assigning any keypress combo you want to its internal functions - center, pause, and precision. BMS default keyfile has those function pre-assigned for convenience, so you need to ensure those keypress assignments (callbacks), or your custom assignments, are the same as those programmed within TIR. Your BMS keyfile edits look ok to me, but it might be simpler to just delete the lines with 266 to 269, since those shifted keypresses do nothing. Only 2 important concepts:

              1. The joystick keypress assignments for TIR functions must be the same as those assigned in TIR.
              2. Ensure the TIR function keypresses are not duplicated for some other function within the BMS keyfile.

              Understood. I don’t use F9 or F12 or for anything other than TIR, as I use the default BMS - Full. I still don’t understand how the BMS callback works with regards to third party apps though? I get how you set that callback to a non shifted or shifted DX button, but the head tracking is not internal to BMS - so how does BMS then tell the TIR software to center?

              Harry (Formerly Amraam at Frugals etc.)

              (I'm not currently active with ViperDrivers, but these guys are the best BMS school out there!)

              BMS Reshade Preset

              H 1 Reply Last reply Reply Quote 0
              • H
                Habu_ @Planehazza last edited by

                @Planehazza:

                Understood. I don’t use F9 or F12 or for anything other than TIR, as I use the default BMS - Full. I still don’t understand how the BMS callback works with regards to third party apps though? I get how you set that callback to a non shifted or shifted DX button, but the head tracking is not internal to BMS - so how does BMS then tell the TIR software to center?

                My understanding is that those 3rd party callbacks in BMS do nothing in BMS. They included in the BMS keyfile merely as a convenience to help avoid duplicate callback assgnments between BMS and the 3rd party software.

                Planehazza 1 Reply Last reply Reply Quote 0
                • Planehazza
                  Planehazza @Habu_ last edited by

                  @Habu_:

                  My understanding is that those 3rd party callbacks in BMS do nothing in BMS. They included in the BMS keyfile merely as a convenience to help avoid duplicate callback assgnments between BMS and the 3rd party software.

                  Yeah I get that. So how does the keystroke actually get executed? Does the callback in the keyfile output F9 etc?

                  Harry (Formerly Amraam at Frugals etc.)

                  (I'm not currently active with ViperDrivers, but these guys are the best BMS school out there!)

                  BMS Reshade Preset

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    Habu_ @Planehazza last edited by

                    @Planehazza:

                    Yeah I get that. So how does the keystroke actually get executed? Does the callback in the keyfile output F9 etc?

                    I think not. When you press a button on your SSC for, say, TIR Pause, TIR recognizes that hotkey keypress and executes the function. BMS and its keyfile are completely irrelevant to the process.

                    Planehazza 1 Reply Last reply Reply Quote 0
                    • Planehazza
                      Planehazza @Habu_ last edited by

                      @Habu_:

                      I think not. When you press a button on your SSC for, say, TIR Pause, TIR recognizes that hotkey keypress and executes the function. BMS and its keyfile are completely irrelevant to the process.

                      Yeah which is why I was saying to remove the callbacks from the shifted button and add keystrokes in via /I and /O modifiers in the .TMJ file, but unless I’ve misunderstood your first reply, I thought you were recommending against that?

                      Harry (Formerly Amraam at Frugals etc.)

                      (I'm not currently active with ViperDrivers, but these guys are the best BMS school out there!)

                      BMS Reshade Preset

                      1 Reply Last reply Reply Quote 0
                      • Darkman
                        Darkman last edited by

                        Looks good, though you might want to add the HOLD modifier /H for when you are holding DMS Up, for example LIT or SNAPLOOK, thus:

                        BTN H3U /I TIR_Pause
                                /O /H DX11
                        BTN H3D /I TIR_Recenter
                                /O /H DX13
                        
                        
                        Planehazza 1 Reply Last reply Reply Quote 0
                        • Planehazza
                          Planehazza @Darkman last edited by

                          @Darkman:

                          Looks good, though you might want to add the HOLD modifier /H for when you are holding DMS Up, for example LIT or SNAPLOOK, thus:

                          BTN H3U /I TIR_Pause
                                  /O /H DX11
                          BTN H3D /I TIR_Recenter
                                  /O /H DX13
                          
                          

                          Makes sense. I wrote that from memory at work, so I didn’t expect I’d get it right 😄

                          So as suggested above, I just need to assign SimDoNothing, or delete/comment out the shifted assignments on H3?

                          Or will view pan be automatically assigned to H3 shifted if I do that?

                          Harry (Formerly Amraam at Frugals etc.)

                          (I'm not currently active with ViperDrivers, but these guys are the best BMS school out there!)

                          BMS Reshade Preset

                          Darkman 1 Reply Last reply Reply Quote 0
                          • Darkman
                            Darkman @Planehazza last edited by

                            As you wrote in the original post: SimDoNothing.

                            Planehazza 1 Reply Last reply Reply Quote 0
                            • Planehazza
                              Planehazza @Darkman last edited by

                              All sorted 🙂 Thanks everyone.

                              Harry (Formerly Amraam at Frugals etc.)

                              (I'm not currently active with ViperDrivers, but these guys are the best BMS school out there!)

                              BMS Reshade Preset

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              70
                              Online

                              10.7k
                              Users

                              21.1k
                              Topics

                              349.3k
                              Posts

                              Benchmark Sims - All rights reserved ©