from __future__ import print_function # For py 2.7 compat
from IPython.html import widgets # Widget definitions
from IPython.display import display # Used to display widgets in the notebook
from IPython.utils.traitlets import Unicode # Used to declare attributes of our widget
from IPython.display import HTML, Javascript
from IPython.html.widgets.widget_bool import _BoolWidget
from IPython.html.widgets.widget_float import _FloatWidget
from IPython.utils.traitlets import CInt, CFloat, Unicode
from IPython.html.widgets.widget import DOMWidget
with open("static/gamepad.js") as f:
display(Javascript(f.read()))
class JoystickBoolWidget(_BoolWidget):
_view_name = Unicode('JoystickBoolView', sync=True)
button_id = CInt(0, help='button_id', sync=True)
class JoystickFloatWidget(DOMWidget):
_view_name = Unicode('JoystickFloatView', sync=True)
value = CFloat(0.0, help="Float value", sync=True)
axis_id = CInt(0, help='axis_id', sync=True)
description = Unicode('', help="Description of the float (label).", sync=True)
#NBINCLUDE_STOP
def bar(**kwargs):
print(kwargs)
widgets.interact(bar,
x=JoystickBoolWidget(description="x", button_id=1),
a=JoystickBoolWidget(description="a", button_id=0),
axis1=JoystickFloatWidget(description="axis 1", axis_id=1),
axis3=JoystickFloatWidget(description="axis 3", axis_id=3),
)
{u'a': False, u'x': False, u'axis 1': 0.0, u'axis 3': 0.0}
<function __main__.bar>
axis1=JoystickFloatWidget(description="axis 1", axis_id=1)
axis1
x=JoystickBoolWidget(description="x", button_id=1)
x
axis1