pub trait GamepadMethods<D: DomTypes> {
// Required methods
fn Id(&self) -> DOMString;
fn Index(&self) -> i32;
fn Connected(&self) -> bool;
fn Timestamp(&self) -> Finite<f64>;
fn Mapping(&self) -> DOMString;
fn Axes(&self, cx: SafeJSContext) -> Float64Array;
fn Buttons(&self) -> DomRoot<D::GamepadButtonList>;
fn VibrationActuator(&self) -> DomRoot<D::GamepadHapticActuator>;
fn Hand(&self) -> GamepadHand;
fn GetPose(&self) -> Option<DomRoot<D::GamepadPose>>;
}