My favorites | Sign in
Project Home Downloads Wiki Issues
New issue   Search
for
  Advanced search   Search tips
Issue 79050: Implement Gamepad API
24 people starred this issue and may be notified of changes. Back to list
 
Reported by project member erik...@chromium.org, Apr 11, 2011
To enable richer game development, we should expose USB joystick events to HTML.  This would apparently be enough to support the top gamepads/controllers on the PC.

(note: there's an existing feature request for this as  bug 51800  but it's a bit specific in terms of its implementation suggestions and has ventured a bit into other unrelated features.  feel free to dup as you see fit)

Comment 1 by sch...@chromium.org, Aug 1, 2011
(No comment was entered for this change.)
Blocking: 79098
Comment 2 by sch...@chromium.org, Aug 1, 2011
 Issue 51800  has been merged into this issue.
Comment 3 by sch...@chromium.org, Aug 1, 2011
(No comment was entered for this change.)
Status: Available
Owner: ---
Labels: Hotlist-ImportantForGames
Comment 4 by sch...@chromium.org, Aug 1, 2011
Relevant Mozilla issue: https://bugzilla.mozilla.org/show_bug.cgi?id=604039
Comment 5 by sethl...@chromium.org, Aug 2, 2011
(No comment was entered for this change.)
Labels: Mstone-17
Comment 6 by scot...@chromium.org, Sep 1, 2011
(No comment was entered for this change.)
Status: Started
Owner: scot...@chromium.org
Comment 7 by bugdro...@chromium.org, Oct 28, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=107753

------------------------------------------------------------------------
r107753 | scottmg@chromium.org | Fri Oct 28 11:15:36 PDT 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/renderer_host/browser_render_process_host.cc?r1=107753&r2=107752&pathrev=107753
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/public/common/content_switches.h?r1=107753&r2=107752&pathrev=107753
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/public/common/content_switches.cc?r1=107753&r2=107752&pathrev=107753

Add enable-gamepad to content switches

Part of larger patch here http://codereview.chromium.org/8345027/ which is
updated with remaining pieces.

BUG=79050
TEST=


Review URL: http://codereview.chromium.org/8413042
------------------------------------------------------------------------
Comment 8 by bugdro...@chromium.org, Oct 28, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=107765

------------------------------------------------------------------------
r107765 | scottmg@chromium.org | Fri Oct 28 11:42:42 PDT 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/common/content_message_generator.h?r1=107765&r2=107764&pathrev=107765
 M http://src.chromium.org/viewvc/chrome/trunk/src/ipc/ipc_message_utils.h?r1=107765&r2=107764&pathrev=107765
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gamepad_messages.h?r1=107765&r2=107764&pathrev=107765

Add gamepad IPC message definitions, not in-use yet.

Part of larger patch here http://codereview.chromium.org/8345027/ which is
updated with remaining pieces.

BUG=79050
TEST=


Review URL: http://codereview.chromium.org/8417034
------------------------------------------------------------------------
Comment 9 by bugdro...@chromium.org, Nov 14, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=109960

------------------------------------------------------------------------
r109960 | scottmg@chromium.org | Mon Nov 14 14:27:07 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/base/system_monitor/system_monitor.h?r1=109960&r2=109959&pathrev=109960
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/common/hi_res_timer_manager_win.cc?r1=109960&r2=109959&pathrev=109960
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_browser.gypi?r1=109960&r2=109959&pathrev=109960
 M http://src.chromium.org/viewvc/chrome/trunk/src/net/url_request/url_request_job.cc?r1=109960&r2=109959&pathrev=109960
 M http://src.chromium.org/viewvc/chrome/trunk/src/base/system_monitor/system_monitor.cc?r1=109960&r2=109959&pathrev=109960
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/system_message_window_win.cc?r1=109960&r2=109959&pathrev=109960
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/browser_main_loop.h?r1=109960&r2=109959&pathrev=109960
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/system_message_window_win.h?r1=109960&r2=109959&pathrev=109960
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/browser_main_loop.cc?r1=109960&r2=109959&pathrev=109960
 M http://src.chromium.org/viewvc/chrome/trunk/src/base/system_monitor/system_monitor_unittest.cc?r1=109960&r2=109959&pathrev=109960

Send WM_DEVICECHANGE message through SystemMonitor

WM_DEVICECHANGE is sent when there's been a change to devices or the computer;
specifically when a USB device is connected or disconnected. This is intended
for use in support of Gamepads for more performant polling and
connect/disconnect testing. Currently only on Windows, though seems reasonable
to add for other platforms in the future.

