Comments (11)
Here is my opinion so far:
-
Will this be implemented?
Yes, as an experimental option. What I am actually planning is to pause framebuffer updates whenever AVNC is in background. It should reduce battery/bandwidth usage for everybody. Another motivation for pausing updates is a possible fix for #92. Turning off video completely will be an extension of this. -
Why not implement full "remote control"?
As I said before, proper "remote control" experience is much more complex than turning off video. You can have media keys, you can have mouse buttons, haptic feedback, shortcuts and much more. I have never targeted this use-case with AVNC. Having a different "mode" will affect many things (e.g. zooming doesn't make sense in remote control mode). I still believe you will have a better experience with a dedicated app like KDEConnect. -
Why implement it at all then?
Well, this can be asked about many things implemented in AVNC. If I have time, and something is useful to users, I usually don't deny it. There are some things AVNC is very good at (e.g. gesture configuration mentioned by @nahuhh ), which you may like. -
Why mark it as experimental?
Turning off video will actually reduce the capabilities of VNC protocol, and some server may work differently. So this to to warn users that the some things may not work as expected. -
Won't pausing updates in background solve the main issue here?
Yes, as you will simply be able to push AVNC in background when not needed to conserve battery. If this is enough for you, please let me know.
Thanks.
from avnc.
The situation is much more complicated here.
Easiest option is to stop rendering the frame, but it won't help with CPU/Network usage as all that work still needs to be done in background. If we stop framebuffer updates entirely, it breaks a bunch of other stuff (e.g. cursor updates, frame resize, extended key events etc) because these are implemented as "pseudo-encodings" in RFB protocol.
Even if that was acceptable, a simple black screen is not going to be ideal experience for remote control. You will need touch feedback, probably more virtual keys, special handling of zoom etc.
IMHO, you should try apps dedicated to this particular task (e.g. some apps can act as a Bluetooth keyboard/touchpad).
from avnc.
The bluetooth driver for my linux laptop doesn't work. It's never worked. And Bluetooth dongles don't work either.
VNC over WiFi, does.
So VNC is what I use to control it.
You mentioned a few things that implementing this would break?
I'm curious, is there a reason for why a cursor might need to update on a black screen, because I wouldn't even need to see the cursor?
I would've thought that it would be okay if this breaks?
Frame resize - Do you mean the pinch to zoom and unzoom? Or do you mean the resizing that happens when AVNC downscales/upscales the frame to fit a given Android screen?
As a potential solution, and please pardon me if I sound stupid proposing the following sentence as a solution but, is it possible, during this hypothetical "remote control" mode, for AVNC to create like a resizable black dummy frame that's generated on device instead of passing through frames from the server, to stop "frame resizing" from breaking?
Extended key events - I presume this means Ctrl, Alt, Shift, Insert etc.?
If so, yes, this is important to me. This cannot break.
Even if that was acceptable, a simple black screen is not going to be ideal experience for remote control.
It doesn't have to be ideal, I only need wifi keyboard(using VNC or some other open protocol) to type into a terminal that I'm in front of. To use and control mpv and any other media player, without draining my phone battery.
Instead of the slider going all the way down to blank, that I proposed in the OP, you could even have it as a separate button in the server options as "Remote Control Mode (Experimental)", with an (?) beside it, stating precisely what the trade-offs of this mode might entail for those who choose to use it?
If I want to switch to regular mode, I'll create a new server profile, with screen pass through(regular non-remote control mode).
IMHO, you should try apps dedicated to this particular task (e.g. some apps can act as a Bluetooth keyboard/touchpad).
I've looked, but I've found none.
Not even closed source ones, let alone FOSS.
The few that exist ask me to install some non-VNC proprietary service that's always incompatible on my Linux Desktop.
The solution that comes closest to what I need is Weylus' "Energy Saving mode (no video, black screen)".
But there's no keyboard Input. Only Mouse, Stylus and Touch.
Unfortunately the Weylus project has had no new release since 31st Oct 2021. No commits since 6th Aug 2022.
If you or anyone else reading this finds a better solution that works over WiFi(ideally FOSS), please do let me know, I'd appreciate it.
Thanks!
from avnc.
I'm curious, is there a reason for why a cursor might need to update on a black screen, because I wouldn't even need to see the cursor?
I would've thought that it would be okay if this breaks?
It can also affect the cursor position, but you are right, this probably won't be a big issue.
Frame resize - Do you mean the pinch to zoom and unzoom? Or do you mean the resizing that happens when AVNC downscales/upscales the frame to fit a given Android screen?
As a potential solution, and please pardon me if I sound stupid proposing the following sentence as a solution but, is it possible, during this hypothetical "remote control" mode, for AVNC to create like a resizable black dummy frame that's generated on device instead of passing through frames from the server, to stop "frame resizing" from breaking?
Together with zooming in client, it also concerns screen resize on server.
Extended key events - I presume this means Ctrl, Alt, Shift, Insert etc.?
If so, yes, this is important to me. This cannot break.
It likely won't break, but some key/shortcuts may not work with some servers.
It doesn't have to be ideal, I only need wifi keyboard(using VNC or some other open protocol) to type into a terminal that I'm in front of. To use and control mpv and any other media player, without draining my phone battery.
Instead of the slider going all the way down to blank, that I proposed in the OP, you could even have it as a separate button in the server options as "Remote Control Mode (Experimental)", with an (?) beside it, stating precisely what the trade-offs of this mode might entail for those who choose to use it?
If you are willing to accept tradeoffs, I can add an experimental option. But please note that this mode opens up many new features/extensions which I am not willing to implement.
If you or anyone else reading this finds a better solution that works over WiFi(ideally FOSS), please do let me know, I'd appreciate it.
MultiVNC has a very nice Touchpad mode. It does exactly what you are asking here.
from avnc.
I had already tried MultiVNC. But after your recommendation I tried it once more. It doesn't have this feature.
Setting Quality Level
to 0
or None
doesn't stop frames from being passed through.
I don't see any option for a blank black screen?
Maybe I'll open a ticket on on MultiVNC's issues page.
If you are willing to accept tradeoffs, I can add an experimental option. But please note that this mode opens up many new features/extensions which I am not willing to implement.
Yes please! I understand. Thank you!
from avnc.
I don't see any option for a blank black screen?
- Connect to a server
- Tap on green hamburger menu (≡)
- Tap on 'Toggle View'
from avnc.
- you just have to disable view of video in VLC (the quickest and simplest way)
- I think some VNC server disable automaticaly movie video output (or it can be disabled from vnc server settings)
- bring down encoding setings in client AVNC
Maybe in the future we will have along a scroll "Image Quality", a clear selection of color depth 32b/16b/8b because this significantly reduce network load (Personally I have not tested AVNC Image Quality settings to see if is enought good, as I used it on good internet connection, not test it on crap internet connection)
from avnc.
And not the last this is a VNC client not a terminal for commands to server... so video should be always enabled.
This issue shold be closed, as user request is totaly unresonable, try to ask for a feature so he can use an app that is not intended to be used in that way.
from avnc.
This issue shold be closed, as user request is totaly unresonable, try to ask for a feature so he can use an app that is not intended to be used in that way.
I 100% disagree.
Blank/black screen saves a LOT of battery power and (i assume) bandwidth.
i very, very often use vnc as a wireless mouse and keyboard.
i use KDECONNECT for certain use cases, but avnc's mouse is superior to any other ive used.
+1 to adding an feature that lets you set the screen quality to blank.
from avnc.
IMHO, you should try apps dedicated to this particular task (e.g. some apps can act as a Bluetooth keyboard/touchpad).
I've looked, but I've found none.
Not even closed source ones, let alone FOSS.
If you or anyone else reading this finds a better solution that works over WiFi(ideally FOSS), please do let me know, I'd appreciate it.
Thanks!
@barkoder
KDEConnect, which @nahuhh already mentioned, contains exactly what you were describing with its "Remote Control" option. Remotely contolling mouse and keyboard works perfectly fine. I'm using it for exactly the usecase you described. Its completely FOSS (client and server). If you're using gnome on your linux box there is GSConnect, which implements the kdeconnect protocol for gnome (didn't use that yet though).
from avnc.
Thank you @nahuhh and @PureIncompetence for the suggestions! I will check them out.
Thank you for the help with MultiVNC @gujjwal00 . Yes, that works as intended. But no option to set that permanently as a "profile". I'll see about raising an issue over in the MultiVNC issues page.
Yes, as you will simply be able to push AVNC in background when not needed to conserve battery. If this is enough for you, please let me know.
While this would still be more clicks than I'd personally like, I think this should be good enough my phone's battery.
However, at least currently(v2.2.1), the keyboard gets auto-hidden whenever I push AVNC to the background and come back again. In this hypothetical experimental "remote control" mode, it would be rather tedious to have to bring up the sidebar every time and pull up the keyboard, just to hit a couple of buttons.
Basically, could you make it so that if keyboard was open when AVNC got pushed into the background, then the keyboard should automatically show up if AVNC is brought back into the foreground. I also think that this should be the case even in normal mode.
Thanks again!
from avnc.
Related Issues (20)
- How to disconnect cleanly / legacy protocol issues HOT 2
- .ssh/config HOT 1
- Feature request: Support for ssh jump hosts HOT 8
- Option for low latency HOT 1
- Feature Request: Add a option to change resolution and color depth HOT 1
- Feature Request: External/Secondary Display Support HOT 1
- Does it work with SecureVNCPlugin.dsm in UltraVNC?? HOT 1
- Feat: Use the top URL bar for searching HOT 3
- 1080高清視頻顯示garbage HOT 7
- Touch screen mode: enable pop up of auto hide on target at screen edge
- Feature request: Add a button to remove the left panel HOT 1
- Cursor jumps around in touch panel mode HOT 15
- Please add tightvnc's remote ripple like mouse tool HOT 1
- mouse click not working on window minimize & maximize & close on Android 14 HOT 28
- Is it possible to auto connect to server? HOT 9
- Android 14 Fullscreen Broken HOT 5
- SSH Tunnel is broken in v2.3.0: "There was a problem while connecting to xxx.xxx.xxx.xxx" HOT 17
- why not support repeater? HOT 3
- Icon is missing in F-droid
- Add get it on github badge to Readme 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 avnc.