Skip to content

Conversation

@machenmusik
Copy link
Contributor

No description provided.

machenmusik added a commit to chenzlabs/aframe that referenced this pull request Dec 12, 2016
Copy link
Member

@dmarcos dmarcos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's external_controller01col.png?

Can we rename the files to oculus-touch-controller-right and oculus-touch-controller-left?

@machenmusik
Copy link
Contributor Author

those are the original OpenVR names, I did not want to change them for clarity

@machenmusik
Copy link
Contributor Author

the PNG file seems to be a texture file that is referenced when you load the obj and mtl files, but not sure how/if it is really used. if someone with more modeling expertise can take a look at the latest OpenVR files, that may be beneficial...

@dmarcos
Copy link
Member

dmarcos commented Dec 13, 2016

I think it's fine changing the file names. Have you tried those models with your oculus touch aframevr/aframe#2132?

@machenmusik
Copy link
Contributor Author

yes I did try the models. they work as well as the original @tbalouet page although it's just the controller model, no dynamic buttons etc. (which was known to be broken in the original page anyway)

@dmarcos dmarcos merged commit 45eed2e into aframevr:gh-pages Dec 13, 2016
@dmarcos
Copy link
Member

dmarcos commented Dec 13, 2016

Thanks!

machenmusik added a commit to chenzlabs/aframe that referenced this pull request Dec 17, 2016
machenmusik added a commit to chenzlabs/aframe that referenced this pull request Dec 17, 2016
…imations/poses

change processAnimation() to animate() and simplify flow,
and remove superfluous comment,
per discussion on aframevr#2132

system button never seen/sent; move menu button mapping
per discussion on aframevr#2132

change member idPrefix to const (and also model URLs)
per discussion on aframevr#2132

move model selection into addModel
per discussion on aframevr#2132

refactor to use utils function isControllerPresent
per discussion on aframevr#2132

emit hand events like original version did

original vive-specific events used gripclose/open, not gripup/down

remove tracked-controls dependency,
since that can apparently cause blank tracked-controls which won't work;
synthesize fake touch events for Oculus Touch trigger and grip,
since current browser builds appear to have them stuck touched;
make hand-controls process and use trigger and grip touches

refactor systems/tracked-controls so rebuildControllerList() is available outside tick;
explicitly rebuildControllerList if none in isControllerPresent() to avoid race
where gamepadconnected event triggers isControllerPresent() before tick rebuilds list

add support for Vive touchpad touchstart/end

remove enumerateControllers and change enumerateGamepads to getGamepadsByPrefix
per discussion on aframevr#2132

remove obsoleted lines
per discussion on aframevr#2132

use models from a-frame cdn
once aframevr/assets#4 is merged

remove obsoleted comment

various code cleanup as requested
per discussion on aframevr#2132

one more bit of cleanup
per discussion on aframevr#2132

another round of code cleanup
per discussion on aframevr#2132

accommodate renaming in aframevr/assets@66314f8

additional code cleanup
per discussion on aframevr#2132

clean up animation usage

remove oculus-touch namespace prefix from Oculus Touch-specific buttons/events

refactor into gestures with animation and legacy event mappings, and some cleanup
per discussion on aframevr#2132

for capacitive tracking, don't use menu button label, use B-or-Y,
since at some point we will hopefully get access to the true menu buttons

explicitly listen for A, B, X and Y touch events separately
(gesture handling still uses AorX and BorY internally)

remove A-or-X and B-or-Y event mapping

move persisting gesture and change detection into handleButton;
animateGesture and emitGestureEvents are now explicitly passed arguments

minor code cleanup
per discussion on aframevr#2132

one-liner cleanup

code cleanup as per discussion on aframevr#2132

code cleanup and fake touch simplification

whitespace cleanup
ngokevin pushed a commit to chenzlabs/aframe that referenced this pull request Dec 17, 2016
…imations/poses

change processAnimation() to animate() and simplify flow,
and remove superfluous comment,
per discussion on aframevr#2132

system button never seen/sent; move menu button mapping
per discussion on aframevr#2132

change member idPrefix to const (and also model URLs)
per discussion on aframevr#2132

move model selection into addModel
per discussion on aframevr#2132

refactor to use utils function isControllerPresent
per discussion on aframevr#2132

emit hand events like original version did

original vive-specific events used gripclose/open, not gripup/down