BUG=79050


Review URL: http://codereview.chromium.org/8523021
------------------------------------------------------------------------
Comment 10 by bugdro...@chromium.org, Nov 14, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=109979

------------------------------------------------------------------------
r109979 | kmadhusu@chromium.org | Mon Nov 14 15:49:03 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/base/system_monitor/system_monitor.h?r1=109979&r2=109978&pathrev=109979
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/common/hi_res_timer_manager_win.cc?r1=109979&r2=109978&pathrev=109979
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_browser.gypi?r1=109979&r2=109978&pathrev=109979
 M http://src.chromium.org/viewvc/chrome/trunk/src/net/url_request/url_request_job.cc?r1=109979&r2=109978&pathrev=109979
 M http://src.chromium.org/viewvc/chrome/trunk/src/base/system_monitor/system_monitor.cc?r1=109979&r2=109978&pathrev=109979
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/system_message_window_win.cc?r1=109979&r2=109978&pathrev=109979
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/browser_main_loop.h?r1=109979&r2=109978&pathrev=109979
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/system_message_window_win.h?r1=109979&r2=109978&pathrev=109979
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/browser_main_loop.cc?r1=109979&r2=109978&pathrev=109979
 M http://src.chromium.org/viewvc/chrome/trunk/src/base/system_monitor/system_monitor_unittest.cc?r1=109979&r2=109978&pathrev=109979

Revert 109960 - Send WM_DEVICECHANGE message through SystemMonitor

WM_DEVICECHANGE is sent when there's been a change to devices or the computer;
specifically when a USB device is connected or disconnected. This is intended
for use in support of Gamepads for more performant polling and
connect/disconnect testing. Currently only on Windows, though seems reasonable
to add for other platforms in the future.

BUG=79050


Review URL: http://codereview.chromium.org/8523021

TBR=scottmg@chromium.org
Review URL: http://codereview.chromium.org/8528044
------------------------------------------------------------------------
Comment 11 by bugdro...@chromium.org, Nov 14, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=110014

------------------------------------------------------------------------
r110014 | scottmg@chromium.org | Mon Nov 14 17:59:49 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/base/system_monitor/system_monitor.h?r1=110014&r2=110013&pathrev=110014
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/common/hi_res_timer_manager_win.cc?r1=110014&r2=110013&pathrev=110014
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_browser.gypi?r1=110014&r2=110013&pathrev=110014
 M http://src.chromium.org/viewvc/chrome/trunk/src/net/url_request/url_request_job.cc?r1=110014&r2=110013&pathrev=110014
 M http://src.chromium.org/viewvc/chrome/trunk/src/base/system_monitor/system_monitor.cc?r1=110014&r2=110013&pathrev=110014
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/system_message_window_win.cc?r1=110014&r2=110013&pathrev=110014
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/browser_main_loop.h?r1=110014&r2=110013&pathrev=110014
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/system_message_window_win.h?r1=110014&r2=110013&pathrev=110014
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/browser_main_loop.cc?r1=110014&r2=110013&pathrev=110014
 M http://src.chromium.org/viewvc/chrome/trunk/src/base/system_monitor/system_monitor_unittest.cc?r1=110014&r2=110013&pathrev=110014

Send WM_DEVICECHANGE message through SystemMonitor

WM_DEVICECHANGE is sent when there's been a change to devices or the computer;
specifically when a USB device is connected or disconnected. This is intended
for use in support of Gamepads for more performant polling and
connect/disconnect testing. Currently only on Windows, though seems reasonable
to add for other platforms in the future.

BUG=79050


Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=109960

Review URL: http://codereview.chromium.org/8523021
------------------------------------------------------------------------
Comment 12 by bugdro...@chromium.org, Nov 17, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=110519

------------------------------------------------------------------------
r110519 | scottmg@chromium.org | Thu Nov 17 09:44:48 PST 2011

Changed paths:
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gamepad_hardware_buffer.h?r1=110519&r2=110518&pathrev=110519
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gamepad_messages.h?r1=110519&r2=110518&pathrev=110519
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_common.gypi?r1=110519&r2=110518&pathrev=110519

Define/update structure and gamepad messages between renderer and browser.

Not in use yet, part of larger patch here:
http://codereview.chromium.org/8345027/

(WebKit must be rolled past r100306).

BUG=79050


Review URL: http://codereview.chromium.org/8570018
------------------------------------------------------------------------
Comment 14 by bugdro...@chromium.org, Nov 22, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=111189

