# Class e.c.c.i.PushInputProvider(InputProvider):

Part of elisa.core.components.input_provider View In Hierarchy

Known subclasses: elisa.core.tests.test_input_provider.MousePushInputProvider, elisa.plugins.base.input_providers.raw_input.RawInput, elisa.plugins.bluetooth.bluetooth_input.BluetoothInput, elisa.plugins.lirc.lirc_input.LircInput, elisa.plugins.pigment.pigment_input.PigmentInput, elisa.plugins.testing.automated_input.AutomatedInput, elisa.plugins.winremote.streamzap_input.StreamzapInput

InputProvider that will be able to push InputEvents directly to the InputManager by method calls (input_manager.process_event). This class should be used to support input devices that can't be polled for events.

Instance Variables | input_manager | the InputManager the Provider is registered with (type: `elisa.core.input_manager.InputManager` )

Line # | Kind | Name | Docs
--- | --- | --- | ---
73 | Method | clean | Additional cleanups to default Component's cleanup:
80 | Method | bind | Subscribe to the input device
92 | Method | unbind | Unsubscribe from the input device

Inherited from InputProvider:

Line # | Kind | Name | Docs
--- | --- | --- | ---
35 | Method | create_input_event | Translate external input data to an InputEvent object,

Inherited from Component (via InputProvider):

Line # | Kind | Name | Docs
--- | --- | --- | ---
85 | Class | PathDescriptor | Undocumented
97 | Class Method | create | Create and initialize the component.
130 | Method | initialize | Initialize the component.

Inherited from Loggable (via InputProvider, Component):

Line # | Kind | Name | Docs
--- | --- | --- | ---
81 | Method | __init__ | Undocumented

def clean(self):
overrides elisa.core.component.Component.clean
Additional cleanups to default Component's cleanup: disconnect our handlers from external component signals.

def bind(self):
overridden in elisa.core.tests.test_input_provider.MousePushInputProvider, elisa.plugins.base.input_providers.raw_input.RawInput, elisa.plugins.bluetooth.bluetooth_input.BluetoothInput, elisa.plugins.pigment.pigment_input.PigmentInput, elisa.plugins.testing.automated_input.AutomatedInput

Subscribe to the input device

This can be done by connecting external component signals to our handlers or register a local callback that will be called by the external component when it receives an input event.

This method must be overriden by implementation because it's totally dependent on the infrastructure used by the input device the component supports.

def unbind(self):
overridden in elisa.core.tests.test_input_provider.MousePushInputProvider, elisa.plugins.base.input_providers.raw_input.RawInput, elisa.plugins.bluetooth.bluetooth_input.BluetoothInput, elisa.plugins.pigment.pigment_input.PigmentInput, elisa.plugins.testing.automated_input.AutomatedInput, elisa.plugins.winremote.streamzap_input.StreamzapInput

Unsubscribe from the input device

This can be done by disconnecting our handlers from the external component signals or unregistering the local callback previously registered by the register() method.

This method must be overriden by implementation because it's totally dependent on the infrastructure used by the input device the component supports.