Comments (6)
This is probably because the key codes for gamepad are slightly different than the key codes for other keys like enter.
On Xbox, if you have a normal button, does the gamepadA key trigger a button click?
from tvhelpers.
The key code for the "A" button is 195 and this does cause the DirectionalNavigation code to successfully call "e.srcElement.click()" within the _handleKeyUpEvent() function.
It only seems to be the ListView tiles. The Hub headers trigger an invoke handler when I press the gamepadA key. Other buttons trigger their invoke handler when the gamepadA key is pressed.
from tvhelpers.
I see. Unfortunately the ListView is "special". What's likely going on is the ListView is either preventing the default click action or suppressing the input in some other way. It's very unfortunate. I'm not sure if there's a workaround other than disabling that code in the WinJS source.
from tvhelpers.
that's weird that on a PC, no suppression is going on when I press the "ENTER" button.
from tvhelpers.
Yes, that's probably because the ListView will explicitly check for the enter key, but not the gamepad keys (XboxJS checked the gamepad keys), but WinJS 1.0 - WinJS 4.0 did not.
I'd suggest adding the gamepad keys to the ListView where the Enter keys are handled. I'll probably be able to get an example together later today.
from tvhelpers.
Here's where we modified the ListView code for XboxJS:
You can add additional lines like the existing ones for the arrow keys, except add the gamepad keycodes.
function createArrowHandler(direction, clampToBounds) {
var handler = function (oldFocus) {
return modeSite._view.getAdjacent(oldFocus, direction);
};
handler.clampToBounds = clampToBounds;
return handler;
}
var Key = _ElementUtilities.Key;
this._keyboardNavigationHandlers[Key.upArrow] = createArrowHandler(Key.upArrow);
this._keyboardNavigationHandlers[Key.downArrow] = createArrowHandler(Key.downArrow);
this._keyboardNavigationHandlers[Key.leftArrow] = createArrowHandler(Key.leftArrow);
this._keyboardNavigationHandlers[Key.rightArrow] = createArrowHandler(Key.rightArrow);
from tvhelpers.
Related Issues (20)
- Browser hang with DirectionalNavigation and WinJS Menu HOT 3
- Focus management thinking around WinJS controls? (Pivot) HOT 2
- TVJS mediaplayer and the directional navigation JS doesnt work simultaneously. HOT 3
- Xbox Cursor not being hidden after application starts HOT 4
- mouse pointer doesn't disappear
- Xbox cursor appears when calling keyboard and never disappears again HOT 4
- only timeline shows when pressing button (xbox) HOT 4
- MediaPlayer/Edge possible memory leak when streaming HLS HOT 4
- Question regarding DirectionalNav and initial focus. HOT 4
- I can't get closed captions to work in the TVJS player... cc708. Any ideas?
- After pressing Xbox button, cannot interact with app anymore HOT 4
- DirectionalNavigation does intercept first keyPress on input fields HOT 1
- directionalNavigation loses focus loss when in UWP/XAML WebView HOT 2
- press 'A' button on xbox console Edge browser doesnt trigger anything HOT 1
- can't disable directionalNavigation on xbox UWP
- Improving performance / API for directional navigation
- Cannot focus some elements in Vue.js app on Xbox
- Consider making this a npm package
- This repo is missing a LICENSE file
- This repo is missing important files HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tvhelpers.