------------------------------------------------------------------------
r111189 | scottmg@chromium.org | Tue Nov 22 11:10:40 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_browser.gypi?r1=111189&r2=111188&pathrev=111189
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider_unittest.cc?r1=111189&r2=111188&pathrev=111189
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_win.h?r1=111189&r2=111188&pathrev=111189
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider.h?r1=111189&r2=111188&pathrev=111189
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_tests.gypi?r1=111189&r2=111188&pathrev=111189
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher.h?r1=111189&r2=111188&pathrev=111189
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider.cc?r1=111189&r2=111188&pathrev=111189
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad?r1=111189&r2=111188&pathrev=111189
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_win.cc?r1=111189&r2=111188&pathrev=111189

Add gamepad hardware data fetcher, and higher level thread container

DataFetcher is the hardware and platform-specific data getter that talks to OS
level interfaces for each platform and fill in a structure provided to it.
Currently only Windows is here.

Provider is a manager for the background thread that the DataFetcher runs on,
and interacts with the rest of browser.

This is part of a larger patch, the remainder of which is at
http://codereview.chromium.org/8345027/

BUG=79050


Review URL: http://codereview.chromium.org/8568029
------------------------------------------------------------------------
Comment 15 by bugdro...@chromium.org, Nov 22, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=111222

------------------------------------------------------------------------
r111222 | dpranke@chromium.org | Tue Nov 22 13:44:02 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_browser.gypi?r1=111222&r2=111221&pathrev=111222
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_tests.gypi?r1=111222&r2=111221&pathrev=111222
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad?r1=111222&r2=111221&pathrev=111222

Revert 111189 - Add gamepad hardware data fetcher, and higher level thread container

DataFetcher is the hardware and platform-specific data getter that talks to OS
level interfaces for each platform and fill in a structure provided to it.
Currently only Windows is here.

Provider is a manager for the background thread that the DataFetcher runs on,
and interacts with the rest of browser.

This is part of a larger patch, the remainder of which is at
http://codereview.chromium.org/8345027/

BUG=79050


Review URL: http://codereview.chromium.org/8568029

TBR=scottmg@chromium.org
Review URL: http://codereview.chromium.org/8649003
------------------------------------------------------------------------
Comment 16 by bugdro...@chromium.org, Nov 22, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=111262

------------------------------------------------------------------------
r111262 | scottmg@chromium.org | Tue Nov 22 16:36:34 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/tools/valgrind/tsan/suppressions.txt?r1=111262&r2=111261&pathrev=111262

Add tsan suppression for gamepad unittest code

BUG=79050


Review URL: http://codereview.chromium.org/8637025
------------------------------------------------------------------------
Comment 17 by bugdro...@chromium.org, Nov 23, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=111456

------------------------------------------------------------------------
r111456 | scottmg@chromium.org | Wed Nov 23 16:57:54 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_browser.gypi?r1=111456&r2=111455&pathrev=111456
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider_unittest.cc?r1=111456&r2=111455&pathrev=111456
 M http://src.chromium.org/viewvc/chrome/trunk/src/build/common.gypi?r1=111456&r2=111455&pathrev=111456
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_win.h?r1=111456&r2=111455&pathrev=111456
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider.h?r1=111456&r2=111455&pathrev=111456
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_tests.gypi?r1=111456&r2=111455&pathrev=111456
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher.h?r1=111456&r2=111455&pathrev=111456
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider.cc?r1=111456&r2=111455&pathrev=111456
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad?r1=111456&r2=111455&pathrev=111456
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_win.cc?r1=111456&r2=111455&pathrev=111456

Add gamepad hardware data fetcher, and higher level thread container

DataFetcher is the hardware and platform-specific data getter that talks to OS
level interfaces for each platform and fill in a structure provided to it.
Currently only Windows is here.

Provider is a manager for the background thread that the DataFetcher runs on,
and interacts with the rest of browser.

This is part of a larger patch, the remainder of which is at
http://codereview.chromium.org/8345027/

BUG=79050


Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=111189

Review URL: http://codereview.chromium.org/8568029
------------------------------------------------------------------------
Comment 18 by bugdro...@chromium.org, Nov 24, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=111551

------------------------------------------------------------------------
r111551 | scottmg@chromium.org | Thu Nov 24 11:25:41 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider_unittest.cc?r1=111551&r2=111550&pathrev=111551

increase read contention count test

