Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does right-clicking create an orange dot in the center of the circle?

Tags:

python

kivy

Why does the first widget example in kivy lead to an orange circle in the middle of the yellow one when you right click on the canvas and a pure yellow one when you left click?

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.graphics import Color, Ellipse

class MyPaintWidget(Widget):
    def on_touch_down(self, touch):
        with self.canvas:
            Color(1, 1, 0)
            d = 30.
            Ellipse(pos=(touch.x - d/2, touch.y - d/2), size=(d, d))


class MyPaintApp(App):
    def build(self):
        return MyPaintWidget()


if __name__ == '__main__':
    MyPaintApp().run()
like image 642
Terrence Brannon Avatar asked Oct 02 '12 14:10

Terrence Brannon


2 Answers

To disable multi-touch emulation, add this to your source file containing your main function, before any other kivy modules are imported:

from kivy.config import Config
Config.set('input', 'mouse', 'mouse,multitouch_on_demand')
like image 130
TimSC Avatar answered Nov 07 '22 21:11

TimSC


It's multitouch emulation, you can see how to disable it here

http://kivy.org/docs/api-kivy.input.providers.mouse.html

like image 14
Tshirtman Avatar answered Nov 07 '22 21:11

Tshirtman