kivymouse

Kivy: Remove the red dot creation on right clic


When creating a kivy exe on Windows with Pyinstaller, I still have the right click creating red dot.

Why does right-clicking create an orange dot in the center of the circle? proposed to use this to remove this behavior.

from kivy.config import Config
Config.set('input', 'mouse', 'mouse,multitouch_on_demand')

But when I do, I can't scroll anymore on my page if I stay pressed on a widget. Isn't there something more precise like deactivate_red_dot rather than deactivated_multitouch which seems to have side effects ? Maybe a method of the Mouse() that we can override ?


Solution

  • venv/Lib/site_packages/kivy/input/providers/mouse.py

    Method on_mouse_press

    Replace

    do_graphics = (not self.disable_multitouch) and (
                    button != 'left' or 'ctrl' in modifiers)
    

    By do_graphics = False

    I'm not sure if I won't have others sides effects but that seems legit by the behavior I saw on the code.

    EDIT: Actually for my project, the bug with disable multitouchh was on android so I did:

    if isWindows():
        from kivy.config import Config
        Config.set('input', 'mouse', 'mouse,disable_multitouch')
    

    Good side, doesn't change fundamental library. Bad side, disabling multitouch could lead to others sneaky bugs.