GithubHelp home page GithubHelp logo

Comments (5)

dmarcos avatar dmarcos commented on June 14, 2024 1

@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.

arthurmougin avatar arthurmougin commented on June 14, 2024

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.

levexis avatar levexis commented on June 14, 2024

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.

arthurmougin avatar arthurmougin commented on June 14, 2024

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.

iangilman avatar iangilman commented on June 14, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.