0

Mouse x/y axis swap in portrait orientation of display

Hi,

we are having a problem controlling one of our presentations. The display is in portrait orientation. It isn't a touch screen. We have to use a USB mouse to control it. It's for wheelchair users who can't reach the big screen. The content (video, html) is rotated according to our needs (through presentation settings in BrightAuthor). But the mouse works as there was no rotation of display. Direction of cursor movement is perpendicular to what it should be.

Is there a parameter in config file or BrighAuthor that can be set to resolve this behavior? We use the latest BA and firmware. The player models used are HD1024 and XT1144.

Thanks

1 comment

  • 0
    Avatar
    Ken Campbell

    Josef,

    There doesn’t appear to be a setting in BrightAuthor to do this, however, there is a Brightscript method for the roTouchScreen object that looks relevant.

    I know you said you're not using a touch screen, but the ifTouchScreen interface seems to apply to both touch screen and mouse behaviour. 

    SetMouseRotation(rotation As Integer) As Boolean

    Transforms mouse-movement inputs to account for screen rotation. This method can accept the following integers:

    • 0: Inputs are unchanged (i.e. landscape orientation).
    • 1, 90: Rotated 90 degrees (i.e. clockwise portrait orientation).
    • 2, 180: Rotated 180 degrees.
    • 3, 270: Rotated 270 degrees (i.e. counter-clockwise portrait orientation).

    https://brightsign.atlassian.net/wiki/spaces/BSV61/pages/198905191/6.1-roTouchScreen#id-6.1-roTouchScreen-SetMouseRotation(rotationAsInteger)AsBoolean

     

    If you're feeling adventurous, just to see if this works without going through the process of writing a plugin for use with BrightAuthor, try the following.

    Use a spare flash card for testing, don't do this to your production card.

    1. Publish your presentation as normal using BrightAuthor to your test flash card.

    2. Using your file explorer/finder, browse the test flash card contents and open autorun.brs in a plain text editor. Ideally, a programmer's file editor, but notepad.exe will do in a pinch. It should be capable of saving as plain text, without adding any markup.

    3. Search for the following. There should only be one instance of this in the autorun.brs file:

    if type(m.touchScreen) <> "roTouchScreen" then
            m.touchScreen = CreateObject("roTouchScreen")

    4. Insert the following line immediately after the above:

            m.touchScreen.SetMouseRotation(1)

    5. Save the file back to your test card (ensuring it's saved as plain text) and exit your text editor. 

    6. Eject the test card and install it in your Brightsign, reboot, and see if the mouse rotation has changed.

    This is just a quick way to test whether it solves your problem, not a recommended way to deploy on a production unit, as every time you export your presentation you'd have to go through these steps again. If this does solve your problem, let me know and I can help you translate this to a Brightscript plugin.

     

Please sign in to leave a comment.