(going to commit this now so it's not failing over long weekend)

BUG=79050
TBR=thestig@chromium.org

Review URL: http://codereview.chromium.org/8678038
------------------------------------------------------------------------
Comment 19 by bugdro...@chromium.org, Nov 24, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=111562

------------------------------------------------------------------------
r111562 | scottmg@chromium.org | Thu Nov 24 15:20:51 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/about_flags.cc?r1=111562&r2=111561&pathrev=111562
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/app/generated_resources.grd?r1=111562&r2=111561&pathrev=111562

Add about:flags entry for enabling gamepad.

BUG=79050


Review URL: http://codereview.chromium.org/8679023
------------------------------------------------------------------------
Comment 20 by bugdro...@chromium.org, Nov 25, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=111581

------------------------------------------------------------------------
r111581 | timurrrr@chromium.org | Fri Nov 25 02:20:22 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/tools/valgrind/tsan/suppressions.txt?r1=111581&r2=111580&pathrev=111581

Widen one TSan suppression to make TSan/content greener
BUG=79050
TBR=thestig
Review URL: http://codereview.chromium.org/8703001
------------------------------------------------------------------------
Comment 21 by bugdro...@chromium.org, Nov 25, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=111624

------------------------------------------------------------------------
r111624 | scottmg@chromium.org | Fri Nov 25 17:58:57 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_browser.gypi?r1=111624&r2=111623&pathrev=111624
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/renderer_host/render_process_host_impl.cc?r1=111624&r2=111623&pathrev=111624
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/renderer_host/gamepad_browser_message_filter.cc?r1=111624&r2=111623&pathrev=111624
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/renderer_host/gamepad_browser_message_filter.h?r1=111624&r2=111623&pathrev=111624

Message receiver on browser side that holds/starts the gamepad data provider

Messages are already committed, and the patch that sends the messages from the
renderer side is here: http://codereview.chromium.org/8689011/ (at the top of
content/renderer/gamepad_util.cc)

re: AllowScopedIO in Stop(), I copied startup/shutdown from somewhere that I
didn't realize had that problem. Will follow up to figure out how to shut down
cleanly.

BUG=79050


Review URL: http://codereview.chromium.org/8689012
------------------------------------------------------------------------
Comment 22 by bugdro...@chromium.org, Nov 30, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=112301

------------------------------------------------------------------------
r112301 | scottmg@chromium.org | Wed Nov 30 13:51:36 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/renderer/render_thread_impl.cc?r1=112301&r2=112300&pathrev=112301

Pass gamepad enable switch through to WebKit

BUG=79050


Review URL: http://codereview.chromium.org/8724002
------------------------------------------------------------------------
Comment 23 by bugdro...@chromium.org, Nov 30, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=112345

------------------------------------------------------------------------
r112345 | scottmg@chromium.org | Wed Nov 30 16:01:38 PST 2011

Changed paths:
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/renderer/gamepad_shared_memory_reader.h?r1=112345&r2=112344&pathrev=112345
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_renderer.gypi?r1=112345&r2=112344&pathrev=112345
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider_unittest.cc?r1=112345&r2=112344&pathrev=112345
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/renderer/gamepad_shared_memory_reader.cc?r1=112345&r2=112344&pathrev=112345
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_win.h?r1=112345&r2=112344&pathrev=112345
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_tests.gypi?r1=112345&r2=112344&pathrev=112345
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider.h?r1=112345&r2=112344&pathrev=112345
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher.h?r1=112345&r2=112344&pathrev=112345
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/renderer_host/gamepad_browser_message_filter.cc?r1=112345&r2=112344&pathrev=112345
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gamepad_seqlock_unittest.cc?r1=112345&r2=112344&pathrev=112345
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gamepad_seqlock.h?r1=112345&r2=112344&pathrev=112345
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/renderer/renderer_webkitplatformsupport_impl.cc?r1=112345&r2=112344&pathrev=112345
 M http://src.chromium.org/viewvc/chrome/trunk/src/tools/valgrind/tsan/suppressions.txt?r1=112345&r2=112344&pathrev=112345
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gamepad_hardware_buffer.h?r1=112345&r2=112344&pathrev=112345
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/renderer/renderer_webkitplatformsupport_impl.h?r1=112345&r2=112344&pathrev=112345
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gamepad_seqlock.cc?r1=112345&r2=112344&pathrev=112345
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/renderer_host/gamepad_browser_message_filter.h?r1=112345&r2=112344&pathrev=112345
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_common.gypi?r1=112345&r2=112344&pathrev=112345
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider.cc?r1=112345&r2=112344&pathrev=112345
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_win.cc?r1=112345&r2=112344&pathrev=112345

