RmlInputHandler

class RmlInputHandler

Bases: DataNode

DataNode that listens for keyboard, mouse and touch events and passes them to RmlUi. Attach to the scene graph below mouseWatcher.

On a touch screen, a press of the finger that drives the window’s pointer becomes an RmlUi touch: a tap clicks where it lands, a drag scrolls the scrollable element under it (with RmlUi’s inertia), and no hover state is left behind when the finger lifts. Other fingers are ignored while one is down.

Gamepad navigation is opt-in: add_gamepad() (or set_gamepad_navigation() for gamepad buttons arriving through the data graph or button_down()) lets the D-pad and left stick move the focus, A activate, B send Escape and the shoulder buttons step through the tab order.

The button_down(), pointer_move(), touch_start() and related methods feed synthetic input, in window pixel coordinates, for an application that routes input to the interface itself.

Inheritance diagram

digraph inheritancef7b058b489 { bgcolor=transparent; rankdir=BT; size="8.0, 12.0"; "AcronNode" [URL="acron.core.AcronNode.html#acron.core.AcronNode",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedWritableReferenceCount" -> "AcronNode" [arrowsize=0.75,style=""]; "Namable" -> "AcronNode" [arrowsize=0.75,style=""]; "DTOOL_SUPER_BASE" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style=""]; "DataNode" [URL="acron.core.DataNode.html#acron.core.DataNode",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "AcronNode" -> "DataNode" [arrowsize=0.75,style=""]; "Namable" [URL="acron.core.Namable.html#acron.core.Namable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "Namable" [arrowsize=0.75,style=""]; "ReferenceCount" [URL="acron.core.ReferenceCount.html#acron.core.ReferenceCount",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "ReferenceCount" [arrowsize=0.75,style=""]; "RmlInputHandler" [URL="acron.rmlui.RmlInputHandler.html#acron.rmlui.RmlInputHandler",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DataNode" -> "RmlInputHandler" [arrowsize=0.75,style=""]; "TypedObject" [URL="acron.core.TypedObject.html#acron.core.TypedObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "TypedObject" [arrowsize=0.75,style=""]; "TypedWritable" [URL="acron.core.TypedWritable.html#acron.core.TypedWritable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedObject" -> "TypedWritable" [arrowsize=0.75,style=""]; "TypedWritableReferenceCount" [URL="acron.core.TypedWritableReferenceCount.html#acron.core.TypedWritableReferenceCount",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedWritable" -> "TypedWritableReferenceCount" [arrowsize=0.75,style=""]; "ReferenceCount" -> "TypedWritableReferenceCount" [arrowsize=0.75,style=""]; }
RmlInputHandler.__init__()
RmlInputHandler.add_gamepad()
RmlInputHandler.button_down()
RmlInputHandler.button_up()
RmlInputHandler.clear_gamepads()
static RmlInputHandler.get_class_type()
RmlInputHandler.get_gamepad()
RmlInputHandler.get_gamepad_navigation()
RmlInputHandler.get_nav_repeat_delay()
RmlInputHandler.get_nav_repeat_interval()
RmlInputHandler.get_num_gamepads()
static RmlInputHandler.get_rml_key()
RmlInputHandler.is_touch_active()
RmlInputHandler.keystroke()
RmlInputHandler.pointer_leave()
RmlInputHandler.pointer_move()

Synthetic input, in window pixel coordinates.

RmlInputHandler.remove_gamepad()
RmlInputHandler.set_gamepad_navigation()

Gamepad navigation.

Gamepad navigation.

RmlInputHandler.set_nav_repeat()
RmlInputHandler.touch_cancel()
RmlInputHandler.touch_end()
RmlInputHandler.touch_move()
RmlInputHandler.touch_start()
RmlInputHandler.wheel()