remove tracked-controls dependency,
since that can apparently cause blank tracked-controls which won't work;
synthesize fake touch events for Oculus Touch trigger and grip,
since current browser builds appear to have them stuck touched;
make hand-controls process and use trigger and grip touches

refactor systems/tracked-controls so rebuildControllerList() is available outside tick;
explicitly rebuildControllerList if none in isControllerPresent() to avoid race
where gamepadconnected event triggers isControllerPresent() before tick rebuilds list

add support for Vive touchpad touchstart/end

remove enumerateControllers and change enumerateGamepads to getGamepadsByPrefix
per discussion on aframevr#2132

remove obsoleted lines
per discussion on aframevr#2132

use models from a-frame cdn
once aframevr/assets#4 is merged

remove obsoleted comment

various code cleanup as requested
per discussion on aframevr#2132

one more bit of cleanup
per discussion on aframevr#2132

another round of code cleanup
per discussion on aframevr#2132

accommodate renaming in aframevr/assets@66314f8

additional code cleanup
per discussion on aframevr#2132

clean up animation usage

remove oculus-touch namespace prefix from Oculus Touch-specific buttons/events

refactor into gestures with animation and legacy event mappings, and some cleanup
per discussion on aframevr#2132

for capacitive tracking, don't use menu button label, use B-or-Y,
since at some point we will hopefully get access to the true menu buttons

explicitly listen for A, B, X and Y touch events separately
(gesture handling still uses AorX and BorY internally)

remove A-or-X and B-or-Y event mapping

move persisting gesture and change detection into handleButton;
animateGesture and emitGestureEvents are now explicitly passed arguments

minor code cleanup
per discussion on aframevr#2132

one-liner cleanup

code cleanup as per discussion on aframevr#2132

code cleanup and fake touch simplification

whitespace cleanup
ngokevin pushed a commit to chenzlabs/aframe that referenced this pull request Dec 17, 2016
…imations/poses

change processAnimation() to animate() and simplify flow,
and remove superfluous comment,
per discussion on aframevr#2132

system button never seen/sent; move menu button mapping
per discussion on aframevr#2132

change member idPrefix to const (and also model URLs)
per discussion on aframevr#2132

move model selection into addModel
per discussion on aframevr#2132

refactor to use utils function isControllerPresent
per discussion on aframevr#2132

emit hand events like original version did

original vive-specific events used gripclose/open, not gripup/down

remove tracked-controls dependency,
since that can apparently cause blank tracked-controls which won't work;
synthesize fake touch events for Oculus Touch trigger and grip,
since current browser builds appear to have them stuck touched;
make hand-controls process and use trigger and grip touches

refactor systems/tracked-controls so rebuildControllerList() is available outside tick;
explicitly rebuildControllerList if none in isControllerPresent() to avoid race
where gamepadconnected event triggers isControllerPresent() before tick rebuilds list

add support for Vive touchpad touchstart/end

remove enumerateControllers and change enumerateGamepads to getGamepadsByPrefix
per discussion on aframevr#2132

remove obsoleted lines
per discussion on aframevr#2132

use models from a-frame cdn
once aframevr/assets#4 is merged

remove obsoleted comment

various code cleanup as requested
per discussion on aframevr#2132

one more bit of cleanup
per discussion on aframevr#2132

another round of code cleanup
per discussion on aframevr#2132

accommodate renaming in aframevr/assets@66314f8

additional code cleanup
per discussion on aframevr#2132

clean up animation usage

remove oculus-touch namespace prefix from Oculus Touch-specific buttons/events

refactor into gestures with animation and legacy event mappings, and some cleanup
per discussion on aframevr#2132

for capacitive tracking, don't use menu button label, use B-or-Y,
since at some point we will hopefully get access to the true menu buttons

explicitly listen for A, B, X and Y touch events separately
(gesture handling still uses AorX and BorY internally)

remove A-or-X and B-or-Y event mapping

move persisting gesture and change detection into handleButton;
animateGesture and emitGestureEvents are now explicitly passed arguments

minor code cleanup
per discussion on aframevr#2132

one-liner cleanup

code cleanup as per discussion on aframevr#2132

code cleanup and fake touch simplification

whitespace cleanup
dmarcos pushed a commit to aframevr/aframe that referenced this pull request Dec 17, 2016
* use Oculus Touch support in Chromium builds using vive-controls and tracked-controls

