termux / termux-app

Termux - a terminal emulator application for Android OS extendible by variety of packages.
https://f-droid.org/en/packages/com.termux
Other
33.03k stars 3.5k forks source link

VR mode: Support for Steroscopic viewing and head tracking #53

Open toysrtommy opened 8 years ago

toysrtommy commented 8 years ago

Termux is awesome, when combined with a foldable bluetooth keyboard. It becomes a full workstation powerhouse on the go.

Except the screen size is still tiny for code editing even on a Nexus 6p. The proposal is to support Cardboard VR mode / render terminal content in steroscopic, potentailly using Cardboard API (but other options fine too).

Imagine carrying just your smartphone and a small keyboard and a cardboard Goggle, with infinite terminal windows by just moving around your ahead.

https://developers.google.com/cardboard/android/get-started

InsideBall commented 8 years ago

Do you know what would be really damn cool:

If you combine witih a gesture recognition engine, or something like a powerglove to make a 3d floating keyboard for a virtual terminal.

Imagine this: typing in a faithful representation of a VT100, entirely in 3d space.

kabbi commented 7 years ago

I've made a simple POC here: kabbi/termux-app. Looks and feels somewhat cool, although there is a lot to consider: when virtual terminal screen is too large, it's difficult to focus on it and 3d effect is sometimes screwed up, when it is too small and far away, screen resolution becomes the bottleneck and terminal letters begin to filcker near the pixel boundaries. Anyway, it's really fun to play with, and I'll continue to work on this feature, and if it works out I'll try to make a PR. There is also a lot of UI possibilities in 3D space, we can place several terminal sessions at once, make some virtual tools to work with terminals, walk in the space between if we want to, etc. Some screenshots: screenshot_20160814-223800 screenshot_20160817-122808 screenshot_20160817-122844 (although the terminal seems really small on last ones, it's really pretty readable in cardboard)

Sorry for large images.

chasingmaxwell commented 7 years ago

I know this is an old issue, but I'm very interested in this functionality. I'm happy to help with testing. I'm no Android developer, just want to be able to do development on Android.

Another interesting alternative would be an app that serves as a VR wrapper for any application. Native SBS did that for earlier android versions, but seems to no longer be maintained. Anyone know of anything else like that?

RangerMauve commented 6 years ago

I can't get this to run on my Daydream View with the Pixel 2. It's saying that "This cardboard application is not compatible with Daydream headsets"

RangerMauve commented 6 years ago

Reconfiguring my headset to think it's a cardboard worked. :D

Gonna look into creating a Unity plugin for rendering these terminals so that people can have a higher level API.

inter1965 commented 6 years ago

Any updates?

RangerMauve commented 6 years ago

I've started on my unity plugin, but I haven't had much time to work on it. So far I've got keyboard input and I have it rendering to a text field in VR.

I need to set up the environment variables stuff next.

inter1965 commented 6 years ago

The Oculus TV app on the Oculus Go supports running normal Android apps via a virtual screen. Apps that have an existing Android TV UI (leanback) are displayed in the "Unknown Sources" list at the bottom of the UI. Maybe people can try sideload termux via adb and see if it works?

maidenone commented 6 years ago

This is what i wanted to do since i got my first Gear VR for my Note1, A lot have happened since then... I will follow this closely. I work a lot with embedded C, and spend a fair amount of time on the train, would be awesome to get a "bigger screen" on the move ;) only lacking a PDF viewer and WebKit integration then i could be fully productive. Have poked around a bit with this: https://github.com/wadetb/shellspace but depending on remote connections is a deal breaker for me..

maidenone commented 5 years ago

I have built termux vr, Termux runs fine. but Termux vr just promts "Termux has stopped", how do i debug "Termux vr"? by default the debugger launches Termux...

Would also like to highlight those forks: https://github.com/brysgo/termux-app/commits/master https://github.com/staltz/termux-app/commits/master

abraxas86 commented 5 years ago

I'm dying laughing here... It's like the 1980's imagining where we are today.

"In the future, VTI users will simply wear a helmet and communicate virtually with an endless realm of terminal windows!" -Some retro Osbourne science book, probably.

I love the fact that this exists. It's a perfect trifecta of novelty, comedy, and "because you can".

victor141516 commented 5 years ago

I would love to see this on the official app. I get the "Termux has stopped" error too with the staltz fork.

daniellandau commented 4 years ago

Now that there is an open source cardboard SDK from Google it would be really nice to use that and have a VR terminal on a phone without Play Services.

RangerMauve commented 4 years ago

What I ended up doing is instead of making a native app and figuring out how to render Termux terminals in VR, I put together a basic web app instead.

https://github.com/RangerMauve/aframe-xterm-component

Basically, you can start a local websocket server on the phone, then use this library to connect to it. Since it's JS it's a lot faster to iterate and get different layouts working and stuff. :)

RangerMauve commented 4 years ago

Also, I've been using UserLAnd in combination with Firefox Reality for this. Works great on the Oculus Quest, too!

jussty commented 4 years ago

Also, I've been using UserLAnd in combination with Firefox Reality for this. Works great on the Oculus Quest, too!

Termux (the normal 2D APK) can be sideloaded on the Quest, it shows up as an (actually pretty convenient!) Android TV app. I've been using it productively to check out Git repos and start local NodeJS development servers on the Quest for WebXR development. Even VIM is pretty usable...