This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

On Screen Keyboard

Text entry with a touch screen or pointer.

Goals

Non-goals

Relevant Art

Windows 10

Default layout:

https://682842.smushcdn.com/2249953/wp-content/uploads/2018/05/How-to-Show-On-Screen-Keyboard.jpg

Full layout:

https://www.ryadel.com/wp-content/uploads/2015/02/fuller_keyboard.png

Can be floating or fixed to the bottom screen edge. Can also be resized. And there's a "inking" hand writing mode. You can show a button in the task bar to manually raise the keyboard.

https://www.windowscentral.com/sites/wpcentral.com/files/styles/large_wm_brw/public/field/image/2017/09/w10-touch-keyboard-hero-01.jpg

iPad

Regular:

https://support.apple.com/library/content/dam/edam/applecare/images/en_US/ipad/ios15-ipad-pro-keyboard-default.png

iPad pro has additional keys - a row of numeric keys, tab, caps lock, etc:

https://photos5.appleinsider.com/archive/gallery/14921-10824-ipadkeyboard-151111-2-xl.jpg

Can be shrunk down to a floating mode (done with two-finger pinch):

https://support.apple.com/library/content/dam/edam/applecare/images/en_US/ipad/ios15-ipad-pro-keyboard-floating.png

Chrome OS

https://chromeunboxed.com/wp-content/uploads/2020/03/virtualKeyboardChromeOSborderless.jpg

Has a floating mode:

https://chromeunboxed.com/wp-content/uploads/2020/03/newFloatingKeyboardChromeOSborderless.jpg

Yet to find evidence of there being a way to show more keys than this.

iOS

https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/Art/keyboard_types_2x.png

https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html

Android

https://tctechcrunch2011.files.wordpress.com/2014/11/keyboard.gif?w=800&h=600

Key to the left of space is determined by type of text being entered:

Ubuntu

https://i.stack.imgur.com/UgwSe.png

Ubuntu uses Onboard for its on-screen keyboard. Onboard is intended as an assistive technology, to be used in combination with a pointing device, rather than for use via a touchscreen.

Click helpers: keys are included for middle click, right click, double click, drag click, and hover click. Clicking one of these modifies the behavior of the pointer (most modify the action of the primary/left mouse button).

The visibility of the click helper buttons is controlled by a "toggle click helpers" button (these buttons are not shown by default). The "toggle click helpers" button can be activated by hovering over it - this allows using the pointer without pressing any buttons.

Onboard also allows creating text snippets which can be inserted.

Other

Experimental approaches:

Old relevant art

Windows 8

1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Features:

Discussion

The OSK should integrate with GNOME Shell in appearance and behavior.

What is the relationship to language Input Methods?

Issues to consider:

Unicode Keyboard Layout definitions - provides layout Android definitions for approximately 50 keyboard layouts. Layouts claim to be compatible with Android 4.4.

Accessibility

Potential accessibility applications of an OSK include:

  1. Users who are unable to operate a physical keyboard, and are only able to interact using a pointing device.
  2. Users who have difficulty operating the buttons on a pointing device. This could include an inability to hold down a button for a length of time, or an inability to double-click. Or it could mean being unable to press any button.

For 1, the standard OSK can be used in conjunction with a pointing device.

For 2, the standard OSK is insufficient. Additional required features:

On-screen keyboards that focus on accessibility tend to look like physical keyboards, and allow access to modifier keys like Ctrl, Shift and Alt. This allows any kind of keyboard input, without the need for a physical keyboard. This is probably because some applications require modifier keys for some actions.

Tentative Design

OSK Activation

When the OSK is displayed, the view should be shifted in order to keep the text cursor visible.

Layout and Appearance

https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/osk/osk-wires.png

OSK layout should follow the configured input sources (in the Region & Language settings panel). When an OSK layout isn't available for an input source, we fall back to the closest one that is (eg. show the OSK layout with the same locale as the input source).

Modes and Application Customization

Applications should be able to indicate what type of text is going to be entered. It should also be possible to specify whether emoji are wanted, and what the return key should do.

Comments

Unicode Keyboard Layouts

See Also


2024-10-23 11:03