Renderer reading side of gamepad

The is the glue code that reads from the shared memory buffer on the renderer
side. The writer is a background thread the browser. The data here is returned
back up into WebKit code via the Chromium port.

The writer on the browser side was in this patch:
http://codereview.chromium.org/8568029/

And the rest of the related gamepad changes are here:
http://codereview.chromium.org/8345027/

BUG=79050


Review URL: http://codereview.chromium.org/8689011
------------------------------------------------------------------------
Comment 24 by bugdro...@chromium.org, Nov 30, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=112398

------------------------------------------------------------------------
r112398 | scottmg@chromium.org | Wed Nov 30 20:29:55 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/common/gamepad_seqlock_unittest.cc?r1=112398&r2=112397&pathrev=112398

Reduce number of threads and number of iterations to avoid timeout on bot

BUG=79050
TBR=jam


Review URL: http://codereview.chromium.org/8758015
------------------------------------------------------------------------
Comment 25 by bugdro...@chromium.org, Dec 1, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=112638

------------------------------------------------------------------------
r112638 | scottmg@chromium.org | Thu Dec 01 20:41:24 PST 2011

Changed paths:
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_service.h?r1=112638&r2=112637&pathrev=112638
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_browser.gypi?r1=112638&r2=112637&pathrev=112638
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/renderer_host/render_process_host_impl.cc?r1=112638&r2=112637&pathrev=112638
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_service.cc?r1=112638&r2=112637&pathrev=112638
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider_unittest.cc?r1=112638&r2=112637&pathrev=112638
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider.h?r1=112638&r2=112637&pathrev=112638
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/renderer_host/gamepad_browser_message_filter.cc?r1=112638&r2=112637&pathrev=112638
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/renderer_host/gamepad_browser_message_filter.h?r1=112638&r2=112637&pathrev=112638
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider.cc?r1=112638&r2=112637&pathrev=112638

Add GamepadService, owns 1 gamepad bg thread

BUG=79050


Review URL: http://codereview.chromium.org/8760023
------------------------------------------------------------------------
Comment 26 by bugdro...@chromium.org, Dec 2, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=112812

------------------------------------------------------------------------
r112812 | scottmg@google.com | Fri Dec 02 15:13:22 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/tools/build/win/FILES.cfg?r1=112812&r2=112811&pathrev=112812
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/installer/mini_installer/chrome.release?r1=112812&r2=112811&pathrev=112812
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_common.gypi?r1=112812&r2=112811&pathrev=112812

Add xinput1_3.dll redist to final package.

Adds XInput redist DLL which is a new dependency of recently added gamepad code,
and is required on Win XP. laforge has OK'd the size addition to the final
package (~100K).

BUG=79050

Review URL: http://codereview.chromium.org/8774023
------------------------------------------------------------------------
Comment 27 by bugdro...@chromium.org, Dec 2, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=112859

------------------------------------------------------------------------
r112859 | thestig@chromium.org | Fri Dec 02 20:13:28 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/tools/build/win/FILES.cfg?r1=112859&r2=112858&pathrev=112859
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/installer/mini_installer/chrome.release?r1=112859&r2=112858&pathrev=112859
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_common.gypi?r1=112859&r2=112858&pathrev=112859

Revert 112812 - Add xinput1_3.dll redist to final package.

Adds XInput redist DLL which is a new dependency of recently added gamepad code,
and is required on Win XP. laforge has OK'd the size addition to the final
package (~100K).

BUG=79050

Review URL: http://codereview.chromium.org/8774023

TBR=scottmg@google.com
Review URL: http://codereview.chromium.org/8788009
------------------------------------------------------------------------
Comment 28 by bugdro...@chromium.org, Dec 5, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=113091

------------------------------------------------------------------------
r113091 | scottmg@chromium.org | Mon Dec 05 18:37:30 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/tools/checkbins/checkbins.py?r1=113091&r2=113090&pathrev=113091

Add xinput1_3.dll to checkbins' excluded_files

xinput1_3.dll is a Microsoft DirectX redist file. Unfortunately it's shipped
without /NXCOMPAT and /DYNAMICBASE.

This DLL is only be loaded when the user interacts with a gamepad.

BUG=79050

Review URL: http://codereview.chromium.org/8806020
------------------------------------------------------------------------
Comment 29 by bugdro...@chromium.org, Dec 6, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=113274

