Table Of Contents
Input management¶
Our input system is wide and simple at the same time. We are currently able to natively support :
- Windows multitouch events (pencil and finger)
- OS X touchpads
- Linux multitouch events (kernel and mtdev)
- Linux wacom drivers (pencil and finger)
- TUIO
All the input management is configurable in the Kivy config
. You
can easily use many multitouch devices in one Kivy application.
When the events have been read from the devices, they are dispatched through a post processing module before being sent to your application. We also have several default modules for :
- Double tap detection
- Decreasing jittering
- Decreasing the inaccuracy of touch on “bad” DIY hardware
- Ignoring regions
-
class
kivy.input.
MotionEvent
(device, id, args)[ソース]¶ ベースクラス:
kivy.input.motionevent.MotionEvent
Abstract class that represents an input event (touch or non-touch).
Parameters: - id: str
unique ID of the MotionEvent
- args: list
list of parameters, passed to the depack() function
-
apply_transform_2d
(transform)[ソース]¶ Apply a transformation on x, y, z, px, py, pz, ox, oy, oz, dx, dy, dz
-
dpos
¶ Return delta between last position and current position, in the screen coordinate system (self.dx, self.dy)
-
grab
(class_instance, exclusive=False)[ソース]¶ Grab this motion event. You can grab a touch if you want to receive subsequent
on_touch_move()
andon_touch_up()
events, even if the touch is not dispatched by the parent:def on_touch_down(self, touch): touch.grab(self) def on_touch_move(self, touch): if touch.grab_current is self: # I received my grabbed touch else: # it's a normal touch def on_touch_up(self, touch): if touch.grab_current is self: # I receive my grabbed touch, I must ungrab it! touch.ungrab(self) else: # it's a normal touch pass
-
is_mouse_scrolling
¶ Returns True if the touch is a mousewheel scrolling
バージョン 1.6.0 で追加.
-
opos
¶ Return the initial position of the touch in the screen coordinate system (self.ox, self.oy)
-
ppos
¶ Return the previous position of the touch in the screen coordinate system (self.px, self.py)
-
scale_for_screen
(w, h, p=None, rotation=0, smode='None', kheight=0)[ソース]¶ Scale position for the screen
-
spos
¶ Return the position in the 0-1 coordinate system (self.sx, self.sy)
-
class
kivy.input.
MotionEventProvider
(device, args)[ソース]¶ ベースクラス:
builtins.object
Base class for a provider.
-
class
kivy.input.
MotionEventFactory
[ソース]¶ ベースクラス:
builtins.object
MotionEvent factory is a class that registers all availables input factories. If you create a new input factory, you need to register it here:
MotionEventFactory.register('myproviderid', MyInputProvider)
- Input Postprocessing
- Providers
- Android Joystick Input Provider
- Auto Create Input Provider Config Entry for Available MT Hardware (linux only).
- Common definitions for a Windows provider
- Leap Motion - finger only
- Mouse provider implementation
- Native support for HID input from the linux kernel
- Native support for Multitouch devices on Linux, using libmtdev.
- Native support of MultitouchSupport framework for MacBook (MaxOSX platform)
- Native support of Wacom tablet from linuxwacom driver
- Support for WM_PEN messages (Windows platform)
- Support for WM_TOUCH messages (Windows platform)
- TUIO Input Provider
- Android Joystick Input Provider
- Input recorder
- Motion Event
- Motion Event Factory
- Motion Event Provider
- Motion Event Shape