fixes to make Vive work as expected (including hand model rotation)

fix various verification issues (whitespace, quotes, eqeqeq)

first pass at hand controls refactor

refactor working with Touch

better explanatory comments; renamed modeled-controllers to auto-detect-controllers for clarity
FIXME: need models for Oculus Touch

fix lint issues that local git commit hook didn't flag

automated tests fail unless tracked-controls id default is 'OpenVR Gamepad' :-/

since each hand named differently, avoid enumeration

limit controller list rebuilds to roughly 1 second intervals

show that multiple specification works as well as auto-detection

allow multiple specification
- don't inject tracked-controls if controller not in getGamepads()
- don't attach listeners unless controller present
- poll for presence at roughly 1 second intervals if no gamepad connection events received

per discussion on #2132
remove auto-detect-controllers from core for now
(it can be used as external component)

per discussion on #2132
remove auto-detect-controllers from core for now
(it can be used as external component)

per discussion on #2132
tidy up and move enumerateGamepads into utils

per further discussion on #2132
change name of Touch thumbstick events and prepare for multiple-event button mappings

introduce namespaced vendor-specific events, and hand-specific mappings
(since button names differ between hands)

per discussion on #2132
use a common controlConfiguration object

change start/stopListening to add/removeEventListeners
per discussion on #2132 (review)

emit event others can listen for on tick

use controller list built by system tick rather than re-enumerating

instead of having another tick method, listen for system tick

distinguish between enumerateGamepads and enumerateControllers
- enumerateGamepads interrogates gamepad API
- enumerateControllers uses system tick-generated controller list

loosen throttle on tick since pose updates at that frequency

for consistency with vive-controls, default rotationOffset to 0;
where hand rotation is necessary, do it there (e.g. hand-controls)

make removeTrackedControlsTickListener accessible

ignore undefined button mapping

ignore undefined buttonMeshes

bind this pointer for gamepad event handlers

* updated to use models from @tbalouet

fix regression that broke rotationOffset

support surface button

* use new oculus touch compatible hand models; TODO: emit events for animations/poses

change processAnimation() to animate() and simplify flow,
and remove superfluous comment,
per discussion on #2132

system button never seen/sent; move menu button mapping
per discussion on #2132

change member idPrefix to const (and also model URLs)
per discussion on #2132

move model selection into addModel
per discussion on #2132

refactor to use utils function isControllerPresent
per discussion on #2132

emit hand events like original version did

original vive-specific events used gripclose/open, not gripup/down

remove tracked-controls dependency,
since that can apparently cause blank tracked-controls which won't work;
synthesize fake touch events for Oculus Touch trigger and grip,
since current browser builds appear to have them stuck touched;
make hand-controls process and use trigger and grip touches

refactor systems/tracked-controls so rebuildControllerList() is available outside tick;
explicitly rebuildControllerList if none in isControllerPresent() to avoid race
where gamepadconnected event triggers isControllerPresent() before tick rebuilds list

add support for Vive touchpad touchstart/end

remove enumerateControllers and change enumerateGamepads to getGamepadsByPrefix
per discussion on #2132

remove obsoleted lines
per discussion on #2132

use models from a-frame cdn
once aframevr/assets#4 is merged

remove obsoleted comment

various code cleanup as requested
per discussion on #2132

one more bit of cleanup
per discussion on #2132

another round of code cleanup
per discussion on #2132

accommodate renaming in aframevr/assets@66314f8

additional code cleanup
per discussion on #2132

clean up animation usage

remove oculus-touch namespace prefix from Oculus Touch-specific buttons/events

refactor into gestures with animation and legacy event mappings, and some cleanup
per discussion on #2132

for capacitive tracking, don't use menu button label, use B-or-Y,
since at some point we will hopefully get access to the true menu buttons

explicitly listen for A, B, X and Y touch events separately
(gesture handling still uses AorX and BorY internally)

remove A-or-X and B-or-Y event mapping

move persisting gesture and change detection into handleButton;
animateGesture and emitGestureEvents are now explicitly passed arguments

minor code cleanup
per discussion on #2132

one-liner cleanup

code cleanup as per discussion on #2132

code cleanup and fake touch simplification

whitespace cleanup

* disable unhooking on gamepad connected/disconnected events for now, as it is causing issues with Nightly

added comment on Nightly workaround
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants