Provide support to perform basic operations through gamepad on Android

28 views
Skip to first unread message

ssh...@nvidia.com

unread,
Feb 3, 2015, 3:20:02 AM2/3/15
to inpu...@chromium.org
On devices where external gamepads can be connected or devices like NVIDIA Shield where built-in gamepad is available, it is useful for users to have access to important apps like browser using gamepad.

I wish to propose scheme through which browser operations such as smooth scrolling, links navigation, following links, tab navigation, etc can be controlled through gamepad. We have already implemented such features on Android stock browser and chrome shell. We have made specification document to support proposal, please refer following document for more details. https://docs.google.com/document/d/1rUHKwLCCwJKnnVAFnFAm13uBAc2u2YfJGF36LdUSvyY/edit?usp=sharing

To accelerate things, I have created new issue on chromium project https://code.google.com/p/chromium/issues/detail?id=454355&thanks=454355&ts=1422880475

Please let me know your feedback on the proposal.

Regards,
Samir Shelke

Jared Duke

unread,
Feb 3, 2015, 11:15:20 AM2/3/15
to ssh...@nvidia.com, input-dev
Thanks Samir.

At a high level, the general proposal seems reasonable and should make a nice addition to Chrome. Looking forward to hammering out the details.

Alexandre Elias

unread,
Feb 3, 2015, 5:32:02 PM2/3/15
to Jared Duke, dmaz...@chromium.org, ssh...@nvidia.com, input-dev
The "links navigation" feature you describe is better known as "caret browsing".  This is somewhat complicated to do properly because there are a lot of corner cases.  Last I heard, code exists to do this in Blink, but it's unmaintained, buggy and not currently shipped anywhere.  [+dmazzoni] who mentioned on a thread 2 years ago he would start looking into it -- Dominic, what's the current status on it?

Alexandre Elias

unread,
Feb 3, 2015, 5:35:56 PM2/3/15
to Jared Duke, dmaz...@chromium.org, Ted Choc, dtra...@chromium.org, ssh...@nvidia.com, input-dev
Also [+cc dtrainor, tedchoc] who are Android tab switcher frontend owners on the proposed changes to tab switching.

Yufeng Shen

unread,
Feb 3, 2015, 5:37:18 PM2/3/15
to Alexandre Elias, Jared Duke, dmaz...@chromium.org, Ted Choc, dtra...@chromium.org, ssh...@nvidia.com, input-dev, Andrew de los Reyes
+ adlr

Dominic Mazzoni

unread,
Feb 4, 2015, 4:00:21 AM2/4/15
to Yufeng Shen, Alexandre Elias, Jared Duke, Ted Choc, David Trainor, ssh...@nvidia.com, input-dev, Andrew de los Reyes
Yeah, the caret browsing code is gnarly, it's basically the same as the contentEditable code which is known to be quite buggy. I tried fixing a handful of bugs and some fixes got reverted due to causing a regression not covered by a test. There's work underway to rewrite all of the text editing code, I'm hoping it will be easier to do then.

Another issue is that caret browsing can't jump in and out of frames, or focus form fields - so it's not a general solution for browsing the web with the keyboard.

In the meantime I released a pure-JS caret browsing extension:

Are you sure you don't just want "spatial navigation", though? That just lets you move between focusable elements in spatial directions (up, down, left, right) rather than in DOM order (next, previous). Blink supports these already - see: third_party/WebKit/public/platform/WebFocusType.h
Message has been deleted

samir...@gmail.com

unread,
Feb 4, 2015, 5:33:00 AM2/4/15
to inpu...@chromium.org, mil...@google.com, ael...@chromium.org, jdd...@chromium.org, ted...@chromium.org, dtra...@chromium.org, ssh...@nvidia.com, ad...@chromium.org, dmaz...@chromium.org
I am mainly concerned about spatial navigation and it is supported in chrome.Need to enable it through --enable-spatial-navigation.
Reply all
Reply to author
Forward
0 new messages