------------------------------------------------------------------------
r113274 | scottmg@google.com | Tue Dec 06 15:24:32 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/tools/build/win/FILES.cfg?r1=113274&r2=113273&pathrev=113274
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/installer/mini_installer/chrome.release?r1=113274&r2=113273&pathrev=113274
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_common.gypi?r1=113274&r2=113273&pathrev=113274

Add xinput1_3.dll redist to final package.

Adds XInput redist DLL which is a new dependency of recently added gamepad code,
and is required on Win XP. laforge has OK'd the size addition to the final
package (~100K).

BUG=79050

Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=112812

Review URL: http://codereview.chromium.org/8774023
------------------------------------------------------------------------
Comment 31 by wiltz...@chromium.org, Dec 15, 2011
(No comment was entered for this change.)
Labels: -Mstone-17 Mstone-18
Comment 32 by bugdro...@chromium.org, Dec 16, 2011
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=114905

------------------------------------------------------------------------
r114905 | scottmg@chromium.org | Fri Dec 16 19:36:32 PST 2011

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/build/install-build-deps.sh?r1=114905&r2=114904&pathrev=114905

Add libudev to install-build-deps.sh

BUG=79050


Review URL: http://codereview.chromium.org/8981007
------------------------------------------------------------------------
Comment 33 by ericbide...@chromium.org, Jan 4, 2012
(No comment was entered for this change.)
Summary: Implement Gamepad API
Comment 34 by bugdro...@chromium.org, Jan 6, 2012
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=116724

------------------------------------------------------------------------
r116724 | scottmg@google.com | Fri Jan 06 12:25:31 PST 2012

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/about_flags.cc?r1=116724&r2=116723&pathrev=116724
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_mac.mm?r1=116724&r2=116723&pathrev=116724 (from /trunk/src/content/browser/gamepad/data_fetcher_mac.mm revision 116722)
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_browser.gypi?r1=116724&r2=116723&pathrev=116724
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_mac.h?r1=116724&r2=116723&pathrev=116724 (from /trunk/src/content/browser/gamepad/data_fetcher_mac.h revision 116722)
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_win.h?r1=116724&r2=116723&pathrev=116724
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider.h?r1=116724&r2=116723&pathrev=116724
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_mac.mm?r1=116724&r2=116723&pathrev=116724
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_linux.h?r1=116724&r2=116723&pathrev=116724
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_standard_mappings_linux.cc?r1=116724&r2=116723&pathrev=116724
 M http://src.chromium.org/viewvc/chrome/trunk/src/build/linux/system.gyp?r1=116724&r2=116723&pathrev=116724
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_win.cc?r1=116724&r2=116723&pathrev=116724 (from /trunk/src/content/browser/gamepad/data_fetcher_win.cc revision 116722)
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_win.h?r1=116724&r2=116723&pathrev=116724 (from /trunk/src/content/browser/gamepad/data_fetcher_win.h revision 116722)
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_standard_mappings_linux.h?r1=116724&r2=116723&pathrev=116724
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher.h?r1=116724&r2=116723&pathrev=116724
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_linux.cc?r1=116724&r2=116723&pathrev=116724
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_mac.h?r1=116724&r2=116723&pathrev=116724
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider.cc?r1=116724&r2=116723&pathrev=116724
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_win.cc?r1=116724&r2=116723&pathrev=116724

Add gamepad data fetcher for Linux

BUG=79050

Review URL: http://codereview.chromium.org/8899017
------------------------------------------------------------------------
Comment 35 by bugdro...@chromium.org, Jan 6, 2012
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=116726

------------------------------------------------------------------------
r116726 | asvitkine@chromium.org | Fri Jan 06 12:34:35 PST 2012

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/about_flags.cc?r1=116726&r2=116725&pathrev=116726
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_mac.mm?r1=116726&r2=116725&pathrev=116726
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_browser.gypi?r1=116726&r2=116725&pathrev=116726
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_mac.h?r1=116726&r2=116725&pathrev=116726
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_win.h?r1=116726&r2=116725&pathrev=116726 (from /trunk/src/content/browser/gamepad/data_fetcher_win.h revision 116723)
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider.h?r1=116726&r2=116725&pathrev=116726
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_mac.mm?r1=116726&r2=116725&pathrev=116726 (from /trunk/src/content/browser/gamepad/data_fetcher_mac.mm revision 116723)
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_linux.h?r1=116726&r2=116725&pathrev=116726
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_standard_mappings_linux.cc?r1=116726&r2=116725&pathrev=116726
 M http://src.chromium.org/viewvc/chrome/trunk/src/build/linux/system.gyp?r1=116726&r2=116725&pathrev=116726
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_win.cc?r1=116726&r2=116725&pathrev=116726
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_win.h?r1=116726&r2=116725&pathrev=116726
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_standard_mappings_linux.h?r1=116726&r2=116725&pathrev=116726
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher.h?r1=116726&r2=116725&pathrev=116726
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_linux.cc?r1=116726&r2=116725&pathrev=116726
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_mac.h?r1=116726&r2=116725&pathrev=116726 (from /trunk/src/content/browser/gamepad/data_fetcher_mac.h revision 116723)
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider.cc?r1=116726&r2=116725&pathrev=116726
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_win.cc?r1=116726&r2=116725&pathrev=116726 (from /trunk/src/content/browser/gamepad/data_fetcher_win.cc revision 116723)

