Comments (5)
@arthurmougin I agree it would be useful to use two hands. We have to juggle other priorities and we have no time to address this at the moment. We will be more than happy to take PRs if you have bandwidth. Thanks folks.
from aframe-super-keyboard.
Same request, it is needed for VR use.
@dmarcos @ngokevin can you please have a look to this issue ?
Thank you in advance for your time !
from aframe-super-keyboard.
Depending on your use case you can put the keyboard on the left controller, I find moving the keyboard easier / more natural...
<a-entity id="myRig">
<a-entity id="leftHand" laser-controls="hand: left">
<a-entity id="keyboard" super-keyboard="hand: #rightHand; imagePath:../../dist/" position="0 0.1 0" rotation="-90 0 0" scale="0.2 0.2 0.2"></a-entity>
</a-entity>
<a-entity id="rightHand" laser-controls="hand: right"></a-entity>
<a-entity id="head" camera wasd-controls look-controls position="0 1.6 0"></a-entity>
</a-entity>
from aframe-super-keyboard.
Hoo not bad indeed! I am concern about accessibility though. It require to have 2 tracked controllers while most 3dof VR headsets don't have that :/
Plus, I am also focused on ergonomic and productivity and requiring only one typing hand make it slow..
from aframe-super-keyboard.
I don't have the time to make this change, but here are some thoughts on how to do it, if you want to, @arthurmougin:
The main reason it only supports a single controller is that the keyHover property is a single value, rather than an array. I would change it to an array (or add a second property called something like otherKeyHover
if the maintainers (e.g. @dmarcos & @ngokevin) feel it's important to maintain backward compatibility), and go throughout the code to change its handling to support multiple hovers.
You then need to update the click handler to be able to differentiate between which controller got clicked. I forget how to do that, but it should be standard A-frame stuff.
You also need to update the hand attribute, hand property, and raycaster property to support multiples. At least that's what I'm seeing, looking at the code. There may be more. At any rate, by starting with keyHover and working your way up, you've got a clear path of what to do.
Because there are a number of properties that need to go from singular to multiple, it might make sense to make a new kind of object that has all of those properties, and create an array to store multiple copies, one for each controller. That would be a bigger architecture change, though, and therefore would affect any existing users of this library that are expecting to be able to manipulate the internals. That said, none of the internals seem to be part of the external API, so people shouldn't be relying on that anyway. Ultimately that's a decision for the maintainers; hopefully they can chime in on where they stand there.
I hope this is helpful!
from aframe-super-keyboard.
Related Issues (20)
- Opacity render issue HOT 4
- With cursor I have to look away from the keyboard to add each character HOT 2
- Keyboard removes itself on second entry HOT 1
- superkeyboardchange is not passing value HOT 1
- On pressing "T" on physical keyboard, it randomly adds a string to input field HOT 1
- How can I get the text when Enter pressed? HOT 9
- Build and dist after last merge HOT 1
- Interferes with laser-controls HOT 2
- Add multiple hands for VR use case HOT 1
- Examples not working on oculus quest HOT 6
- Laser tracking accuracy issue at smaller scales HOT 2
- Can't find controller when using superhands HOT 1
- Keyboard is not interactable in immersive VR mode HOT 3
- Fantasy Wood example showing custom keyboard layouts does not work HOT 2
- Allow non-VR controls HOT 1
- Properly close keyboard HOT 1
- Raycaster shound not be injected to the hand if keyboard `show` is set to false
- I can't type text on examples using Oculus. HOT 1
- the keyboard hide text elements behind it 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 aframe-super-keyboard.