keyboard: Handle number/phone input purposes specifically

Add OSK keymaps for these, with the special keys necessary to
type numbers(positive, negative, fractional, ...) and phone numbers
(with */+/#)

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6550
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3162>
This commit is contained in:
Carlos Garnacho
2024-01-26 18:51:14 +01:00
parent 32ada34e1d
commit b78b61a0be
4 changed files with 195 additions and 3 deletions

View File

@ -1391,10 +1391,12 @@ export const Keyboard = GObject.registerClass({
y_expand: true,
});
if (purpose === Clutter.InputContentPurpose.DIGITS ||
purpose === Clutter.InputContentPurpose.NUMBER ||
purpose === Clutter.InputContentPurpose.PHONE) {
if (purpose === Clutter.InputContentPurpose.DIGITS) {
keyboardModel = new KeyboardModel('digits');
} else if (purpose === Clutter.InputContentPurpose.NUMBER) {
keyboardModel = new KeyboardModel('number');
} else if (purpose === Clutter.InputContentPurpose.PHONE) {
keyboardModel = new KeyboardModel('phone');
} else {
let groups = [groupName];
if (groupName.includes('+'))