Revert 116724 - Add gamepad data fetcher for Linux

Broke ASAN builder:
http://build.chromium.org/p/chromium.memory/builders/ASAN%20Builder/builds/8480/steps/update/logs/stdio

BUG=79050

Review URL: http://codereview.chromium.org/8899017

TBR=scottmg@google.com
Review URL: http://codereview.chromium.org/9110039
------------------------------------------------------------------------
Comment 36 by scot...@google.com, Jan 6, 2012
(No comment was entered for this change.)
Blockedon: 108106
Comment 37 by bugdro...@chromium.org, Jan 6, 2012
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=116752

------------------------------------------------------------------------
r116752 | scottmg@google.com | Fri Jan 06 14:28:08 PST 2012

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/about_flags.cc?r1=116752&r2=116751&pathrev=116752
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_mac.mm?r1=116752&r2=116751&pathrev=116752 (from /trunk/src/content/browser/gamepad/data_fetcher_mac.mm revision 116750)
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_browser.gypi?r1=116752&r2=116751&pathrev=116752
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_mac.h?r1=116752&r2=116751&pathrev=116752 (from /trunk/src/content/browser/gamepad/data_fetcher_mac.h revision 116750)
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_win.h?r1=116752&r2=116751&pathrev=116752
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider.h?r1=116752&r2=116751&pathrev=116752
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_mac.mm?r1=116752&r2=116751&pathrev=116752
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_linux.h?r1=116752&r2=116751&pathrev=116752
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_standard_mappings_linux.cc?r1=116752&r2=116751&pathrev=116752
 M http://src.chromium.org/viewvc/chrome/trunk/src/build/linux/system.gyp?r1=116752&r2=116751&pathrev=116752
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_win.cc?r1=116752&r2=116751&pathrev=116752 (from /trunk/src/content/browser/gamepad/data_fetcher_win.cc revision 116750)
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_win.h?r1=116752&r2=116751&pathrev=116752 (from /trunk/src/content/browser/gamepad/data_fetcher_win.h revision 116750)
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_standard_mappings_linux.h?r1=116752&r2=116751&pathrev=116752
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher.h?r1=116752&r2=116751&pathrev=116752
 A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/platform_data_fetcher_linux.cc?r1=116752&r2=116751&pathrev=116752
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_mac.h?r1=116752&r2=116751&pathrev=116752
 M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/gamepad_provider.cc?r1=116752&r2=116751&pathrev=116752
 D http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gamepad/data_fetcher_win.cc?r1=116752&r2=116751&pathrev=116752

Add gamepad data fetcher for Linux

BUG=79050

Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=116724

Review URL: http://codereview.chromium.org/8899017
------------------------------------------------------------------------
Comment 38 by scot...@chromium.org, Jan 9, 2012
Implemented for Win/Mac/Linux (CrOS soon, once kernel config updated). Need more developer and user feedback before moving from behind about:flags.
Status: Fixed
Blockedon: -108106
Comment 39 by toni.ruo...@gmail.com, Jan 9, 2012
Could someone post a link to an html-page where this is supposed to work. I enabled the flag, but I have no idea what events to capture.
Comment 40 by scot...@chromium.org, Jan 9, 2012
#39, Attached a very simple text output test.
gamepad-simple.html
775 bytes   View   Download
Comment 41 by downch...@gmail.com, Jan 10, 2012
This code seems like it may be re-usable for issue #67163, supporting pen pressure events from a tablet.
Comment 42 by toni.ruo...@gmail.com, Jan 12, 2012
I'm running Chrome "18.0.1004.0 canary" on Windows 7 and I'm plugging in a Logitech RumblePad 2 USB. Nothing appears in navigator.webkitGamepads. It seems to be a special list with four slots. All of the slots remain undefined after plugging in the gamepad. I am able to verify with a separate app that the gamepad works.
Comment 43 by scot...@google.com, Jan 12, 2012
Currently, only devices that support the XInput API are supported. I don't believe the RumblePad 2 supports that API. I've opened http://code.google.com/p/chromium/issues/detail?id=110013.
Comment 44 by toni.ruo...@gmail.com, Jan 28, 2012
I got my Rumblepad working by using the Xbox 360 Emulation profile in Pinnacle Game Profiler.

Button8 as labelled in the html-page does not work. The broken button is labelled 9 on the physical thing, and I have verified with Logitech Profiler that the button should be working. Buttons 7 and 9 (physical 8 and 10) seem to work perfectly.

Also, the axisses do not go exactly from -1 to 1, but have some rounding errors in them, so some of them go a bit under or over. Also the middle position is not exactly 0. Not sure if this is a problem.

Everything else seems to work OK.
Comment 46 by cos...@gmail.com, Jan 31, 2012
I'm working on a HTML5 version of DDR (Dance Dance Revolution), and I'd like to use the Gamepad API to get input from real DDR pads (instead of the keyboard).

The DDR step scoring system (linked below) needs to decide whether a button press is within 15ms of the song beat, and I don't think the 16.6ms resolution given by requestAnimationFrame would do the trick. Any chance we can get some button press events with timing information?

Thank you very much!

DDR timing: http://www.ddrfreak.com/phpBB2/viewtopic.php?t=132451&sid=af54dcbbdc1ab6810ceb140734e6956c
Comment 47 by downch...@gmail.com, Jan 31, 2012
I hit a similar issue with pen input -- pen pressure and position information requires more than 60hz for high fidelity. I encourage the module authors to consider this in tandem. It's a very similar technical issue an will present a similar abstract problem solving technique.
Comment 48 by scot...@google.com, Feb 1, 2012
Input event timestamps are a good idea.

There is a timestamp field on the gamepad input, but it isn't very high resolution currently. That should be "upgraded" once we have a high-resolution timestamp that we can use across the whole browser. (see also issue #95738).

Additionally, because the main Gamepad API is polling based, it's possible that some inputs would be missed if they were read in rAF. The spec currently talks about an event-based model (i.e. "ongamepadchanged") but it hasn't been fully spec'd nor implemented. It seems like DDR would require that too.

Further complications:

- XInput on Windows is polling-based at the API level, so the accuracy of those timestamps may be limited any way in some cases.

- Chromium does not yet support DirectInput for legacy gamepad-ish devices (issue #110013), which I guess that a DDR pad probably would be. In theory XInput supports them too, but I'm not sure what device+driver availability is like.

@costan: if your game, or a representative timing test is available publically, it would be valuable to see how it "feels" with the API that's available currently.
Comment 49 by downch...@gmail.com, Feb 1, 2012
When Wacom plugged into Adobe Air for their pen events, they used a "penpressurechanged" event. That works pretty well. The alternative is to maintain a queue with timestamps, essentially a large block of binary data. That's done with some resource constrained devices; the scripting environment is passed an array buffer to work with, and the next queue builds at that point. I don't think that route is necessary. That one is super-high fidelity, and I don't have a use case for it. I just need high fidelity. penpressurechanged seems to work on that end. The author then buffers the events in their own array, and processes it during their rAF loop. PS: Please let me know if you're willing to work with Wacom to add pen pressure support. They've repeatedly reached out. It'd benefit Chrome OS.
Comment 50 by cos...@gmail.com, Feb 1, 2012
@scott: I will deploy the demo somewhere you can access it tonight.

I can use my DDR pad right now in Chrome on OSX! I'll try Linux tonight, and Windows as soon as I can find a Windows box.

As far as I know, USB controllers all work based on polling, so driver-supplied USB events have 1ms accuracy. I'd like that 1ms accuracy built into the browser, instead of me having to run a JavaScript loop that runs every ms, asides from the RAF loop that I'm already running.
Comment 51 by cos...@gmail.com, Feb 11, 2012
Sorry, I got preempted.

DDR demo: http://ddr-web.heroku.com
Source code: https://github.com/pwnall/ddr

The animations use SVG, not canvas, which works fairly well on OSX, but is a bit choppy on Linux.

I hope this helps!
Sign in to add a comment

Powered by Google Project Hosting