Skip to content

Improve shape-selection

On many devices with wide screens, which should use the wide shape for layouts while in horizontal orientation, the basic shape was used instead.

This change makes Squeekboard use the wide shape on more devices; if there is enough space, also on some devices in vertical orientation.

On some devices in vertical orientation (for example: Steam Deck OLED) there will be small, empty areas above and below the buttons, but overall much less empty space and the buttons will be bigger.

To find an appropriate point for switching between the shapes without having the relevant displays to test with, one can create an image sized according to the device's display-resolution and pixel-density, place a line representing the height of Squeekboard (based on the scaling-tests), paste images of basic/wide layout-shapes into the area and scale them appropriately, set the image-viewer to show the image according to physical size, and then compare which one fits better.


This is a simple workaround, but it should improve usability on many devices, especially when held horizontally.

Screenshots - comparisons - wide shape will be used after this change

Galaxy XCover 2 - horizontal (87 mm x 52 mm, 800 x 480, 233,7 pixels per inch)

scaling_-_XCover_2

Galaxy S4 Mini - horizontal (95mm x 53 mm, 960 x 540, 256.7 pixels per inch)

scaling_-_Galaxy_S4_Mini

Optimus Vu - horizontal (102 mm x 76 mm, 1024 x 768, 255 pixels per inch)

scaling_-_Optimus_Vu

Galaxy Tab 3 8.0 - vertical (108 mm x 172 mm, 800 x 1280, 189 pixels per inch)

scaling__-Galaxy_Tab_3_8.0-_vertical

Legion Go - vertical (119 mm x 190 mm, 1600 x 2560, 342.1 pixels per inch)

scaling_-Legion_Go-_vertical

Steam Deck OLED - vertical (100 mm x 159 mm, 800 x 1280, 204.5 pixels per inch)

scaling_-Steam_Deck_OLED-_vertical

Screenshot - comparison - basic shape will still be used after this change

Steam Deck LCD - vertical (94 mm x 151 mm, 800 x 1280, 215,39 pixels per inch)

scaling_-Steam_Deck_LCD-_vertical

Increasing the numerator of max_wide_height effectively allows for more empty space above and below the layouts, so those should not be any larger than in any of the screenshots shown.


Based on !645 (merged)

Edited by MoonlightWave-12

Merge request reports