1
Cosmo Communicator - General Discussion / Installing Devuan Linux inside Android
« on: February 14, 2020, 05:03:56 pm »
Here are some extra tweaks to improve the Linux desktop experience...
When starting XServer XSDL, the first screen (white background, big Powered by SDL logo) has a button at the top "CHANGE DEVICE CONFIGURATION". Press it to open a menu. Mouse emulation -> Advanced features -> Relative mouse movement turns the touchscreen into a touchpad. Pressing OK allows you to then set the mouse speed and acceleration. I prefer fast speed with no acceleration.
Tap anywhere on the second screen (black background, centered text with the first line saying "Tap the screen to change" and the last line is a 3-second countdown). First you can choose the display resolution. Native 2160x1080 is probably best. On the next screen you can choose font scaling. X0.3 sets the display DPI to roughly 120 (use xdpyinfo to verify) and makes UI widget sizes more consistent, windows generally fitting better on the screen.
Everything is quite small, but that's the downside of using desktop-optimized applications on a tiny mobile screen. Zooming the screen helps interactions with small UI elements. If you enable "Magnify with triple-tap" (Android Settings -> Accessibility -> Magnification), you can triple-tap the screen with one finger for a 2x zoom and pan around with two fingers. Triple-tap again to zoom out.
There seems to be a double tap and hold to drag gesture, but it works very inconsistently. I decided to bind the alt key to a physical mouse button for improved dragging.
This can be done from the command line:
This does have the unfortunate side effect of popping up the app bar. If you prefer a different key, the xev command shows the keycode of any key you press.
A remaining major problem is the inability to enter various special characters, mainly ones that would involve the shift key on a full size keyboard. There are some issues in the SDL library and / or X server, that would be easier to fix if the fn key was exposed as a meta key inside X but it currently isn't. Here are some pointers:
https://github.com/pelya/xserver-xsdl/issues/93
Characters behind the fn key and present in the *sym= statements here seem to be the ones that cannot be entered:
https://github.com/pelya/commandergenius/bl...stuff.h#L66-L86
So depending on the Cosmo's chosen keyboard layout some will be accessible using shift and work, others using fn and fail. Characters not mentioned in the *sym= statements are not affected and their fn key combos work.
When starting XServer XSDL, the first screen (white background, big Powered by SDL logo) has a button at the top "CHANGE DEVICE CONFIGURATION". Press it to open a menu. Mouse emulation -> Advanced features -> Relative mouse movement turns the touchscreen into a touchpad. Pressing OK allows you to then set the mouse speed and acceleration. I prefer fast speed with no acceleration.
Tap anywhere on the second screen (black background, centered text with the first line saying "Tap the screen to change" and the last line is a 3-second countdown). First you can choose the display resolution. Native 2160x1080 is probably best. On the next screen you can choose font scaling. X0.3 sets the display DPI to roughly 120 (use xdpyinfo to verify) and makes UI widget sizes more consistent, windows generally fitting better on the screen.
Everything is quite small, but that's the downside of using desktop-optimized applications on a tiny mobile screen. Zooming the screen helps interactions with small UI elements. If you enable "Magnify with triple-tap" (Android Settings -> Accessibility -> Magnification), you can triple-tap the screen with one finger for a 2x zoom and pan around with two fingers. Triple-tap again to zoom out.
There seems to be a double tap and hold to drag gesture, but it works very inconsistently. I decided to bind the alt key to a physical mouse button for improved dragging.
This can be done from the command line:
Code: [Select]
xmodmap -e "keycode 64 = Pointer_Button1"
xkbset m
This does have the unfortunate side effect of popping up the app bar. If you prefer a different key, the xev command shows the keycode of any key you press.
A remaining major problem is the inability to enter various special characters, mainly ones that would involve the shift key on a full size keyboard. There are some issues in the SDL library and / or X server, that would be easier to fix if the fn key was exposed as a meta key inside X but it currently isn't. Here are some pointers:
https://github.com/pelya/xserver-xsdl/issues/93
Characters behind the fn key and present in the *sym= statements here seem to be the ones that cannot be entered:
https://github.com/pelya/commandergenius/bl...stuff.h#L66-L86
So depending on the Cosmo's chosen keyboard layout some will be accessible using shift and work, others using fn and fail. Characters not mentioned in the *sym= statements are not affected and their fn key combos work.