[EFL] Add Gamepad support
https://bugs.webkit.org/show_bug.cgi?id=90170
Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-01
Reviewed by Kenneth Rohde Christiansen.
.:
* Source/cmake/FindEFL.cmake: Bump EFL libs dependencies.
* Source/cmake/OptionsEfl.cmake: Turn on GAMEPAD flag on EFL port.
* Source/cmakeconfig.h.cmake: Add GAMEPAD flag to CMake.
Source/WebCore:
Add support for the Gamepad feature on the EFL port.
The implementation of this class relies on the Linux
kernel joystick API.
Gamepad devices are recognized through the GamepadsEfl
class, of which implementation is based on Eeze
library. This way devices are properly registered on
connection as objects of the GamepadDeviceEfl class
which inherits GamepadDeviceLinux. GamepadDeviceEfl
reads the joystick data through an Ecore_Fd_Handler
and updates the device state accordingly. The
GamepadsEfl object is then polled for gamepads data
through the sampleGamepads method.
No new tests - already tested by gamepad/*
* CMakeLists.txt:
* PlatformEfl.cmake:
* platform/efl/GamepadsEfl.cpp: Added.
(WebCore):
(GamepadDeviceEfl):
(WebCore::GamepadDeviceEfl::create):
(WebCore::GamepadDeviceEfl::GamepadDeviceEfl):
(WebCore::GamepadDeviceEfl::~GamepadDeviceEfl):
(WebCore::GamepadDeviceEfl::readCallback):
(GamepadsEfl):
(WebCore::GamepadsEfl::onGamePadChange):
(WebCore::GamepadsEfl::GamepadsEfl):
(WebCore::GamepadsEfl::~GamepadsEfl):
(WebCore::GamepadsEfl::registerDevice):
(WebCore::GamepadsEfl::unregisterDevice):
(WebCore::GamepadsEfl::updateGamepadList):
(WebCore::sampleGamepads):
Tools:
* Scripts/webkitperl/FeatureList.pm: Turn on GAMEPAD flag
by default for EFL port.
* efl/jhbuild.modules: Bump dependency versions of EFL libs
since the latest Eeze is required for gamepad support.
LayoutTests:
Unskip gamepad/gamepad-api.html now that Gamepad
support is enabled on EFL port.
gamepad/gamepad-polling-access.html is still
skipped because it requires additional test
infrastructure.
* platform/efl/Skipped:
* platform/efl/TestExpectations:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121657
268f45cc-cd09-0410-ab3c-
d52691b4dbfc