No internet connection
  1. Home
  2. Technical Support

Mouse movement in Windows 98 SE at one-half of actual movement

By @astigmatism
    2022-08-01 02:18:28.702Z

    Mouse position is correct at the top-left corner of the virtual desktop. As I move the mouse to the bottom-right, the cursor on the host machine moves half the distance. By the time I have reached the bottom-right corner, the host cursor is thusly in the middle of the desktop region. I have noted that this issue is present on all desktop resolutions.

    I am hoping this could be a software fix :) Thanks!

    Three images showing mouse movement from top-left to bottom-right and the position of the cursor on host machine:

    • 11 replies
    1. Thanks for reporting this and for the nostalgia!

      This is a software issue, but unfortunately it's not a trivial one. We need a Win98 test system and then figure out how to create a new custom HID descriptor for Win98, so it's not something we'll be able to offer in the short term.

      If this breaks the use-case you had in mind for your TinyPilot, email us at, and we'll figure out a resolution for you.

      1. X
        In reply toastigmatism:
          2022-10-17 22:55:49.504Z

          I am having a similar issue. I attached my TinyPilot to a NVR made by Hikvision, and the mouse can only reach about half the x and y coordinates.

          I wonder if there's a line of code somewhere that I simply need to add an offset and a multiplier to on the X and Y axis... Without this the KVM really doesn't work well for my particular (I understand it's unusual) use-case.

          1. David @david2022-10-18 09:28:26.131Z2022-10-18 13:22:43.773Z

            Hi @x00, sorry that you're running into mouse issues with your NVR.

            Unfortunately, there isn't a setting that you can change to add an offset multiplier for the mouse. But you're welcome to try editing the _scale_mouse_coordinates function in the /opt/tinypilot/app/hid/ file on your device with multipliers. But I should note that any changes to the file will be overwritten if you update your TinyPilot's software.

            We actually saw this issue pretty recently on a different brand of NVR, so I created a GitHub issue to try and develop a user-friendly fix for it.

            If you don't mind, would you be able to share your TinyPilot's log? On the TinyPilot web interface, navigate to System > Logs and then click Get Shareable URL. That will create a link that you can share here.

            1. In reply tox00:
              David @david2022-10-18 13:45:22.457Z

              Hi @x00, I made a mistake in my original response about the ability to edit the code with multipliers, sorry about that. I've updated my original reply with the correct info.

              Hope that helps!

              1. X@x00
                  2022-10-18 17:04:37.709Z

                  Hi David,

                  Thanks so much for the reply.. what part of the log would you like? There's some sensitive stuff in there so prefer not posting it all publicly.

                  1. David @david2022-10-19 11:05:22.351Z

                    I'm mostly interested about the software version number, the uStreamer service settings, and the uStreamer logs. I understand that you have some sensitive data in there, so you're more than welcome not to post any parts of the log that you don't want to share.

                    1. X@x00
                        2022-10-19 20:21:47.764Z2022-10-19 23:46:57.518Z
                        TinyPilot Pro log dump
                        Timestamp: 2022-10-19T20:33:01+01:00
                        Software versions
                        TinyPilot version: 2.4.0 5d3769f
                        uStreamer version: v3.26 a97f08e
                        OS version: Linux tinypilot 5.10.103-v7l+ #1529 SMP Tue Mar 8 12:24:00 GMT 2022 armv7l GNU/Linux
                        TinyPilot state
                        voltage logs
                        TinyPilot configuration
                        Description=TinyPilot - RPi-based virtual KVM
                        [ .......... ]
                        uStreamer configuration
                        Description=uStreamer - Lightweight, optimized video encoder
                        ExecStart=/opt/ustreamer/ustreamer \
                          --host \
                          --port 8001 \
                          --encoder omx \
                          --format uyvy \
                          --workers 3 \
                          --drop-same-frames 30 \
                          --persistent \
                          --dv-timings \
                          && :
                        # This last line is just to end the multi-line command because the line
                        # before is ending with backslash and so expects to be continued.
                        1. David @david2022-10-20 11:19:10.668Z

                          Awesome, thanks! Could you tell me what resolution your NVR is outputting at too? You log should contain a line like:

                          Using resolution: 1280x720


                          Got new DV-timings: 1280x720p60.00, ...
                          1. In reply tox00:
                              2022-10-24 23:42:44.314Z

                              Sorry for the delay..

                              uStreamer logs
                              Aug 20 01:37:58 tinypilot ustreamer[606]: -- INFO  [30061.788    stream] -- Got new DV timings: resolution=1280x1024, pixclk=107964480
                              Aug 20 01:37:58 tinypilot ustreamer[606]: -- INFO  [30061.812    stream] -- Using resolution: 1280x1024
                              Aug 20 01:37:58 tinypilot ustreamer[606]: -- INFO  [30061.813    stream] -- Using pixelformat: UYVY
                              Aug 20 01:37:58 tinypilot ustreamer[606]: -- INFO  [30061.813    stream] -- Querying HW FPS changing is not supported
                              Aug 20 01:37:58 tinypilot ustreamer[606]: -- INFO  [30061.814    stream] -- Using IO method: MMAP
                              Aug 20 01:37:58 tinypilot ustreamer[606]: -- INFO  [30061.830    stream] -- Requested 5 device buffers, got 5
                              Aug 20 01:37:58 tinypilot ustreamer[606]: -- INFO  [30061.839    stream] -- Capturing started
                              Aug 20 01:37:58 tinypilot ustreamer[606]: -- INFO  [30061.840    stream] -- Using JPEG quality: 80%
                              Aug 20 01:37:58 tinypilot ustreamer[606]: -- INFO  [30061.840    stream] -- Creating pool JPEG with 3 workers ...
                      • In reply tox00:
                          2022-10-19 20:54:09.272Z

                          Hi, x00. I'm the other user with an NVR having the mapping issues with my mouse. My NVR is from Reolink. I was wondering if you are using HDMI out on your Hikvision NVR. Are you able to get 1080p output? I had to reduce to 720p on the NVR to get it to display on TinyPilot's end.

                          1. J@justcarver
                              2022-10-19 20:56:26.642Z

                              I wonder if you're attempting the same thing I am. I'd rather get local display access to the NVR's 16 camera feeds and send 1 datastream over the internet to monitor our warehouse than try to send all 16 feeds over the internet.