From e4283f6d48b98e764b988b43bbc86b9d52e6ec94 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:54:43 +0200 Subject: Adding upstream version 43.9. Signed-off-by: Daniel Baumann --- data/00_org.gnome.shell.gschema.override | 6 + data/50-gnome-shell-launchers.xml | 45 + data/50-gnome-shell-screenshots.xml | 20 + data/50-gnome-shell-system.xml | 24 + data/README.osk-layouts | 75 + data/cldr2json/README.md | 40 + data/cldr2json/cldr2json.py | 212 + data/cldr2json/test/__init__.py | 0 data/cldr2json/test/data/fr-t-k0-android.xml | 138 + data/cldr2json/test/data/fr.json | 614 + data/cldr2json/test/test_cldr2json.py | 212 + data/dbus-interfaces/meson.build | 10 + data/dbus-interfaces/net.hadess.PowerProfiles.xml | 76 + data/dbus-interfaces/net.hadess.SensorProxy.xml | 5 + .../net.hadess.SwitcherooControl.xml | 46 + .../net.reactivated.Fprint.Device.xml | 78 + .../net.reactivated.Fprint.Manager.xml | 18 + .../org.Gtk.MountOperationHandler.xml | 32 + .../org.freedesktop.Application.xml | 12 + data/dbus-interfaces/org.freedesktop.DBus.xml | 16 + .../org.freedesktop.GeoClue2.Agent.xml | 11 + .../org.freedesktop.GeoClue2.Manager.xml | 9 + .../org.freedesktop.ModemManager.Modem.Cdma.xml | 13 + ....freedesktop.ModemManager.Modem.Gsm.Network.xml | 19 + ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 6 + ...g.freedesktop.ModemManager1.Modem.ModemCdma.xml | 5 + .../org.freedesktop.ModemManager1.Modem.xml | 5 + .../org.freedesktop.Notifications.xml | 35 + .../org.freedesktop.PackageKit.Offline.xml | 13 + .../org.freedesktop.UPower.Device.xml | 11 + data/dbus-interfaces/org.freedesktop.UPower.xml | 5 + .../org.freedesktop.bolt1.Device.xml | 18 + .../org.freedesktop.bolt1.Manager.xml | 15 + .../org.freedesktop.impl.portal.Access.xml | 15 + ...org.freedesktop.impl.portal.PermissionStore.xml | 31 + .../org.freedesktop.impl.portal.Request.xml | 5 + .../org.freedesktop.login1.Manager.xml | 33 + .../org.freedesktop.login1.Session.xml | 15 + .../org.freedesktop.login1.User.xml | 6 + .../org.freedesktop.realmd.Provider.xml | 13 + .../org.freedesktop.realmd.Realm.xml | 20 + .../org.freedesktop.realmd.Service.xml | 15 + .../org.gnome.Mutter.ScreenCast.xml | 191 + data/dbus-interfaces/org.gnome.ScreenSaver.xml | 18 + .../org.gnome.SessionManager.EndSessionDialog.xml | 16 + .../org.gnome.SessionManager.Inhibitor.xml | 13 + .../org.gnome.SessionManager.Presence.xml | 11 + data/dbus-interfaces/org.gnome.SessionManager.xml | 23 + .../org.gnome.SettingsDaemon.Color.xml | 6 + .../org.gnome.SettingsDaemon.Power.Screen.xml | 5 + .../org.gnome.SettingsDaemon.Rfkill.xml | 11 + .../org.gnome.SettingsDaemon.Wacom.xml | 13 + .../org.gnome.Shell.AudioDeviceSelection.xml | 12 + .../org.gnome.Shell.CalendarServer.xml | 19 + .../org.gnome.Shell.ClocksIntegration.xml | 15 + .../dbus-interfaces/org.gnome.Shell.Extensions.xml | 267 + .../org.gnome.Shell.HotplugSniffer.xml | 8 + .../dbus-interfaces/org.gnome.Shell.Introspect.xml | 89 + data/dbus-interfaces/org.gnome.Shell.PadOsd.xml | 28 + .../dbus-interfaces/org.gnome.Shell.PerfHelper.xml | 13 + .../org.gnome.Shell.PortalHelper.xml | 19 + .../dbus-interfaces/org.gnome.Shell.Screencast.xml | 96 + .../dbus-interfaces/org.gnome.Shell.Screenshot.xml | 145 + .../org.gnome.Shell.Wacom.PadOsd.xml | 8 + .../org.gnome.Shell.WeatherIntegration.xml | 16 + data/dbus-interfaces/org.gnome.Shell.xml | 47 + .../org.gnome.ShellSearchProvider.xml | 73 + .../org.gnome.ShellSearchProvider2.xml | 87 + data/dbus-interfaces/org.gtk.Notifications.xml | 13 + .../org.mpris.MediaPlayer2.Player.xml | 12 + data/dbus-interfaces/org.mpris.MediaPlayer2.xml | 7 + data/emoji.json | 15740 +++++++++++++++++++ data/gnome-shell-dbus-interfaces.gresource.xml | 60 + data/gnome-shell-icons.gresource.xml | 33 + data/gnome-shell-osk-layouts.gresource.xml | 65 + data/gnome-shell-overrides-migration.desktop.in | 5 + data/gnome-shell-theme.gresource.xml | 25 + data/gnome-shell.portal | 4 + .../scalable/apps/org.gnome.Shell.Extensions.svg | 1 + .../apps/org.gnome.Shell.Extensions-symbolic.svg | 1 + data/icons/meson.build | 1 + .../actions/carousel-arrow-next-symbolic.svg | 4 + .../actions/carousel-arrow-previous-symbolic.svg | 4 + data/icons/scalable/actions/color-pick.svg | 94 + data/icons/scalable/actions/dark-mode-symbolic.svg | 2 + .../actions/pointer-double-click-symbolic.svg | 4 + .../scalable/actions/pointer-drag-symbolic.svg | 4 + .../actions/pointer-primary-click-symbolic.svg | 4 + .../actions/pointer-secondary-click-symbolic.svg | 4 + .../scalable/actions/preview-close-symbolic.svg | 4 + .../scalable/actions/record-screen-symbolic.svg | 9 + .../actions/screencast-recorded-symbolic.svg | 8 + .../actions/screenshot-recorded-symbolic.svg | 8 + .../actions/screenshot-ui-area-symbolic.svg | 4 + .../actions/screenshot-ui-display-symbolic.svg | 4 + .../screenshot-ui-show-pointer-symbolic.svg | 4 + .../actions/screenshot-ui-window-symbolic.svg | 4 + .../status/keyboard-caps-lock-symbolic.svg | 4 + .../scalable/status/keyboard-enter-symbolic.svg | 4 + .../scalable/status/keyboard-hide-symbolic.svg | 5 + .../scalable/status/keyboard-layout-symbolic.svg | 4 + .../scalable/status/keyboard-shift-symbolic.svg | 4 + .../scalable/status/message-indicator-symbolic.svg | 4 + data/icons/scalable/status/no-events-symbolic.svg | 7 + .../scalable/status/no-notifications-symbolic.svg | 4 + .../status/screen-privacy-disabled-symbolic.svg | 4 + .../scalable/status/screen-privacy-symbolic.svg | 4 + data/icons/scalable/status/stop-symbolic.svg | 2 + data/meson.build | 138 + data/org.gnome.Shell-disable-extensions.service | 15 + data/org.gnome.Shell-symbolic.Source.svg | 511 + data/org.gnome.Shell.Extensions.desktop.in.in | 10 + data/org.gnome.Shell.PortalHelper.desktop.in.in | 10 + data/org.gnome.Shell.PortalHelper.service.in | 3 + data/org.gnome.Shell.desktop.in.in | 13 + data/org.gnome.Shell.target | 10 + data/org.gnome.Shell@wayland.service.in | 37 + data/org.gnome.Shell@x11.service.in | 42 + data/org.gnome.shell.gschema.xml.in | 364 + data/osk-layouts/am.json | 1051 ++ data/osk-layouts/ara.json | 793 + data/osk-layouts/at.json | 978 ++ data/osk-layouts/be.json | 1021 ++ data/osk-layouts/bg.json | 955 ++ data/osk-layouts/by.json | 965 ++ data/osk-layouts/ca.json | 1007 ++ data/osk-layouts/ch+fr.json | 978 ++ data/osk-layouts/ch.json | 978 ++ data/osk-layouts/cz.json | 1021 ++ data/osk-layouts/de.json | 978 ++ data/osk-layouts/dk.json | 1012 ++ data/osk-layouts/ee.json | 1088 ++ data/osk-layouts/epo.json | 1123 ++ data/osk-layouts/es+cat.json | 1014 ++ data/osk-layouts/es.json | 1016 ++ data/osk-layouts/fi.json | 992 ++ data/osk-layouts/fr.json | 1026 ++ data/osk-layouts/ge.json | 705 + data/osk-layouts/gr.json | 940 ++ data/osk-layouts/hr.json | 939 ++ data/osk-layouts/hu.json | 987 ++ data/osk-layouts/id.json | 915 ++ data/osk-layouts/il.json | 718 + data/osk-layouts/in+bolnagri.json | 745 + data/osk-layouts/in+mal.json | 986 ++ data/osk-layouts/ir.json | 797 + data/osk-layouts/is.json | 991 ++ data/osk-layouts/it.json | 988 ++ data/osk-layouts/ke.json | 985 ++ data/osk-layouts/kg.json | 971 ++ data/osk-layouts/kh.json | 817 + data/osk-layouts/kr.json | 720 + data/osk-layouts/la.json | 808 + data/osk-layouts/latam.json | 1015 ++ data/osk-layouts/lt.json | 1055 ++ data/osk-layouts/lv.json | 1053 ++ data/osk-layouts/mk.json | 965 ++ data/osk-layouts/mn.json | 971 ++ data/osk-layouts/my.json | 915 ++ data/osk-layouts/nl.json | 992 ++ data/osk-layouts/no.json | 1012 ++ data/osk-layouts/ph.json | 915 ++ data/osk-layouts/pl.json | 987 ++ data/osk-layouts/pt.json | 992 ++ data/osk-layouts/ro.json | 955 ++ data/osk-layouts/rs.json | 965 ++ data/osk-layouts/ru.json | 965 ++ data/osk-layouts/se.json | 1046 ++ data/osk-layouts/si.json | 926 ++ data/osk-layouts/sk.json | 1056 ++ data/osk-layouts/th.json | 1135 ++ data/osk-layouts/tr.json | 974 ++ data/osk-layouts/ua.json | 969 ++ data/osk-layouts/uk.json | 984 ++ data/osk-layouts/us-extended.json | 1043 ++ data/osk-layouts/us.json | 983 ++ data/osk-layouts/vn.json | 1051 ++ data/osk-layouts/za.json | 997 ++ data/perf-background.xml.in | 31 + data/theme/README.md | 32 + data/theme/calendar-today-light.svg | 1 + data/theme/calendar-today.svg | 1 + data/theme/checkbox-focused.svg | 1 + data/theme/checkbox-off-focused-light.svg | 220 + data/theme/checkbox-off-focused.svg | 1 + data/theme/checkbox-off-light.svg | 211 + data/theme/checkbox-off.svg | 1 + data/theme/checkbox.svg | 1 + data/theme/dash-placeholder.svg | 84 + data/theme/gnome-shell-high-contrast.css | 2883 ++++ data/theme/gnome-shell-high-contrast.scss | 38 + data/theme/gnome-shell-sass/COPYING | 339 + data/theme/gnome-shell-sass/NEWS | 0 data/theme/gnome-shell-sass/README.md | 16 + data/theme/gnome-shell-sass/_colors.scss | 75 + data/theme/gnome-shell-sass/_common.scss | 222 + data/theme/gnome-shell-sass/_drawing.scss | 336 + .../gnome-shell-sass/_high-contrast-colors.scss | 72 + data/theme/gnome-shell-sass/_palette.scss | 46 + data/theme/gnome-shell-sass/_widgets.scss | 51 + data/theme/gnome-shell-sass/gnome-shell-sass.doap | 37 + data/theme/gnome-shell-sass/widgets/_a11y.scss | 24 + data/theme/gnome-shell-sass/widgets/_app-grid.scss | 161 + data/theme/gnome-shell-sass/widgets/_base.scss | 18 + data/theme/gnome-shell-sass/widgets/_buttons.scss | 19 + data/theme/gnome-shell-sass/widgets/_calendar.scss | 257 + .../theme/gnome-shell-sass/widgets/_check-box.scss | 18 + .../gnome-shell-sass/widgets/_corner-ripple.scss | 15 + data/theme/gnome-shell-sass/widgets/_dash.scss | 75 + data/theme/gnome-shell-sass/widgets/_dialogs.scss | 172 + data/theme/gnome-shell-sass/widgets/_entries.scss | 31 + data/theme/gnome-shell-sass/widgets/_hotplug.scss | 10 + .../gnome-shell-sass/widgets/_ibus-popup.scss | 39 + data/theme/gnome-shell-sass/widgets/_keyboard.scss | 159 + .../gnome-shell-sass/widgets/_login-dialog.scss | 201 + .../gnome-shell-sass/widgets/_looking-glass.scss | 144 + .../gnome-shell-sass/widgets/_message-list.scss | 180 + data/theme/gnome-shell-sass/widgets/_misc.scss | 65 + .../gnome-shell-sass/widgets/_notifications.scss | 61 + data/theme/gnome-shell-sass/widgets/_osd.scss | 64 + data/theme/gnome-shell-sass/widgets/_overview.scss | 13 + data/theme/gnome-shell-sass/widgets/_panel.scss | 233 + data/theme/gnome-shell-sass/widgets/_popovers.scss | 182 + .../gnome-shell-sass/widgets/_quick-settings.scss | 118 + .../gnome-shell-sass/widgets/_screen-shield.scss | 78 + .../gnome-shell-sass/widgets/_screenshot.scss | 204 + .../gnome-shell-sass/widgets/_scrollbars.scss | 29 + .../gnome-shell-sass/widgets/_search-entry.scss | 26 + .../gnome-shell-sass/widgets/_search-results.scss | 96 + data/theme/gnome-shell-sass/widgets/_slider.scss | 22 + .../gnome-shell-sass/widgets/_switcher-popup.scss | 72 + data/theme/gnome-shell-sass/widgets/_switches.scss | 16 + .../gnome-shell-sass/widgets/_window-picker.scss | 53 + .../widgets/_workspace-switcher.scss | 25 + .../widgets/_workspace-thumbnails.scss | 28 + data/theme/gnome-shell-start.svg | 343 + data/theme/gnome-shell.css | 2784 ++++ data/theme/gnome-shell.scss | 6 + data/theme/meson.build | 62 + data/theme/pad-osd.css | 29 + data/theme/process-working.svg | 3084 ++++ data/theme/running-indicator.svg | 130 + data/theme/toggle-off-hc.svg | 1 + data/theme/toggle-off-light.svg | 1 + data/theme/toggle-off.svg | 1 + data/theme/toggle-on-hc.svg | 1 + data/theme/toggle-on-light.svg | 1 + data/theme/toggle-on.svg | 1 + data/theme/workspace-placeholder.svg | 119 + data/update-osk-layouts.sh | 47 + 250 files changed, 91723 insertions(+) create mode 100644 data/00_org.gnome.shell.gschema.override create mode 100644 data/50-gnome-shell-launchers.xml create mode 100644 data/50-gnome-shell-screenshots.xml create mode 100644 data/50-gnome-shell-system.xml create mode 100644 data/README.osk-layouts create mode 100644 data/cldr2json/README.md create mode 100755 data/cldr2json/cldr2json.py create mode 100644 data/cldr2json/test/__init__.py create mode 100644 data/cldr2json/test/data/fr-t-k0-android.xml create mode 100644 data/cldr2json/test/data/fr.json create mode 100755 data/cldr2json/test/test_cldr2json.py create mode 100644 data/dbus-interfaces/meson.build create mode 100644 data/dbus-interfaces/net.hadess.PowerProfiles.xml create mode 100644 data/dbus-interfaces/net.hadess.SensorProxy.xml create mode 100644 data/dbus-interfaces/net.hadess.SwitcherooControl.xml create mode 100644 data/dbus-interfaces/net.reactivated.Fprint.Device.xml create mode 100644 data/dbus-interfaces/net.reactivated.Fprint.Manager.xml create mode 100644 data/dbus-interfaces/org.Gtk.MountOperationHandler.xml create mode 100644 data/dbus-interfaces/org.freedesktop.Application.xml create mode 100644 data/dbus-interfaces/org.freedesktop.DBus.xml create mode 100644 data/dbus-interfaces/org.freedesktop.GeoClue2.Agent.xml create mode 100644 data/dbus-interfaces/org.freedesktop.GeoClue2.Manager.xml create mode 100644 data/dbus-interfaces/org.freedesktop.ModemManager.Modem.Cdma.xml create mode 100644 data/dbus-interfaces/org.freedesktop.ModemManager.Modem.Gsm.Network.xml create mode 100644 data/dbus-interfaces/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml create mode 100644 data/dbus-interfaces/org.freedesktop.ModemManager1.Modem.ModemCdma.xml create mode 100644 data/dbus-interfaces/org.freedesktop.ModemManager1.Modem.xml create mode 100644 data/dbus-interfaces/org.freedesktop.Notifications.xml create mode 100644 data/dbus-interfaces/org.freedesktop.PackageKit.Offline.xml create mode 100644 data/dbus-interfaces/org.freedesktop.UPower.Device.xml create mode 100644 data/dbus-interfaces/org.freedesktop.UPower.xml create mode 100644 data/dbus-interfaces/org.freedesktop.bolt1.Device.xml create mode 100644 data/dbus-interfaces/org.freedesktop.bolt1.Manager.xml create mode 100644 data/dbus-interfaces/org.freedesktop.impl.portal.Access.xml create mode 100644 data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml create mode 100644 data/dbus-interfaces/org.freedesktop.impl.portal.Request.xml create mode 100644 data/dbus-interfaces/org.freedesktop.login1.Manager.xml create mode 100644 data/dbus-interfaces/org.freedesktop.login1.Session.xml create mode 100644 data/dbus-interfaces/org.freedesktop.login1.User.xml create mode 100644 data/dbus-interfaces/org.freedesktop.realmd.Provider.xml create mode 100644 data/dbus-interfaces/org.freedesktop.realmd.Realm.xml create mode 100644 data/dbus-interfaces/org.freedesktop.realmd.Service.xml create mode 100644 data/dbus-interfaces/org.gnome.Mutter.ScreenCast.xml create mode 100644 data/dbus-interfaces/org.gnome.ScreenSaver.xml create mode 100644 data/dbus-interfaces/org.gnome.SessionManager.EndSessionDialog.xml create mode 100644 data/dbus-interfaces/org.gnome.SessionManager.Inhibitor.xml create mode 100644 data/dbus-interfaces/org.gnome.SessionManager.Presence.xml create mode 100644 data/dbus-interfaces/org.gnome.SessionManager.xml create mode 100644 data/dbus-interfaces/org.gnome.SettingsDaemon.Color.xml create mode 100644 data/dbus-interfaces/org.gnome.SettingsDaemon.Power.Screen.xml create mode 100644 data/dbus-interfaces/org.gnome.SettingsDaemon.Rfkill.xml create mode 100644 data/dbus-interfaces/org.gnome.SettingsDaemon.Wacom.xml create mode 100644 data/dbus-interfaces/org.gnome.Shell.AudioDeviceSelection.xml create mode 100644 data/dbus-interfaces/org.gnome.Shell.CalendarServer.xml create mode 100644 data/dbus-interfaces/org.gnome.Shell.ClocksIntegration.xml create mode 100644 data/dbus-interfaces/org.gnome.Shell.Extensions.xml create mode 100644 data/dbus-interfaces/org.gnome.Shell.HotplugSniffer.xml create mode 100644 data/dbus-interfaces/org.gnome.Shell.Introspect.xml create mode 100644 data/dbus-interfaces/org.gnome.Shell.PadOsd.xml create mode 100644 data/dbus-interfaces/org.gnome.Shell.PerfHelper.xml create mode 100644 data/dbus-interfaces/org.gnome.Shell.PortalHelper.xml create mode 100644 data/dbus-interfaces/org.gnome.Shell.Screencast.xml create mode 100644 data/dbus-interfaces/org.gnome.Shell.Screenshot.xml create mode 100644 data/dbus-interfaces/org.gnome.Shell.Wacom.PadOsd.xml create mode 100644 data/dbus-interfaces/org.gnome.Shell.WeatherIntegration.xml create mode 100644 data/dbus-interfaces/org.gnome.Shell.xml create mode 100644 data/dbus-interfaces/org.gnome.ShellSearchProvider.xml create mode 100644 data/dbus-interfaces/org.gnome.ShellSearchProvider2.xml create mode 100644 data/dbus-interfaces/org.gtk.Notifications.xml create mode 100644 data/dbus-interfaces/org.mpris.MediaPlayer2.Player.xml create mode 100644 data/dbus-interfaces/org.mpris.MediaPlayer2.xml create mode 100644 data/emoji.json create mode 100644 data/gnome-shell-dbus-interfaces.gresource.xml create mode 100644 data/gnome-shell-icons.gresource.xml create mode 100644 data/gnome-shell-osk-layouts.gresource.xml create mode 100644 data/gnome-shell-overrides-migration.desktop.in create mode 100644 data/gnome-shell-theme.gresource.xml create mode 100644 data/gnome-shell.portal create mode 100644 data/icons/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg create mode 100644 data/icons/hicolor/symbolic/apps/org.gnome.Shell.Extensions-symbolic.svg create mode 100644 data/icons/meson.build create mode 100644 data/icons/scalable/actions/carousel-arrow-next-symbolic.svg create mode 100644 data/icons/scalable/actions/carousel-arrow-previous-symbolic.svg create mode 100644 data/icons/scalable/actions/color-pick.svg create mode 100644 data/icons/scalable/actions/dark-mode-symbolic.svg create mode 100644 data/icons/scalable/actions/pointer-double-click-symbolic.svg create mode 100644 data/icons/scalable/actions/pointer-drag-symbolic.svg create mode 100644 data/icons/scalable/actions/pointer-primary-click-symbolic.svg create mode 100644 data/icons/scalable/actions/pointer-secondary-click-symbolic.svg create mode 100644 data/icons/scalable/actions/preview-close-symbolic.svg create mode 100644 data/icons/scalable/actions/record-screen-symbolic.svg create mode 100644 data/icons/scalable/actions/screencast-recorded-symbolic.svg create mode 100644 data/icons/scalable/actions/screenshot-recorded-symbolic.svg create mode 100644 data/icons/scalable/actions/screenshot-ui-area-symbolic.svg create mode 100644 data/icons/scalable/actions/screenshot-ui-display-symbolic.svg create mode 100644 data/icons/scalable/actions/screenshot-ui-show-pointer-symbolic.svg create mode 100644 data/icons/scalable/actions/screenshot-ui-window-symbolic.svg create mode 100644 data/icons/scalable/status/keyboard-caps-lock-symbolic.svg create mode 100644 data/icons/scalable/status/keyboard-enter-symbolic.svg create mode 100644 data/icons/scalable/status/keyboard-hide-symbolic.svg create mode 100644 data/icons/scalable/status/keyboard-layout-symbolic.svg create mode 100644 data/icons/scalable/status/keyboard-shift-symbolic.svg create mode 100644 data/icons/scalable/status/message-indicator-symbolic.svg create mode 100644 data/icons/scalable/status/no-events-symbolic.svg create mode 100644 data/icons/scalable/status/no-notifications-symbolic.svg create mode 100644 data/icons/scalable/status/screen-privacy-disabled-symbolic.svg create mode 100644 data/icons/scalable/status/screen-privacy-symbolic.svg create mode 100644 data/icons/scalable/status/stop-symbolic.svg create mode 100644 data/meson.build create mode 100644 data/org.gnome.Shell-disable-extensions.service create mode 100644 data/org.gnome.Shell-symbolic.Source.svg create mode 100644 data/org.gnome.Shell.Extensions.desktop.in.in create mode 100644 data/org.gnome.Shell.PortalHelper.desktop.in.in create mode 100644 data/org.gnome.Shell.PortalHelper.service.in create mode 100644 data/org.gnome.Shell.desktop.in.in create mode 100644 data/org.gnome.Shell.target create mode 100644 data/org.gnome.Shell@wayland.service.in create mode 100644 data/org.gnome.Shell@x11.service.in create mode 100644 data/org.gnome.shell.gschema.xml.in create mode 100644 data/osk-layouts/am.json create mode 100644 data/osk-layouts/ara.json create mode 100644 data/osk-layouts/at.json create mode 100644 data/osk-layouts/be.json create mode 100644 data/osk-layouts/bg.json create mode 100644 data/osk-layouts/by.json create mode 100644 data/osk-layouts/ca.json create mode 100644 data/osk-layouts/ch+fr.json create mode 100644 data/osk-layouts/ch.json create mode 100644 data/osk-layouts/cz.json create mode 100644 data/osk-layouts/de.json create mode 100644 data/osk-layouts/dk.json create mode 100644 data/osk-layouts/ee.json create mode 100644 data/osk-layouts/epo.json create mode 100644 data/osk-layouts/es+cat.json create mode 100644 data/osk-layouts/es.json create mode 100644 data/osk-layouts/fi.json create mode 100644 data/osk-layouts/fr.json create mode 100644 data/osk-layouts/ge.json create mode 100644 data/osk-layouts/gr.json create mode 100644 data/osk-layouts/hr.json create mode 100644 data/osk-layouts/hu.json create mode 100644 data/osk-layouts/id.json create mode 100644 data/osk-layouts/il.json create mode 100644 data/osk-layouts/in+bolnagri.json create mode 100644 data/osk-layouts/in+mal.json create mode 100644 data/osk-layouts/ir.json create mode 100644 data/osk-layouts/is.json create mode 100644 data/osk-layouts/it.json create mode 100644 data/osk-layouts/ke.json create mode 100644 data/osk-layouts/kg.json create mode 100644 data/osk-layouts/kh.json create mode 100644 data/osk-layouts/kr.json create mode 100644 data/osk-layouts/la.json create mode 100644 data/osk-layouts/latam.json create mode 100644 data/osk-layouts/lt.json create mode 100644 data/osk-layouts/lv.json create mode 100644 data/osk-layouts/mk.json create mode 100644 data/osk-layouts/mn.json create mode 100644 data/osk-layouts/my.json create mode 100644 data/osk-layouts/nl.json create mode 100644 data/osk-layouts/no.json create mode 100644 data/osk-layouts/ph.json create mode 100644 data/osk-layouts/pl.json create mode 100644 data/osk-layouts/pt.json create mode 100644 data/osk-layouts/ro.json create mode 100644 data/osk-layouts/rs.json create mode 100644 data/osk-layouts/ru.json create mode 100644 data/osk-layouts/se.json create mode 100644 data/osk-layouts/si.json create mode 100644 data/osk-layouts/sk.json create mode 100644 data/osk-layouts/th.json create mode 100644 data/osk-layouts/tr.json create mode 100644 data/osk-layouts/ua.json create mode 100644 data/osk-layouts/uk.json create mode 100644 data/osk-layouts/us-extended.json create mode 100644 data/osk-layouts/us.json create mode 100644 data/osk-layouts/vn.json create mode 100644 data/osk-layouts/za.json create mode 100644 data/perf-background.xml.in create mode 100644 data/theme/README.md create mode 100644 data/theme/calendar-today-light.svg create mode 100644 data/theme/calendar-today.svg create mode 100644 data/theme/checkbox-focused.svg create mode 100644 data/theme/checkbox-off-focused-light.svg create mode 100644 data/theme/checkbox-off-focused.svg create mode 100644 data/theme/checkbox-off-light.svg create mode 100644 data/theme/checkbox-off.svg create mode 100644 data/theme/checkbox.svg create mode 100644 data/theme/dash-placeholder.svg create mode 100644 data/theme/gnome-shell-high-contrast.css create mode 100644 data/theme/gnome-shell-high-contrast.scss create mode 100644 data/theme/gnome-shell-sass/COPYING create mode 100644 data/theme/gnome-shell-sass/NEWS create mode 100644 data/theme/gnome-shell-sass/README.md create mode 100644 data/theme/gnome-shell-sass/_colors.scss create mode 100644 data/theme/gnome-shell-sass/_common.scss create mode 100644 data/theme/gnome-shell-sass/_drawing.scss create mode 100644 data/theme/gnome-shell-sass/_high-contrast-colors.scss create mode 100644 data/theme/gnome-shell-sass/_palette.scss create mode 100644 data/theme/gnome-shell-sass/_widgets.scss create mode 100644 data/theme/gnome-shell-sass/gnome-shell-sass.doap create mode 100644 data/theme/gnome-shell-sass/widgets/_a11y.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_app-grid.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_base.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_buttons.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_calendar.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_check-box.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_corner-ripple.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_dash.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_dialogs.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_entries.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_hotplug.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_ibus-popup.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_keyboard.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_login-dialog.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_looking-glass.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_message-list.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_misc.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_notifications.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_osd.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_overview.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_panel.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_popovers.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_quick-settings.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_screen-shield.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_screenshot.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_scrollbars.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_search-entry.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_search-results.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_slider.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_switcher-popup.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_switches.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_window-picker.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_workspace-switcher.scss create mode 100644 data/theme/gnome-shell-sass/widgets/_workspace-thumbnails.scss create mode 100644 data/theme/gnome-shell-start.svg create mode 100644 data/theme/gnome-shell.css create mode 100644 data/theme/gnome-shell.scss create mode 100644 data/theme/meson.build create mode 100644 data/theme/pad-osd.css create mode 100644 data/theme/process-working.svg create mode 100644 data/theme/running-indicator.svg create mode 100644 data/theme/toggle-off-hc.svg create mode 100644 data/theme/toggle-off-light.svg create mode 100644 data/theme/toggle-off.svg create mode 100644 data/theme/toggle-on-hc.svg create mode 100644 data/theme/toggle-on-light.svg create mode 100644 data/theme/toggle-on.svg create mode 100644 data/theme/workspace-placeholder.svg create mode 100755 data/update-osk-layouts.sh (limited to 'data') diff --git a/data/00_org.gnome.shell.gschema.override b/data/00_org.gnome.shell.gschema.override new file mode 100644 index 0000000..ac732e6 --- /dev/null +++ b/data/00_org.gnome.shell.gschema.override @@ -0,0 +1,6 @@ +[org.gnome.mutter:GNOME] +attach-modal-dialogs=true +edge-tiling=true +dynamic-workspaces=true +workspaces-only-on-primary=true +focus-change-on-pointer-rest=true diff --git a/data/50-gnome-shell-launchers.xml b/data/50-gnome-shell-launchers.xml new file mode 100644 index 0000000..ca57ee6 --- /dev/null +++ b/data/50-gnome-shell-launchers.xml @@ -0,0 +1,45 @@ + + + + + diff --git a/data/50-gnome-shell-screenshots.xml b/data/50-gnome-shell-screenshots.xml new file mode 100644 index 0000000..c82f1a3 --- /dev/null +++ b/data/50-gnome-shell-screenshots.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/data/50-gnome-shell-system.xml b/data/50-gnome-shell-system.xml new file mode 100644 index 0000000..33e5ba5 --- /dev/null +++ b/data/50-gnome-shell-system.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + diff --git a/data/README.osk-layouts b/data/README.osk-layouts new file mode 100644 index 0000000..a0a0dbe --- /dev/null +++ b/data/README.osk-layouts @@ -0,0 +1,75 @@ +Gnome-shell OSK layouts are extracted from CLDR layout definitions: +https://www.unicode.org/cldr/charts/latest/keyboards/layouts/index.html + +To add new layouts from CLDR: + +1) Run update-osk-layouts.sh + +2) Modify JSON files to add extra keys, tweak appearance... + +2) Do git add and git commit + +JSON file format +================ + +Each JSON file describes a keymap for a certain language and layout, +it has the following structure: + +- Root (Object) + + Root object of a layout, has the following properties: + + - levels (Array of Level): Levels in the keymap + - locale (String): Locale name for this keymap + - name (String): Human readable name for this keymap + +- Level (Object) + + A level defines the keys available on a keyboard level, + these are the key panels visible at a time. E.g. to type + uppercase levels or symbols. + + Levels have the following properties: + + - level (String): Name of the level, common names are + "", "shift", "opt" and "opt+shift". + - mode (String): Mode for this level, common modes are + "default", "latched" and "locked". + - rows (Array of Row): Array of rows of keys. + +- Row (Array) + + A row is an Array of Key. + +- Key (Object) + + A keyboard key. Keys have the following properties: + + - iconName (String): Icon name to show on the key. + Keys with an icon name do not have a label. + - label (String): Label to show on the key. + - strings (Array of String): Strings to commit. If + label property does not exist, the first element + will be also the label. Extra elements are shown + in the extra keys popover. + - keyval (String): Hexadecimal keyval to emit as + emulated key presses. Committed strings are + preferred. + - width (Double): Relative width of the key in the + row. 1 is for a square key. Multiples of 0.5 are + accepted. + - level (Integer): Level that the key switches to. + See the levelSwitch action. + - action (string): Action performed by the key, + accepted actions are: + + - hide: Hides the OSK + - languageMenu: Pops up the language selection + menu + - emoji: Switches to the emoji selection panel + - modifier: Handles the keyval as a modifier + key. This handles e.g. Ctrl+A as a sequence + of Ctrl press, A press, A release, Ctrl + release. + - delete: Deletes text backwards + - levelSwitch: Switches OSK to a different level diff --git a/data/cldr2json/README.md b/data/cldr2json/README.md new file mode 100644 index 0000000..0eb54bc --- /dev/null +++ b/data/cldr2json/README.md @@ -0,0 +1,40 @@ +cldr2json +========= + +This script converts Unicode CLDR android keyboard layouts to JSON usable by +GNOME Shell. + +CLDR keyboard layouts can be found at + + + +Usage +===== + + ./cldr2json + +example: + + ./cldr2json cldr/keyboards/android/ json_layouts/ + + +Keyboard layout mapping +======================= + +Unicode CLDR layout identifiers are language codes, while XKB layout +identifiers are... something else. The mapping between the two currently uses +heuristic based on the layout descriptions, in this order: + +- if the CLDR layout description matches an XKB layout description, chose its + XKB identifier +- if one word of the CLDR layout description matches an XKB layout + description, chose its XKB identifier +- if the CLDR layout description matches one word of an XKB layout description, + chose its XKB identifier + +That doesn't always work. For instance it fails for "en" language, that should +match "us" XKB identifier. For such cases, there is a mapping in +LOCALE_TO_XKB_OVERRIDES at the top of the script. If you discover a weird +mapping of if you get a "failed to find XKB mapping for " warning then +please consider adding an override there. + diff --git a/data/cldr2json/cldr2json.py b/data/cldr2json/cldr2json.py new file mode 100755 index 0000000..e5eb3cb --- /dev/null +++ b/data/cldr2json/cldr2json.py @@ -0,0 +1,212 @@ +#!/usr/bin/python3 +# +# Copyright 2015 Daiki Ueno +# 2016 Parag Nemade +# 2017 Alan +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, see +# . + +import glob +import json +import locale +import logging +import os +import re +import sys +import xml.etree.ElementTree + +import gi +gi.require_version('GnomeDesktop', '3.0') # NOQA: E402 +from gi.repository import GnomeDesktop + +ESCAPE_PATTERN = re.compile(r'\\u\{([0-9A-Fa-f]+?)\}') +ISO_PATTERN = re.compile(r'[A-E]([0-9]+)') + +LOCALE_TO_XKB_OVERRIDES = { + 'af': 'za', + 'en': 'us', + 'en-GB': 'uk', + 'es-US': 'latam', + 'fr-CA': 'ca', + 'hi': 'in+bolnagri', + 'ky': 'kg', + 'nl-BE': 'be', + 'zu': None +} + + +def parse_single_key(value): + def unescape(m): + return chr(int(m.group(1), 16)) + value = ESCAPE_PATTERN.sub(unescape, value) + return value + + +def parse_rows(keymap): + unsorted_rows = {} + for _map in keymap.iter('map'): + value = _map.get('to') + key = [parse_single_key(value)] + iso = _map.get('iso') + if not ISO_PATTERN.match(iso): + sys.stderr.write('invalid ISO key name: %s\n' % iso) + continue + if not iso[0] in unsorted_rows: + unsorted_rows[iso[0]] = [] + unsorted_rows[iso[0]].append((int(iso[1:]), key)) + # add subkeys + longPress = _map.get('longPress') + if longPress: + for value in longPress.split(' '): + subkey = parse_single_key(value) + key.append(subkey) + + rows = [] + for k, v in sorted(list(unsorted_rows.items()), + key=lambda x: x[0], + reverse=True): + row = [] + for key in sorted(v, key=lambda x: x): + row.append({ 'strings': key[1] }) + rows.append(row) + + return rows + + +def convert_xml(tree): + root = {} + for xml_keyboard in tree.iter("keyboard"): + locale_full = xml_keyboard.get("locale") + locale, sep, end = locale_full.partition("-t-") + root["locale"] = locale + for xml_name in tree.iter("name"): + name = xml_name.get("value") + root["name"] = name + root["levels"] = [] + # parse levels + for index, keymap in enumerate(tree.iter('keyMap')): + # FIXME: heuristics here + modifiers = keymap.get('modifiers') + if not modifiers: + mode = 'default' + modifiers = '' + elif 'shift' in modifiers.split(' '): + mode = 'latched' + modifiers = 'shift' + else: + mode = 'locked' + level = {} + level["level"] = modifiers + level["mode"] = mode + level["rows"] = parse_rows(keymap) + root["levels"].append(level) + return root + + +def locale_to_xkb(locale, name): + if locale in sorted(LOCALE_TO_XKB_OVERRIDES.keys()): + xkb = LOCALE_TO_XKB_OVERRIDES[locale] + logging.debug("override for %s → %s", + locale, xkb) + if xkb: + return xkb + else: + raise KeyError("layout %s explicitly disabled in overrides" + % locale) + xkb_names = sorted(name_to_xkb.keys()) + if name in xkb_names: + return name_to_xkb[name] + else: + logging.debug("name %s failed" % name) + for sub_name in name.split(' '): + if sub_name in xkb_names: + xkb = name_to_xkb[sub_name] + logging.debug("dumb mapping failed but match with locale word: " + "%s (%s) → %s (%s)", + locale, name, xkb, sub_name) + return xkb + else: + logging.debug("sub_name failed") + for xkb_name in xkb_names: + for xkb_sub_name in xkb_name.split(' '): + if xkb_sub_name.strip('()') == name: + xkb = name_to_xkb[xkb_name] + logging.debug("dumb mapping failed but match with xkb word: " + "%s (%s) → %s (%s)", + locale, name, xkb, xkb_name) + return xkb + raise KeyError("failed to find XKB mapping for %s" % locale) + + +def convert_file(source_file, destination_path): + logging.info("Parsing %s", source_file) + + itree = xml.etree.ElementTree.ElementTree() + itree.parse(source_file) + + root = convert_xml(itree) + + try: + xkb_name = locale_to_xkb(root["locale"], root["name"]) + except KeyError as e: + logging.warning(e) + return False + destination_file = os.path.join(destination_path, xkb_name + ".json") + + try: + with open(destination_file, 'x', encoding="utf-8") as dest_fd: + json.dump(root, dest_fd, ensure_ascii=False, indent=2, sort_keys=True) + except FileExistsError as e: + logging.info("File %s exists, not updating", destination_file) + return False + + logging.debug("written %s", destination_file) + + +def load_xkb_mappings(): + xkb = GnomeDesktop.XkbInfo() + layouts = xkb.get_all_layouts() + name_to_xkb = {} + + for layout in layouts: + name = xkb.get_layout_info(layout).display_name + name_to_xkb[name] = layout + + return name_to_xkb + + +locale.setlocale(locale.LC_ALL, "C") +name_to_xkb = load_xkb_mappings() + + +if __name__ == "__main__": + if "DEBUG" in os.environ: + logging.basicConfig(level=logging.DEBUG) + + if len(sys.argv) < 2: + print("supply a CLDR keyboard file") + sys.exit(1) + + if len(sys.argv) < 3: + print("supply an output directory") + sys.exit(1) + + source = sys.argv[1] + destination = sys.argv[2] + if os.path.isfile(source): + convert_file(source, destination) + elif os.path.isdir(source): + for path in glob.glob(source + "/*-t-k0-android.xml"): + convert_file(path, destination) diff --git a/data/cldr2json/test/__init__.py b/data/cldr2json/test/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/data/cldr2json/test/data/fr-t-k0-android.xml b/data/cldr2json/test/data/fr-t-k0-android.xml new file mode 100644 index 0000000..1e76b81 --- /dev/null +++ b/data/cldr2json/test/data/fr-t-k0-android.xml @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/cldr2json/test/data/fr.json b/data/cldr2json/test/data/fr.json new file mode 100644 index 0000000..3a8949f --- /dev/null +++ b/data/cldr2json/test/data/fr.json @@ -0,0 +1,614 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + [ + "a", + "à", + "â", + "%", + "æ", + "á", + "ä", + "ã", + "å", + "ā", + "ª" + ], + [ + "z" + ], + [ + "e", + "é", + "è", + "ê", + "ë", + "%", + "ę", + "ė", + "ē" + ], + [ + "r" + ], + [ + "t" + ], + [ + "y", + "%", + "ÿ" + ], + [ + "u", + "ù", + "û", + "%", + "ü", + "ú", + "ū" + ], + [ + "i", + "î", + "%", + "ï", + "ì", + "í", + "į", + "ī" + ], + [ + "o", + "ô", + "œ", + "%", + "ö", + "ò", + "ó", + "õ", + "ø", + "ō", + "º" + ], + [ + "p" + ] + ], + [ + [ + "q" + ], + [ + "s" + ], + [ + "d" + ], + [ + "f" + ], + [ + "g" + ], + [ + "h" + ], + [ + "j" + ], + [ + "k" + ], + [ + "l" + ], + [ + "m" + ] + ], + [ + [ + "w" + ], + [ + "x" + ], + [ + "c", + "ç", + "ć", + "č" + ], + [ + "v" + ], + [ + "b" + ], + [ + "n" + ], + [ + "'", + "‘", + "’", + "‹", + "›" + ] + ], + [ + [ + "," + ], + [ + " " + ], + [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + [ + "A", + "À", + "Â", + "%", + "Æ", + "Á", + "Ä", + "Ã", + "Å", + "Ā", + "ª" + ], + [ + "Z" + ], + [ + "E", + "É", + "È", + "Ê", + "Ë", + "%", + "Ę", + "Ė", + "Ē" + ], + [ + "R" + ], + [ + "T" + ], + [ + "Y", + "%", + "Ÿ" + ], + [ + "U", + "Ù", + "Û", + "%", + "Ü", + "Ú", + "Ū" + ], + [ + "I", + "Î", + "%", + "Ï", + "Ì", + "Í", + "Į", + "Ī" + ], + [ + "O", + "Ô", + "Œ", + "%", + "Ö", + "Ò", + "Ó", + "Õ", + "Ø", + "Ō", + "º" + ], + [ + "P" + ] + ], + [ + [ + "Q" + ], + [ + "S" + ], + [ + "D" + ], + [ + "F" + ], + [ + "G" + ], + [ + "H" + ], + [ + "J" + ], + [ + "K" + ], + [ + "L" + ], + [ + "M" + ] + ], + [ + [ + "W" + ], + [ + "X" + ], + [ + "C", + "Ç", + "Ć", + "Č" + ], + [ + "V" + ], + [ + "B" + ], + [ + "N" + ], + [ + "'", + "‘", + "’", + "‹", + "›" + ] + ], + [ + [ + "," + ], + [ + " " + ], + [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ], + [ + "2", + "²", + "⅔" + ], + [ + "3", + "³", + "¾", + "⅜" + ], + [ + "4", + "⁴" + ], + [ + "5", + "⅝" + ], + [ + "6" + ], + [ + "7", + "⅞" + ], + [ + "8" + ], + [ + "9" + ], + [ + "0", + "ⁿ", + "∅" + ] + ], + [ + [ + "@" + ], + [ + "#" + ], + [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ], + [ + "%", + "‰" + ], + [ + "&" + ], + [ + "-", + "_", + "–", + "—", + "·" + ], + [ + "+", + "±" + ], + [ + "(", + "<", + "{", + "[" + ], + [ + ")", + ">", + "}", + "]" + ] + ], + [ + [ + "*", + "†", + "‡", + "★" + ], + [ + "\"", + "“", + "”", + "«", + "»" + ], + [ + "'", + "‘", + "’", + "‹", + "›" + ], + [ + ":" + ], + [ + ";" + ], + [ + "!", + "¡" + ], + [ + "?", + "¿" + ] + ], + [ + [ + "_" + ], + [ + "/" + ], + [ + " " + ], + [ + "," + ], + [ + ".", + "…" + ] + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + [ + "~" + ], + [ + "`" + ], + [ + "|" + ], + [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ], + [ + "√" + ], + [ + "Π", + "π" + ], + [ + "÷" + ], + [ + "×" + ], + [ + "¶", + "§" + ], + [ + "∆" + ] + ], + [ + [ + "£" + ], + [ + "¥" + ], + [ + "$", + "¢" + ], + [ + "¢" + ], + [ + "^", + "↑", + "↓", + "←", + "→" + ], + [ + "°", + "′", + "″" + ], + [ + "=", + "≠", + "≈", + "∞" + ], + [ + "{" + ], + [ + "}" + ] + ], + [ + [ + "\\" + ], + [ + "©" + ], + [ + "®" + ], + [ + "™" + ], + [ + "℅" + ], + [ + "[" + ], + [ + "]" + ] + ], + [ + [ + "<", + "‹", + "≤", + "«" + ], + [ + ">", + "›", + "≥", + "»" + ], + [ + " " + ], + [ + "," + ], + [ + ".", + "…" + ] + ] + ] + } + ], + "locale": "fr", + "name": "French" +} diff --git a/data/cldr2json/test/test_cldr2json.py b/data/cldr2json/test/test_cldr2json.py new file mode 100755 index 0000000..78a6aa0 --- /dev/null +++ b/data/cldr2json/test/test_cldr2json.py @@ -0,0 +1,212 @@ +#!/usr/bin/python3 + +import json +import tempfile +import unittest +import xml.etree.ElementTree + +import cldr2json + + +class TestParseSingleKey(unittest.TestCase): + def test_ascii(self): + self.assertEqual(cldr2json.parse_single_key("a"), "a") + + def test_nonascii(self): + self.assertEqual(cldr2json.parse_single_key("Æ"), "Æ") + + def test_twochars(self): + self.assertEqual(cldr2json.parse_single_key("ԵՒ"), "ԵՒ") + + def test_decode(self): + self.assertEqual(cldr2json.parse_single_key("\\u{200D}"), "\u200d") + + def test_decode_threechars(self): + self.assertEqual(cldr2json.parse_single_key("ज\\u{94D}ञ"), "ज\u094Dञ") + + +class TestParseRow(unittest.TestCase): + def test_parse_row(self): + xml_string = """ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + """ + xml_tree = xml.etree.ElementTree.XML(xml_string) + json = [[ + ['a', 'à', 'â', '%', 'æ', 'á', 'ä', 'ã', 'å', 'ā', 'ª'], + ['z'], + ['e', 'é', 'è', 'ê', 'ë', '%', 'ę', 'ė', 'ē'], + ['r'], + ['t'], + ['y', '%', 'ÿ'], + ['u', 'ù', 'û', '%', 'ü', 'ú', 'ū'], + ['i', 'î', '%', 'ï', 'ì', 'í', 'į', 'ī'], + ['o', 'ô', 'œ', '%', 'ö', 'ò', 'ó', 'õ', 'ø', 'ō', 'º'], + ['p'] + ], [ + ['q'], + ['s'], + ['d'], + ['f'], + ['g'], + ['h'], + ['j'], + ['k'], + ['l'], + ['m'] + ], [ + ['w'], + ['x'], + ['c', 'ç', 'ć', 'č'], + ['v'], + ['b'], + ['n'], + ["'", '‘', '’', '‹', '›'] + ], [ + [','], + [' '], + ['.', '#', '!', ',', '?', '-', ':', "'", '@'] + ]] + self.assertEqual(cldr2json.parse_rows(xml_tree), json) + + +class TestConvertXml(unittest.TestCase): + def test_convert_xml(self): + xml_string = """ + + + + + + + + + + + + + + + + + + + + """ + xml_tree = xml.etree.ElementTree.XML(xml_string) + json = { + "locale": "fr", + "name": "French", + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + ['a', 'à', 'â', '%', 'æ', 'á', 'ä', 'ã', 'å', 'ā', 'ª'], + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + ['A', 'À', 'Â', '%', 'Æ', 'Á', 'Ä', 'Ã', 'Å', 'Ā', 'ª'], + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + ["1", "¹", "½", "⅓", "¼", "⅛"], + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + ["~"], + ] + ] + } + ] + } + self.assertEqual(cldr2json.convert_xml(xml_tree), json) + + +class TestConvertFile(unittest.TestCase): + def test_fr(self): + outdir = tempfile.mkdtemp() + cldr2json.convert_file("test/data/fr-t-k0-android.xml", outdir) + with open("test/data/fr.json", encoding="utf-8") as expected_json_fd: + expected_json = json.load(expected_json_fd) + with open(outdir + "/fr.json", encoding="utf-8") as actual_json_fd: + actual_json = json.load(actual_json_fd) + self.assertEqual(expected_json, actual_json) + + +class TestLocaleToXKB(unittest.TestCase): + def test_simple(self): + self.assertEqual(cldr2json.locale_to_xkb("fr", "French"), + "fr") + + def test_fallback(self): + self.assertEqual(cldr2json.locale_to_xkb("nb", "Norwegian Bokmål"), + "no") + + def test_fallback2(self): + self.assertEqual(cldr2json.locale_to_xkb("km", "Khmer"), + "kh") + + def test_override(self): + self.assertEqual(cldr2json.locale_to_xkb("en-GB", + "English Great Britain"), + "uk") + + +class LoadXKBMapplings(unittest.TestCase): + def test_dictionnary(self): + self.assertIsInstance(cldr2json.load_xkb_mappings(), dict) + + def test_mapping(self): + mapping = cldr2json.load_xkb_mappings() + self.assertEqual(mapping["French"], "fr") + + +if __name__ == '__main__': + unittest.main() diff --git a/data/dbus-interfaces/meson.build b/data/dbus-interfaces/meson.build new file mode 100644 index 0000000..c96bbbb --- /dev/null +++ b/data/dbus-interfaces/meson.build @@ -0,0 +1,10 @@ +dbus_interfaces = [ + 'org.gnome.Shell.Extensions.xml', + 'org.gnome.Shell.Introspect.xml', + 'org.gnome.Shell.PadOsd.xml', + 'org.gnome.Shell.Screencast.xml', + 'org.gnome.Shell.Screenshot.xml', + 'org.gnome.ShellSearchProvider.xml', + 'org.gnome.ShellSearchProvider2.xml' +] +install_data(dbus_interfaces, install_dir: ifacedir) diff --git a/data/dbus-interfaces/net.hadess.PowerProfiles.xml b/data/dbus-interfaces/net.hadess.PowerProfiles.xml new file mode 100644 index 0000000..fce04a8 --- /dev/null +++ b/data/dbus-interfaces/net.hadess.PowerProfiles.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/net.hadess.SensorProxy.xml b/data/dbus-interfaces/net.hadess.SensorProxy.xml new file mode 100644 index 0000000..2bf8ffa --- /dev/null +++ b/data/dbus-interfaces/net.hadess.SensorProxy.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/data/dbus-interfaces/net.hadess.SwitcherooControl.xml b/data/dbus-interfaces/net.hadess.SwitcherooControl.xml new file mode 100644 index 0000000..e52bc1a --- /dev/null +++ b/data/dbus-interfaces/net.hadess.SwitcherooControl.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/net.reactivated.Fprint.Device.xml b/data/dbus-interfaces/net.reactivated.Fprint.Device.xml new file mode 100644 index 0000000..b3d143c --- /dev/null +++ b/data/dbus-interfaces/net.reactivated.Fprint.Device.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/net.reactivated.Fprint.Manager.xml b/data/dbus-interfaces/net.reactivated.Fprint.Manager.xml new file mode 100644 index 0000000..21e03f2 --- /dev/null +++ b/data/dbus-interfaces/net.reactivated.Fprint.Manager.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.Gtk.MountOperationHandler.xml b/data/dbus-interfaces/org.Gtk.MountOperationHandler.xml new file mode 100644 index 0000000..8b03a2e --- /dev/null +++ b/data/dbus-interfaces/org.Gtk.MountOperationHandler.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.Application.xml b/data/dbus-interfaces/org.freedesktop.Application.xml new file mode 100644 index 0000000..55be7d7 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.Application.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.DBus.xml b/data/dbus-interfaces/org.freedesktop.DBus.xml new file mode 100644 index 0000000..18ff2aa --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.DBus.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.GeoClue2.Agent.xml b/data/dbus-interfaces/org.freedesktop.GeoClue2.Agent.xml new file mode 100644 index 0000000..2773601 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.GeoClue2.Agent.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.GeoClue2.Manager.xml b/data/dbus-interfaces/org.freedesktop.GeoClue2.Manager.xml new file mode 100644 index 0000000..28db3c6 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.GeoClue2.Manager.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.ModemManager.Modem.Cdma.xml b/data/dbus-interfaces/org.freedesktop.ModemManager.Modem.Cdma.xml new file mode 100644 index 0000000..12a85e0 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.ModemManager.Modem.Cdma.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.ModemManager.Modem.Gsm.Network.xml b/data/dbus-interfaces/org.freedesktop.ModemManager.Modem.Gsm.Network.xml new file mode 100644 index 0000000..7d8c25a --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.ModemManager.Modem.Gsm.Network.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml b/data/dbus-interfaces/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml new file mode 100644 index 0000000..41e6601 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.ModemManager1.Modem.ModemCdma.xml b/data/dbus-interfaces/org.freedesktop.ModemManager1.Modem.ModemCdma.xml new file mode 100644 index 0000000..d029252 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.ModemManager1.Modem.ModemCdma.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.ModemManager1.Modem.xml b/data/dbus-interfaces/org.freedesktop.ModemManager1.Modem.xml new file mode 100644 index 0000000..204426b --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.ModemManager1.Modem.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.Notifications.xml b/data/dbus-interfaces/org.freedesktop.Notifications.xml new file mode 100644 index 0000000..0ed8657 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.Notifications.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.PackageKit.Offline.xml b/data/dbus-interfaces/org.freedesktop.PackageKit.Offline.xml new file mode 100644 index 0000000..ff61166 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.PackageKit.Offline.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.UPower.Device.xml b/data/dbus-interfaces/org.freedesktop.UPower.Device.xml new file mode 100644 index 0000000..4882285 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.UPower.Device.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.UPower.xml b/data/dbus-interfaces/org.freedesktop.UPower.xml new file mode 100644 index 0000000..a0fba20 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.UPower.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.bolt1.Device.xml b/data/dbus-interfaces/org.freedesktop.bolt1.Device.xml new file mode 100644 index 0000000..44b40dc --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.bolt1.Device.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.bolt1.Manager.xml b/data/dbus-interfaces/org.freedesktop.bolt1.Manager.xml new file mode 100644 index 0000000..c98a94f --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.bolt1.Manager.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.impl.portal.Access.xml b/data/dbus-interfaces/org.freedesktop.impl.portal.Access.xml new file mode 100644 index 0000000..802a2c1 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.impl.portal.Access.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml b/data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml new file mode 100644 index 0000000..55d3fc3 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.impl.portal.Request.xml b/data/dbus-interfaces/org.freedesktop.impl.portal.Request.xml new file mode 100644 index 0000000..a9d03eb --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.impl.portal.Request.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.login1.Manager.xml b/data/dbus-interfaces/org.freedesktop.login1.Manager.xml new file mode 100644 index 0000000..f40d498 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.login1.Manager.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.login1.Session.xml b/data/dbus-interfaces/org.freedesktop.login1.Session.xml new file mode 100644 index 0000000..6fab817 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.login1.Session.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.login1.User.xml b/data/dbus-interfaces/org.freedesktop.login1.User.xml new file mode 100644 index 0000000..d6f10b0 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.login1.User.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.realmd.Provider.xml b/data/dbus-interfaces/org.freedesktop.realmd.Provider.xml new file mode 100644 index 0000000..2fdb045 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.realmd.Provider.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.realmd.Realm.xml b/data/dbus-interfaces/org.freedesktop.realmd.Realm.xml new file mode 100644 index 0000000..351066d --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.realmd.Realm.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.freedesktop.realmd.Service.xml b/data/dbus-interfaces/org.freedesktop.realmd.Service.xml new file mode 100644 index 0000000..4ffb7e7 --- /dev/null +++ b/data/dbus-interfaces/org.freedesktop.realmd.Service.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.Mutter.ScreenCast.xml b/data/dbus-interfaces/org.gnome.Mutter.ScreenCast.xml new file mode 100644 index 0000000..a8ff3cc --- /dev/null +++ b/data/dbus-interfaces/org.gnome.Mutter.ScreenCast.xml @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.ScreenSaver.xml b/data/dbus-interfaces/org.gnome.ScreenSaver.xml new file mode 100644 index 0000000..5a2ca98 --- /dev/null +++ b/data/dbus-interfaces/org.gnome.ScreenSaver.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.SessionManager.EndSessionDialog.xml b/data/dbus-interfaces/org.gnome.SessionManager.EndSessionDialog.xml new file mode 100644 index 0000000..3a57aa4 --- /dev/null +++ b/data/dbus-interfaces/org.gnome.SessionManager.EndSessionDialog.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.SessionManager.Inhibitor.xml b/data/dbus-interfaces/org.gnome.SessionManager.Inhibitor.xml new file mode 100644 index 0000000..aa6a23b --- /dev/null +++ b/data/dbus-interfaces/org.gnome.SessionManager.Inhibitor.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.SessionManager.Presence.xml b/data/dbus-interfaces/org.gnome.SessionManager.Presence.xml new file mode 100644 index 0000000..78bc604 --- /dev/null +++ b/data/dbus-interfaces/org.gnome.SessionManager.Presence.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.SessionManager.xml b/data/dbus-interfaces/org.gnome.SessionManager.xml new file mode 100644 index 0000000..c81c90f --- /dev/null +++ b/data/dbus-interfaces/org.gnome.SessionManager.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.SettingsDaemon.Color.xml b/data/dbus-interfaces/org.gnome.SettingsDaemon.Color.xml new file mode 100644 index 0000000..1528f90 --- /dev/null +++ b/data/dbus-interfaces/org.gnome.SettingsDaemon.Color.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/data/dbus-interfaces/org.gnome.SettingsDaemon.Power.Screen.xml b/data/dbus-interfaces/org.gnome.SettingsDaemon.Power.Screen.xml new file mode 100644 index 0000000..05e4b8d --- /dev/null +++ b/data/dbus-interfaces/org.gnome.SettingsDaemon.Power.Screen.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/data/dbus-interfaces/org.gnome.SettingsDaemon.Rfkill.xml b/data/dbus-interfaces/org.gnome.SettingsDaemon.Rfkill.xml new file mode 100644 index 0000000..bde65f9 --- /dev/null +++ b/data/dbus-interfaces/org.gnome.SettingsDaemon.Rfkill.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.SettingsDaemon.Wacom.xml b/data/dbus-interfaces/org.gnome.SettingsDaemon.Wacom.xml new file mode 100644 index 0000000..1370214 --- /dev/null +++ b/data/dbus-interfaces/org.gnome.SettingsDaemon.Wacom.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.Shell.AudioDeviceSelection.xml b/data/dbus-interfaces/org.gnome.Shell.AudioDeviceSelection.xml new file mode 100644 index 0000000..28cc6da --- /dev/null +++ b/data/dbus-interfaces/org.gnome.Shell.AudioDeviceSelection.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.Shell.CalendarServer.xml b/data/dbus-interfaces/org.gnome.Shell.CalendarServer.xml new file mode 100644 index 0000000..5814710 --- /dev/null +++ b/data/dbus-interfaces/org.gnome.Shell.CalendarServer.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.Shell.ClocksIntegration.xml b/data/dbus-interfaces/org.gnome.Shell.ClocksIntegration.xml new file mode 100644 index 0000000..0cbb132 --- /dev/null +++ b/data/dbus-interfaces/org.gnome.Shell.ClocksIntegration.xml @@ -0,0 +1,15 @@ + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.Shell.Extensions.xml b/data/dbus-interfaces/org.gnome.Shell.Extensions.xml new file mode 100644 index 0000000..51448dc --- /dev/null +++ b/data/dbus-interfaces/org.gnome.Shell.Extensions.xml @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.Shell.HotplugSniffer.xml b/data/dbus-interfaces/org.gnome.Shell.HotplugSniffer.xml new file mode 100644 index 0000000..b4373cc --- /dev/null +++ b/data/dbus-interfaces/org.gnome.Shell.HotplugSniffer.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.Shell.Introspect.xml b/data/dbus-interfaces/org.gnome.Shell.Introspect.xml new file mode 100644 index 0000000..cb19cfe --- /dev/null +++ b/data/dbus-interfaces/org.gnome.Shell.Introspect.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.Shell.PadOsd.xml b/data/dbus-interfaces/org.gnome.Shell.PadOsd.xml new file mode 100644 index 0000000..765973c --- /dev/null +++ b/data/dbus-interfaces/org.gnome.Shell.PadOsd.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.Shell.PerfHelper.xml b/data/dbus-interfaces/org.gnome.Shell.PerfHelper.xml new file mode 100644 index 0000000..98fea27 --- /dev/null +++ b/data/dbus-interfaces/org.gnome.Shell.PerfHelper.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.Shell.PortalHelper.xml b/data/dbus-interfaces/org.gnome.Shell.PortalHelper.xml new file mode 100644 index 0000000..8c6a13e --- /dev/null +++ b/data/dbus-interfaces/org.gnome.Shell.PortalHelper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.Shell.Screencast.xml b/data/dbus-interfaces/org.gnome.Shell.Screencast.xml new file mode 100644 index 0000000..b4cd592 --- /dev/null +++ b/data/dbus-interfaces/org.gnome.Shell.Screencast.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.Shell.Screenshot.xml b/data/dbus-interfaces/org.gnome.Shell.Screenshot.xml new file mode 100644 index 0000000..528b01e --- /dev/null +++ b/data/dbus-interfaces/org.gnome.Shell.Screenshot.xml @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.Shell.Wacom.PadOsd.xml b/data/dbus-interfaces/org.gnome.Shell.Wacom.PadOsd.xml new file mode 100644 index 0000000..5e046c7 --- /dev/null +++ b/data/dbus-interfaces/org.gnome.Shell.Wacom.PadOsd.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.Shell.WeatherIntegration.xml b/data/dbus-interfaces/org.gnome.Shell.WeatherIntegration.xml new file mode 100644 index 0000000..1e89bbe --- /dev/null +++ b/data/dbus-interfaces/org.gnome.Shell.WeatherIntegration.xml @@ -0,0 +1,16 @@ + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.Shell.xml b/data/dbus-interfaces/org.gnome.Shell.xml new file mode 100644 index 0000000..3ffb5c3 --- /dev/null +++ b/data/dbus-interfaces/org.gnome.Shell.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.ShellSearchProvider.xml b/data/dbus-interfaces/org.gnome.ShellSearchProvider.xml new file mode 100644 index 0000000..78ad305 --- /dev/null +++ b/data/dbus-interfaces/org.gnome.ShellSearchProvider.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gnome.ShellSearchProvider2.xml b/data/dbus-interfaces/org.gnome.ShellSearchProvider2.xml new file mode 100644 index 0000000..9502340 --- /dev/null +++ b/data/dbus-interfaces/org.gnome.ShellSearchProvider2.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.gtk.Notifications.xml b/data/dbus-interfaces/org.gtk.Notifications.xml new file mode 100644 index 0000000..56a6cec --- /dev/null +++ b/data/dbus-interfaces/org.gtk.Notifications.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.mpris.MediaPlayer2.Player.xml b/data/dbus-interfaces/org.mpris.MediaPlayer2.Player.xml new file mode 100644 index 0000000..550cb4c --- /dev/null +++ b/data/dbus-interfaces/org.mpris.MediaPlayer2.Player.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/data/dbus-interfaces/org.mpris.MediaPlayer2.xml b/data/dbus-interfaces/org.mpris.MediaPlayer2.xml new file mode 100644 index 0000000..5febaf9 --- /dev/null +++ b/data/dbus-interfaces/org.mpris.MediaPlayer2.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/data/emoji.json b/data/emoji.json new file mode 100644 index 0000000..72144df --- /dev/null +++ b/data/emoji.json @@ -0,0 +1,15740 @@ +[ + { + "no": 1, + "code": "1F600", + "char": "😀", + "name": "grinning face" + }, + { + "no": 2, + "code": "1F601", + "char": "😁", + "name": "beaming face with smiling eyes" + }, + { + "no": 3, + "code": "1F602", + "char": "😂", + "name": "face with tears of joy" + }, + { + "no": 4, + "code": "1F923", + "char": "🤣", + "name": "rolling on the floor laughing" + }, + { + "no": 5, + "code": "1F603", + "char": "😃", + "name": "grinning face with big eyes" + }, + { + "no": 6, + "code": "1F604", + "char": "😄", + "name": "grinning face with smiling eyes" + }, + { + "no": 7, + "code": "1F605", + "char": "😅", + "name": "grinning face with sweat" + }, + { + "no": 8, + "code": "1F606", + "char": "😆", + "name": "grinning squinting face" + }, + { + "no": 9, + "code": "1F609", + "char": "😉", + "name": "winking face" + }, + { + "no": 10, + "code": "1F60A", + "char": "😊", + "name": "smiling face with smiling eyes" + }, + { + "no": 11, + "code": "1F60B", + "char": "😋", + "name": "face savoring food" + }, + { + "no": 12, + "code": "1F60E", + "char": "😎", + "name": "smiling face with sunglasses" + }, + { + "no": 13, + "code": "1F60D", + "char": "😍", + "name": "smiling face with heart-eyes" + }, + { + "no": 14, + "code": "1F618", + "char": "😘", + "name": "face blowing a kiss" + }, + { + "no": 15, + "code": "1F617", + "char": "😗", + "name": "kissing face" + }, + { + "no": 16, + "code": "1F619", + "char": "😙", + "name": "kissing face with smiling eyes" + }, + { + "no": 17, + "code": "1F61A", + "char": "😚", + "name": "kissing face with closed eyes" + }, + { + "no": 18, + "code": "263A", + "char": "☺", + "name": "smiling face" + }, + { + "no": 19, + "code": "1F642", + "char": "🙂", + "name": "slightly smiling face" + }, + { + "no": 20, + "code": "1F917", + "char": "🤗", + "name": "hugging face" + }, + { + "no": 21, + "code": "1F929", + "char": "🤩", + "name": "⊛ star-struck" + }, + { + "no": 22, + "code": "1F914", + "char": "🤔", + "name": "thinking face" + }, + { + "no": 23, + "code": "1F928", + "char": "🤨", + "name": "⊛ face with raised eyebrow" + }, + { + "no": 24, + "code": "1F610", + "char": "😐", + "name": "neutral face" + }, + { + "no": 25, + "code": "1F611", + "char": "😑", + "name": "expressionless face" + }, + { + "no": 26, + "code": "1F636", + "char": "😶", + "name": "face without mouth" + }, + { + "no": 27, + "code": "1F644", + "char": "🙄", + "name": "face with rolling eyes" + }, + { + "no": 28, + "code": "1F60F", + "char": "😏", + "name": "smirking face" + }, + { + "no": 29, + "code": "1F623", + "char": "😣", + "name": "persevering face" + }, + { + "no": 30, + "code": "1F625", + "char": "😥", + "name": "sad but relieved face" + }, + { + "no": 31, + "code": "1F62E", + "char": "😮", + "name": "face with open mouth" + }, + { + "no": 32, + "code": "1F910", + "char": "🤐", + "name": "zipper-mouth face" + }, + { + "no": 33, + "code": "1F62F", + "char": "😯", + "name": "hushed face" + }, + { + "no": 34, + "code": "1F62A", + "char": "😪", + "name": "sleepy face" + }, + { + "no": 35, + "code": "1F62B", + "char": "😫", + "name": "tired face" + }, + { + "no": 36, + "code": "1F634", + "char": "😴", + "name": "sleeping face" + }, + { + "no": 37, + "code": "1F60C", + "char": "😌", + "name": "relieved face" + }, + { + "no": 38, + "code": "1F61B", + "char": "😛", + "name": "face with tongue" + }, + { + "no": 39, + "code": "1F61C", + "char": "😜", + "name": "winking face with tongue" + }, + { + "no": 40, + "code": "1F61D", + "char": "😝", + "name": "squinting face with tongue" + }, + { + "no": 41, + "code": "1F924", + "char": "🤤", + "name": "drooling face" + }, + { + "no": 42, + "code": "1F612", + "char": "😒", + "name": "unamused face" + }, + { + "no": 43, + "code": "1F613", + "char": "😓", + "name": "downcast face with sweat" + }, + { + "no": 44, + "code": "1F614", + "char": "😔", + "name": "pensive face" + }, + { + "no": 45, + "code": "1F615", + "char": "😕", + "name": "confused face" + }, + { + "no": 46, + "code": "1F643", + "char": "🙃", + "name": "upside-down face" + }, + { + "no": 47, + "code": "1F911", + "char": "🤑", + "name": "money-mouth face" + }, + { + "no": 48, + "code": "1F632", + "char": "😲", + "name": "astonished face" + }, + { + "no": 49, + "code": "2639", + "char": "☹", + "name": "frowning face" + }, + { + "no": 50, + "code": "1F641", + "char": "🙁", + "name": "slightly frowning face" + }, + { + "no": 51, + "code": "1F616", + "char": "😖", + "name": "confounded face" + }, + { + "no": 52, + "code": "1F61E", + "char": "😞", + "name": "disappointed face" + }, + { + "no": 53, + "code": "1F61F", + "char": "😟", + "name": "worried face" + }, + { + "no": 54, + "code": "1F624", + "char": "😤", + "name": "face with steam from nose" + }, + { + "no": 55, + "code": "1F622", + "char": "😢", + "name": "crying face" + }, + { + "no": 56, + "code": "1F62D", + "char": "😭", + "name": "loudly crying face" + }, + { + "no": 57, + "code": "1F626", + "char": "😦", + "name": "frowning face with open mouth" + }, + { + "no": 58, + "code": "1F627", + "char": "😧", + "name": "anguished face" + }, + { + "no": 59, + "code": "1F628", + "char": "😨", + "name": "fearful face" + }, + { + "no": 60, + "code": "1F629", + "char": "😩", + "name": "weary face" + }, + { + "no": 61, + "code": "1F92F", + "char": "🤯", + "name": "⊛ exploding head" + }, + { + "no": 62, + "code": "1F62C", + "char": "😬", + "name": "grimacing face" + }, + { + "no": 63, + "code": "1F630", + "char": "😰", + "name": "anxious face with sweat" + }, + { + "no": 64, + "code": "1F631", + "char": "😱", + "name": "face screaming in fear" + }, + { + "no": 65, + "code": "1F633", + "char": "😳", + "name": "flushed face" + }, + { + "no": 66, + "code": "1F92A", + "char": "🤪", + "name": "⊛ crazy face" + }, + { + "no": 67, + "code": "1F635", + "char": "😵", + "name": "dizzy face" + }, + { + "no": 68, + "code": "1F621", + "char": "😡", + "name": "pouting face" + }, + { + "no": 69, + "code": "1F620", + "char": "😠", + "name": "angry face" + }, + { + "no": 70, + "code": "1F92C", + "char": "🤬", + "name": "⊛ face with symbols on mouth" + }, + { + "no": 71, + "code": "1F637", + "char": "😷", + "name": "face with medical mask" + }, + { + "no": 72, + "code": "1F912", + "char": "🤒", + "name": "face with thermometer" + }, + { + "no": 73, + "code": "1F915", + "char": "🤕", + "name": "face with head-bandage" + }, + { + "no": 74, + "code": "1F922", + "char": "🤢", + "name": "nauseated face" + }, + { + "no": 75, + "code": "1F92E", + "char": "🤮", + "name": "⊛ face vomiting" + }, + { + "no": 76, + "code": "1F927", + "char": "🤧", + "name": "sneezing face" + }, + { + "no": 77, + "code": "1F607", + "char": "😇", + "name": "smiling face with halo" + }, + { + "no": 78, + "code": "1F920", + "char": "🤠", + "name": "cowboy hat face" + }, + { + "no": 79, + "code": "1F921", + "char": "🤡", + "name": "clown face" + }, + { + "no": 80, + "code": "1F925", + "char": "🤥", + "name": "lying face" + }, + { + "no": 81, + "code": "1F92B", + "char": "🤫", + "name": "⊛ shushing face" + }, + { + "no": 82, + "code": "1F92D", + "char": "🤭", + "name": "⊛ face with hand over mouth" + }, + { + "no": 83, + "code": "1F9D0", + "char": "🧐", + "name": "⊛ face with monocle" + }, + { + "no": 84, + "code": "1F913", + "char": "🤓", + "name": "nerd face" + }, + { + "no": 85, + "code": "1F608", + "char": "😈", + "name": "smiling face with horns" + }, + { + "no": 86, + "code": "1F47F", + "char": "👿", + "name": "angry face with horns" + }, + { + "no": 87, + "code": "1F479", + "char": "👹", + "name": "ogre" + }, + { + "no": 88, + "code": "1F47A", + "char": "👺", + "name": "goblin" + }, + { + "no": 89, + "code": "1F480", + "char": "💀", + "name": "skull" + }, + { + "no": 90, + "code": "2620", + "char": "☠", + "name": "skull and crossbones" + }, + { + "no": 91, + "code": "1F47B", + "char": "👻", + "name": "ghost" + }, + { + "no": 92, + "code": "1F47D", + "char": "👽", + "name": "alien" + }, + { + "no": 93, + "code": "1F47E", + "char": "👾", + "name": "alien monster" + }, + { + "no": 94, + "code": "1F916", + "char": "🤖", + "name": "robot face" + }, + { + "no": 95, + "code": "1F4A9", + "char": "💩", + "name": "pile of poo" + }, + { + "no": 96, + "code": "1F63A", + "char": "😺", + "name": "grinning cat face" + }, + { + "no": 97, + "code": "1F638", + "char": "😸", + "name": "grinning cat face with smiling eyes" + }, + { + "no": 98, + "code": "1F639", + "char": "😹", + "name": "cat face with tears of joy" + }, + { + "no": 99, + "code": "1F63B", + "char": "😻", + "name": "smiling cat face with heart-eyes" + }, + { + "no": 100, + "code": "1F63C", + "char": "😼", + "name": "cat face with wry smile" + }, + { + "no": 101, + "code": "1F63D", + "char": "😽", + "name": "kissing cat face" + }, + { + "no": 102, + "code": "1F640", + "char": "🙀", + "name": "weary cat face" + }, + { + "no": 103, + "code": "1F63F", + "char": "😿", + "name": "crying cat face" + }, + { + "no": 104, + "code": "1F63E", + "char": "😾", + "name": "pouting cat face" + }, + { + "no": 105, + "code": "1F648", + "char": "🙈", + "name": "see-no-evil monkey" + }, + { + "no": 106, + "code": "1F649", + "char": "🙉", + "name": "hear-no-evil monkey" + }, + { + "no": 107, + "code": "1F64A", + "char": "🙊", + "name": "speak-no-evil monkey" + }, + { + "no": 108, + "code": "1F476", + "char": "👶", + "name": "baby" + }, + { + "no": 109, + "code": "1F476 1F3FB", + "char": "👶🏻", + "name": "baby: light skin tone" + }, + { + "no": 110, + "code": "1F476 1F3FC", + "char": "👶🏼", + "name": "baby: medium-light skin tone" + }, + { + "no": 111, + "code": "1F476 1F3FD", + "char": "👶🏽", + "name": "baby: medium skin tone" + }, + { + "no": 112, + "code": "1F476 1F3FE", + "char": "👶🏾", + "name": "baby: medium-dark skin tone" + }, + { + "no": 113, + "code": "1F476 1F3FF", + "char": "👶🏿", + "name": "baby: dark skin tone" + }, + { + "no": 114, + "code": "1F9D2", + "char": "🧒", + "name": "⊛ child" + }, + { + "no": 115, + "code": "1F9D2 1F3FB", + "char": "🧒🏻", + "name": "⊛ child: light skin tone" + }, + { + "no": 116, + "code": "1F9D2 1F3FC", + "char": "🧒🏼", + "name": "⊛ child: medium-light skin tone" + }, + { + "no": 117, + "code": "1F9D2 1F3FD", + "char": "🧒🏽", + "name": "⊛ child: medium skin tone" + }, + { + "no": 118, + "code": "1F9D2 1F3FE", + "char": "🧒🏾", + "name": "⊛ child: medium-dark skin tone" + }, + { + "no": 119, + "code": "1F9D2 1F3FF", + "char": "🧒🏿", + "name": "⊛ child: dark skin tone" + }, + { + "no": 120, + "code": "1F466", + "char": "👦", + "name": "boy" + }, + { + "no": 121, + "code": "1F466 1F3FB", + "char": "👦🏻", + "name": "boy: light skin tone" + }, + { + "no": 122, + "code": "1F466 1F3FC", + "char": "👦🏼", + "name": "boy: medium-light skin tone" + }, + { + "no": 123, + "code": "1F466 1F3FD", + "char": "👦🏽", + "name": "boy: medium skin tone" + }, + { + "no": 124, + "code": "1F466 1F3FE", + "char": "👦🏾", + "name": "boy: medium-dark skin tone" + }, + { + "no": 125, + "code": "1F466 1F3FF", + "char": "👦🏿", + "name": "boy: dark skin tone" + }, + { + "no": 126, + "code": "1F467", + "char": "👧", + "name": "girl" + }, + { + "no": 127, + "code": "1F467 1F3FB", + "char": "👧🏻", + "name": "girl: light skin tone" + }, + { + "no": 128, + "code": "1F467 1F3FC", + "char": "👧🏼", + "name": "girl: medium-light skin tone" + }, + { + "no": 129, + "code": "1F467 1F3FD", + "char": "👧🏽", + "name": "girl: medium skin tone" + }, + { + "no": 130, + "code": "1F467 1F3FE", + "char": "👧🏾", + "name": "girl: medium-dark skin tone" + }, + { + "no": 131, + "code": "1F467 1F3FF", + "char": "👧🏿", + "name": "girl: dark skin tone" + }, + { + "no": 132, + "code": "1F9D1", + "char": "🧑", + "name": "⊛ adult" + }, + { + "no": 133, + "code": "1F9D1 1F3FB", + "char": "🧑🏻", + "name": "⊛ adult: light skin tone" + }, + { + "no": 134, + "code": "1F9D1 1F3FC", + "char": "🧑🏼", + "name": "⊛ adult: medium-light skin tone" + }, + { + "no": 135, + "code": "1F9D1 1F3FD", + "char": "🧑🏽", + "name": "⊛ adult: medium skin tone" + }, + { + "no": 136, + "code": "1F9D1 1F3FE", + "char": "🧑🏾", + "name": "⊛ adult: medium-dark skin tone" + }, + { + "no": 137, + "code": "1F9D1 1F3FF", + "char": "🧑🏿", + "name": "⊛ adult: dark skin tone" + }, + { + "no": 138, + "code": "1F468", + "char": "👨", + "name": "man" + }, + { + "no": 139, + "code": "1F468 1F3FB", + "char": "👨🏻", + "name": "man: light skin tone" + }, + { + "no": 140, + "code": "1F468 1F3FC", + "char": "👨🏼", + "name": "man: medium-light skin tone" + }, + { + "no": 141, + "code": "1F468 1F3FD", + "char": "👨🏽", + "name": "man: medium skin tone" + }, + { + "no": 142, + "code": "1F468 1F3FE", + "char": "👨🏾", + "name": "man: medium-dark skin tone" + }, + { + "no": 143, + "code": "1F468 1F3FF", + "char": "👨🏿", + "name": "man: dark skin tone" + }, + { + "no": 144, + "code": "1F469", + "char": "👩", + "name": "woman" + }, + { + "no": 145, + "code": "1F469 1F3FB", + "char": "👩🏻", + "name": "woman: light skin tone" + }, + { + "no": 146, + "code": "1F469 1F3FC", + "char": "👩🏼", + "name": "woman: medium-light skin tone" + }, + { + "no": 147, + "code": "1F469 1F3FD", + "char": "👩🏽", + "name": "woman: medium skin tone" + }, + { + "no": 148, + "code": "1F469 1F3FE", + "char": "👩🏾", + "name": "woman: medium-dark skin tone" + }, + { + "no": 149, + "code": "1F469 1F3FF", + "char": "👩🏿", + "name": "woman: dark skin tone" + }, + { + "no": 150, + "code": "1F9D3", + "char": "🧓", + "name": "⊛ older adult" + }, + { + "no": 151, + "code": "1F9D3 1F3FB", + "char": "🧓🏻", + "name": "⊛ older adult: light skin tone" + }, + { + "no": 152, + "code": "1F9D3 1F3FC", + "char": "🧓🏼", + "name": "⊛ older adult: medium-light skin tone" + }, + { + "no": 153, + "code": "1F9D3 1F3FD", + "char": "🧓🏽", + "name": "⊛ older adult: medium skin tone" + }, + { + "no": 154, + "code": "1F9D3 1F3FE", + "char": "🧓🏾", + "name": "⊛ older adult: medium-dark skin tone" + }, + { + "no": 155, + "code": "1F9D3 1F3FF", + "char": "🧓🏿", + "name": "⊛ older adult: dark skin tone" + }, + { + "no": 156, + "code": "1F474", + "char": "👴", + "name": "old man" + }, + { + "no": 157, + "code": "1F474 1F3FB", + "char": "👴🏻", + "name": "old man: light skin tone" + }, + { + "no": 158, + "code": "1F474 1F3FC", + "char": "👴🏼", + "name": "old man: medium-light skin tone" + }, + { + "no": 159, + "code": "1F474 1F3FD", + "char": "👴🏽", + "name": "old man: medium skin tone" + }, + { + "no": 160, + "code": "1F474 1F3FE", + "char": "👴🏾", + "name": "old man: medium-dark skin tone" + }, + { + "no": 161, + "code": "1F474 1F3FF", + "char": "👴🏿", + "name": "old man: dark skin tone" + }, + { + "no": 162, + "code": "1F475", + "char": "👵", + "name": "old woman" + }, + { + "no": 163, + "code": "1F475 1F3FB", + "char": "👵🏻", + "name": "old woman: light skin tone" + }, + { + "no": 164, + "code": "1F475 1F3FC", + "char": "👵🏼", + "name": "old woman: medium-light skin tone" + }, + { + "no": 165, + "code": "1F475 1F3FD", + "char": "👵🏽", + "name": "old woman: medium skin tone" + }, + { + "no": 166, + "code": "1F475 1F3FE", + "char": "👵🏾", + "name": "old woman: medium-dark skin tone" + }, + { + "no": 167, + "code": "1F475 1F3FF", + "char": "👵🏿", + "name": "old woman: dark skin tone" + }, + { + "no": 168, + "code": "1F468 200D 2695 FE0F", + "char": "👨‍⚕️", + "name": "man health worker" + }, + { + "no": 169, + "code": "1F468 1F3FB 200D 2695 FE0F", + "char": "👨🏻‍⚕️", + "name": "man health worker: light skin tone" + }, + { + "no": 170, + "code": "1F468 1F3FC 200D 2695 FE0F", + "char": "👨🏼‍⚕️", + "name": "man health worker: medium-light skin tone" + }, + { + "no": 171, + "code": "1F468 1F3FD 200D 2695 FE0F", + "char": "👨🏽‍⚕️", + "name": "man health worker: medium skin tone" + }, + { + "no": 172, + "code": "1F468 1F3FE 200D 2695 FE0F", + "char": "👨🏾‍⚕️", + "name": "man health worker: medium-dark skin tone" + }, + { + "no": 173, + "code": "1F468 1F3FF 200D 2695 FE0F", + "char": "👨🏿‍⚕️", + "name": "man health worker: dark skin tone" + }, + { + "no": 174, + "code": "1F469 200D 2695 FE0F", + "char": "👩‍⚕️", + "name": "woman health worker" + }, + { + "no": 175, + "code": "1F469 1F3FB 200D 2695 FE0F", + "char": "👩🏻‍⚕️", + "name": "woman health worker: light skin tone" + }, + { + "no": 176, + "code": "1F469 1F3FC 200D 2695 FE0F", + "char": "👩🏼‍⚕️", + "name": "woman health worker: medium-light skin tone" + }, + { + "no": 177, + "code": "1F469 1F3FD 200D 2695 FE0F", + "char": "👩🏽‍⚕️", + "name": "woman health worker: medium skin tone" + }, + { + "no": 178, + "code": "1F469 1F3FE 200D 2695 FE0F", + "char": "👩🏾‍⚕️", + "name": "woman health worker: medium-dark skin tone" + }, + { + "no": 179, + "code": "1F469 1F3FF 200D 2695 FE0F", + "char": "👩🏿‍⚕️", + "name": "woman health worker: dark skin tone" + }, + { + "no": 180, + "code": "1F468 200D 1F393", + "char": "👨‍🎓", + "name": "man student" + }, + { + "no": 181, + "code": "1F468 1F3FB 200D 1F393", + "char": "👨🏻‍🎓", + "name": "man student: light skin tone" + }, + { + "no": 182, + "code": "1F468 1F3FC 200D 1F393", + "char": "👨🏼‍🎓", + "name": "man student: medium-light skin tone" + }, + { + "no": 183, + "code": "1F468 1F3FD 200D 1F393", + "char": "👨🏽‍🎓", + "name": "man student: medium skin tone" + }, + { + "no": 184, + "code": "1F468 1F3FE 200D 1F393", + "char": "👨🏾‍🎓", + "name": "man student: medium-dark skin tone" + }, + { + "no": 185, + "code": "1F468 1F3FF 200D 1F393", + "char": "👨🏿‍🎓", + "name": "man student: dark skin tone" + }, + { + "no": 186, + "code": "1F469 200D 1F393", + "char": "👩‍🎓", + "name": "woman student" + }, + { + "no": 187, + "code": "1F469 1F3FB 200D 1F393", + "char": "👩🏻‍🎓", + "name": "woman student: light skin tone" + }, + { + "no": 188, + "code": "1F469 1F3FC 200D 1F393", + "char": "👩🏼‍🎓", + "name": "woman student: medium-light skin tone" + }, + { + "no": 189, + "code": "1F469 1F3FD 200D 1F393", + "char": "👩🏽‍🎓", + "name": "woman student: medium skin tone" + }, + { + "no": 190, + "code": "1F469 1F3FE 200D 1F393", + "char": "👩🏾‍🎓", + "name": "woman student: medium-dark skin tone" + }, + { + "no": 191, + "code": "1F469 1F3FF 200D 1F393", + "char": "👩🏿‍🎓", + "name": "woman student: dark skin tone" + }, + { + "no": 192, + "code": "1F468 200D 1F3EB", + "char": "👨‍🏫", + "name": "man teacher" + }, + { + "no": 193, + "code": "1F468 1F3FB 200D 1F3EB", + "char": "👨🏻‍🏫", + "name": "man teacher: light skin tone" + }, + { + "no": 194, + "code": "1F468 1F3FC 200D 1F3EB", + "char": "👨🏼‍🏫", + "name": "man teacher: medium-light skin tone" + }, + { + "no": 195, + "code": "1F468 1F3FD 200D 1F3EB", + "char": "👨🏽‍🏫", + "name": "man teacher: medium skin tone" + }, + { + "no": 196, + "code": "1F468 1F3FE 200D 1F3EB", + "char": "👨🏾‍🏫", + "name": "man teacher: medium-dark skin tone" + }, + { + "no": 197, + "code": "1F468 1F3FF 200D 1F3EB", + "char": "👨🏿‍🏫", + "name": "man teacher: dark skin tone" + }, + { + "no": 198, + "code": "1F469 200D 1F3EB", + "char": "👩‍🏫", + "name": "woman teacher" + }, + { + "no": 199, + "code": "1F469 1F3FB 200D 1F3EB", + "char": "👩🏻‍🏫", + "name": "woman teacher: light skin tone" + }, + { + "no": 200, + "code": "1F469 1F3FC 200D 1F3EB", + "char": "👩🏼‍🏫", + "name": "woman teacher: medium-light skin tone" + }, + { + "no": 201, + "code": "1F469 1F3FD 200D 1F3EB", + "char": "👩🏽‍🏫", + "name": "woman teacher: medium skin tone" + }, + { + "no": 202, + "code": "1F469 1F3FE 200D 1F3EB", + "char": "👩🏾‍🏫", + "name": "woman teacher: medium-dark skin tone" + }, + { + "no": 203, + "code": "1F469 1F3FF 200D 1F3EB", + "char": "👩🏿‍🏫", + "name": "woman teacher: dark skin tone" + }, + { + "no": 204, + "code": "1F468 200D 2696 FE0F", + "char": "👨‍⚖️", + "name": "man judge" + }, + { + "no": 205, + "code": "1F468 1F3FB 200D 2696 FE0F", + "char": "👨🏻‍⚖️", + "name": "man judge: light skin tone" + }, + { + "no": 206, + "code": "1F468 1F3FC 200D 2696 FE0F", + "char": "👨🏼‍⚖️", + "name": "man judge: medium-light skin tone" + }, + { + "no": 207, + "code": "1F468 1F3FD 200D 2696 FE0F", + "char": "👨🏽‍⚖️", + "name": "man judge: medium skin tone" + }, + { + "no": 208, + "code": "1F468 1F3FE 200D 2696 FE0F", + "char": "👨🏾‍⚖️", + "name": "man judge: medium-dark skin tone" + }, + { + "no": 209, + "code": "1F468 1F3FF 200D 2696 FE0F", + "char": "👨🏿‍⚖️", + "name": "man judge: dark skin tone" + }, + { + "no": 210, + "code": "1F469 200D 2696 FE0F", + "char": "👩‍⚖️", + "name": "woman judge" + }, + { + "no": 211, + "code": "1F469 1F3FB 200D 2696 FE0F", + "char": "👩🏻‍⚖️", + "name": "woman judge: light skin tone" + }, + { + "no": 212, + "code": "1F469 1F3FC 200D 2696 FE0F", + "char": "👩🏼‍⚖️", + "name": "woman judge: medium-light skin tone" + }, + { + "no": 213, + "code": "1F469 1F3FD 200D 2696 FE0F", + "char": "👩🏽‍⚖️", + "name": "woman judge: medium skin tone" + }, + { + "no": 214, + "code": "1F469 1F3FE 200D 2696 FE0F", + "char": "👩🏾‍⚖️", + "name": "woman judge: medium-dark skin tone" + }, + { + "no": 215, + "code": "1F469 1F3FF 200D 2696 FE0F", + "char": "👩🏿‍⚖️", + "name": "woman judge: dark skin tone" + }, + { + "no": 216, + "code": "1F468 200D 1F33E", + "char": "👨‍🌾", + "name": "man farmer" + }, + { + "no": 217, + "code": "1F468 1F3FB 200D 1F33E", + "char": "👨🏻‍🌾", + "name": "man farmer: light skin tone" + }, + { + "no": 218, + "code": "1F468 1F3FC 200D 1F33E", + "char": "👨🏼‍🌾", + "name": "man farmer: medium-light skin tone" + }, + { + "no": 219, + "code": "1F468 1F3FD 200D 1F33E", + "char": "👨🏽‍🌾", + "name": "man farmer: medium skin tone" + }, + { + "no": 220, + "code": "1F468 1F3FE 200D 1F33E", + "char": "👨🏾‍🌾", + "name": "man farmer: medium-dark skin tone" + }, + { + "no": 221, + "code": "1F468 1F3FF 200D 1F33E", + "char": "👨🏿‍🌾", + "name": "man farmer: dark skin tone" + }, + { + "no": 222, + "code": "1F469 200D 1F33E", + "char": "👩‍🌾", + "name": "woman farmer" + }, + { + "no": 223, + "code": "1F469 1F3FB 200D 1F33E", + "char": "👩🏻‍🌾", + "name": "woman farmer: light skin tone" + }, + { + "no": 224, + "code": "1F469 1F3FC 200D 1F33E", + "char": "👩🏼‍🌾", + "name": "woman farmer: medium-light skin tone" + }, + { + "no": 225, + "code": "1F469 1F3FD 200D 1F33E", + "char": "👩🏽‍🌾", + "name": "woman farmer: medium skin tone" + }, + { + "no": 226, + "code": "1F469 1F3FE 200D 1F33E", + "char": "👩🏾‍🌾", + "name": "woman farmer: medium-dark skin tone" + }, + { + "no": 227, + "code": "1F469 1F3FF 200D 1F33E", + "char": "👩🏿‍🌾", + "name": "woman farmer: dark skin tone" + }, + { + "no": 228, + "code": "1F468 200D 1F373", + "char": "👨‍🍳", + "name": "man cook" + }, + { + "no": 229, + "code": "1F468 1F3FB 200D 1F373", + "char": "👨🏻‍🍳", + "name": "man cook: light skin tone" + }, + { + "no": 230, + "code": "1F468 1F3FC 200D 1F373", + "char": "👨🏼‍🍳", + "name": "man cook: medium-light skin tone" + }, + { + "no": 231, + "code": "1F468 1F3FD 200D 1F373", + "char": "👨🏽‍🍳", + "name": "man cook: medium skin tone" + }, + { + "no": 232, + "code": "1F468 1F3FE 200D 1F373", + "char": "👨🏾‍🍳", + "name": "man cook: medium-dark skin tone" + }, + { + "no": 233, + "code": "1F468 1F3FF 200D 1F373", + "char": "👨🏿‍🍳", + "name": "man cook: dark skin tone" + }, + { + "no": 234, + "code": "1F469 200D 1F373", + "char": "👩‍🍳", + "name": "woman cook" + }, + { + "no": 235, + "code": "1F469 1F3FB 200D 1F373", + "char": "👩🏻‍🍳", + "name": "woman cook: light skin tone" + }, + { + "no": 236, + "code": "1F469 1F3FC 200D 1F373", + "char": "👩🏼‍🍳", + "name": "woman cook: medium-light skin tone" + }, + { + "no": 237, + "code": "1F469 1F3FD 200D 1F373", + "char": "👩🏽‍🍳", + "name": "woman cook: medium skin tone" + }, + { + "no": 238, + "code": "1F469 1F3FE 200D 1F373", + "char": "👩🏾‍🍳", + "name": "woman cook: medium-dark skin tone" + }, + { + "no": 239, + "code": "1F469 1F3FF 200D 1F373", + "char": "👩🏿‍🍳", + "name": "woman cook: dark skin tone" + }, + { + "no": 240, + "code": "1F468 200D 1F527", + "char": "👨‍🔧", + "name": "man mechanic" + }, + { + "no": 241, + "code": "1F468 1F3FB 200D 1F527", + "char": "👨🏻‍🔧", + "name": "man mechanic: light skin tone" + }, + { + "no": 242, + "code": "1F468 1F3FC 200D 1F527", + "char": "👨🏼‍🔧", + "name": "man mechanic: medium-light skin tone" + }, + { + "no": 243, + "code": "1F468 1F3FD 200D 1F527", + "char": "👨🏽‍🔧", + "name": "man mechanic: medium skin tone" + }, + { + "no": 244, + "code": "1F468 1F3FE 200D 1F527", + "char": "👨🏾‍🔧", + "name": "man mechanic: medium-dark skin tone" + }, + { + "no": 245, + "code": "1F468 1F3FF 200D 1F527", + "char": "👨🏿‍🔧", + "name": "man mechanic: dark skin tone" + }, + { + "no": 246, + "code": "1F469 200D 1F527", + "char": "👩‍🔧", + "name": "woman mechanic" + }, + { + "no": 247, + "code": "1F469 1F3FB 200D 1F527", + "char": "👩🏻‍🔧", + "name": "woman mechanic: light skin tone" + }, + { + "no": 248, + "code": "1F469 1F3FC 200D 1F527", + "char": "👩🏼‍🔧", + "name": "woman mechanic: medium-light skin tone" + }, + { + "no": 249, + "code": "1F469 1F3FD 200D 1F527", + "char": "👩🏽‍🔧", + "name": "woman mechanic: medium skin tone" + }, + { + "no": 250, + "code": "1F469 1F3FE 200D 1F527", + "char": "👩🏾‍🔧", + "name": "woman mechanic: medium-dark skin tone" + }, + { + "no": 251, + "code": "1F469 1F3FF 200D 1F527", + "char": "👩🏿‍🔧", + "name": "woman mechanic: dark skin tone" + }, + { + "no": 252, + "code": "1F468 200D 1F3ED", + "char": "👨‍🏭", + "name": "man factory worker" + }, + { + "no": 253, + "code": "1F468 1F3FB 200D 1F3ED", + "char": "👨🏻‍🏭", + "name": "man factory worker: light skin tone" + }, + { + "no": 254, + "code": "1F468 1F3FC 200D 1F3ED", + "char": "👨🏼‍🏭", + "name": "man factory worker: medium-light skin tone" + }, + { + "no": 255, + "code": "1F468 1F3FD 200D 1F3ED", + "char": "👨🏽‍🏭", + "name": "man factory worker: medium skin tone" + }, + { + "no": 256, + "code": "1F468 1F3FE 200D 1F3ED", + "char": "👨🏾‍🏭", + "name": "man factory worker: medium-dark skin tone" + }, + { + "no": 257, + "code": "1F468 1F3FF 200D 1F3ED", + "char": "👨🏿‍🏭", + "name": "man factory worker: dark skin tone" + }, + { + "no": 258, + "code": "1F469 200D 1F3ED", + "char": "👩‍🏭", + "name": "woman factory worker" + }, + { + "no": 259, + "code": "1F469 1F3FB 200D 1F3ED", + "char": "👩🏻‍🏭", + "name": "woman factory worker: light skin tone" + }, + { + "no": 260, + "code": "1F469 1F3FC 200D 1F3ED", + "char": "👩🏼‍🏭", + "name": "woman factory worker: medium-light skin tone" + }, + { + "no": 261, + "code": "1F469 1F3FD 200D 1F3ED", + "char": "👩🏽‍🏭", + "name": "woman factory worker: medium skin tone" + }, + { + "no": 262, + "code": "1F469 1F3FE 200D 1F3ED", + "char": "👩🏾‍🏭", + "name": "woman factory worker: medium-dark skin tone" + }, + { + "no": 263, + "code": "1F469 1F3FF 200D 1F3ED", + "char": "👩🏿‍🏭", + "name": "woman factory worker: dark skin tone" + }, + { + "no": 264, + "code": "1F468 200D 1F4BC", + "char": "👨‍💼", + "name": "man office worker" + }, + { + "no": 265, + "code": "1F468 1F3FB 200D 1F4BC", + "char": "👨🏻‍💼", + "name": "man office worker: light skin tone" + }, + { + "no": 266, + "code": "1F468 1F3FC 200D 1F4BC", + "char": "👨🏼‍💼", + "name": "man office worker: medium-light skin tone" + }, + { + "no": 267, + "code": "1F468 1F3FD 200D 1F4BC", + "char": "👨🏽‍💼", + "name": "man office worker: medium skin tone" + }, + { + "no": 268, + "code": "1F468 1F3FE 200D 1F4BC", + "char": "👨🏾‍💼", + "name": "man office worker: medium-dark skin tone" + }, + { + "no": 269, + "code": "1F468 1F3FF 200D 1F4BC", + "char": "👨🏿‍💼", + "name": "man office worker: dark skin tone" + }, + { + "no": 270, + "code": "1F469 200D 1F4BC", + "char": "👩‍💼", + "name": "woman office worker" + }, + { + "no": 271, + "code": "1F469 1F3FB 200D 1F4BC", + "char": "👩🏻‍💼", + "name": "woman office worker: light skin tone" + }, + { + "no": 272, + "code": "1F469 1F3FC 200D 1F4BC", + "char": "👩🏼‍💼", + "name": "woman office worker: medium-light skin tone" + }, + { + "no": 273, + "code": "1F469 1F3FD 200D 1F4BC", + "char": "👩🏽‍💼", + "name": "woman office worker: medium skin tone" + }, + { + "no": 274, + "code": "1F469 1F3FE 200D 1F4BC", + "char": "👩🏾‍💼", + "name": "woman office worker: medium-dark skin tone" + }, + { + "no": 275, + "code": "1F469 1F3FF 200D 1F4BC", + "char": "👩🏿‍💼", + "name": "woman office worker: dark skin tone" + }, + { + "no": 276, + "code": "1F468 200D 1F52C", + "char": "👨‍🔬", + "name": "man scientist" + }, + { + "no": 277, + "code": "1F468 1F3FB 200D 1F52C", + "char": "👨🏻‍🔬", + "name": "man scientist: light skin tone" + }, + { + "no": 278, + "code": "1F468 1F3FC 200D 1F52C", + "char": "👨🏼‍🔬", + "name": "man scientist: medium-light skin tone" + }, + { + "no": 279, + "code": "1F468 1F3FD 200D 1F52C", + "char": "👨🏽‍🔬", + "name": "man scientist: medium skin tone" + }, + { + "no": 280, + "code": "1F468 1F3FE 200D 1F52C", + "char": "👨🏾‍🔬", + "name": "man scientist: medium-dark skin tone" + }, + { + "no": 281, + "code": "1F468 1F3FF 200D 1F52C", + "char": "👨🏿‍🔬", + "name": "man scientist: dark skin tone" + }, + { + "no": 282, + "code": "1F469 200D 1F52C", + "char": "👩‍🔬", + "name": "woman scientist" + }, + { + "no": 283, + "code": "1F469 1F3FB 200D 1F52C", + "char": "👩🏻‍🔬", + "name": "woman scientist: light skin tone" + }, + { + "no": 284, + "code": "1F469 1F3FC 200D 1F52C", + "char": "👩🏼‍🔬", + "name": "woman scientist: medium-light skin tone" + }, + { + "no": 285, + "code": "1F469 1F3FD 200D 1F52C", + "char": "👩🏽‍🔬", + "name": "woman scientist: medium skin tone" + }, + { + "no": 286, + "code": "1F469 1F3FE 200D 1F52C", + "char": "👩🏾‍🔬", + "name": "woman scientist: medium-dark skin tone" + }, + { + "no": 287, + "code": "1F469 1F3FF 200D 1F52C", + "char": "👩🏿‍🔬", + "name": "woman scientist: dark skin tone" + }, + { + "no": 288, + "code": "1F468 200D 1F4BB", + "char": "👨‍💻", + "name": "man technologist" + }, + { + "no": 289, + "code": "1F468 1F3FB 200D 1F4BB", + "char": "👨🏻‍💻", + "name": "man technologist: light skin tone" + }, + { + "no": 290, + "code": "1F468 1F3FC 200D 1F4BB", + "char": "👨🏼‍💻", + "name": "man technologist: medium-light skin tone" + }, + { + "no": 291, + "code": "1F468 1F3FD 200D 1F4BB", + "char": "👨🏽‍💻", + "name": "man technologist: medium skin tone" + }, + { + "no": 292, + "code": "1F468 1F3FE 200D 1F4BB", + "char": "👨🏾‍💻", + "name": "man technologist: medium-dark skin tone" + }, + { + "no": 293, + "code": "1F468 1F3FF 200D 1F4BB", + "char": "👨🏿‍💻", + "name": "man technologist: dark skin tone" + }, + { + "no": 294, + "code": "1F469 200D 1F4BB", + "char": "👩‍💻", + "name": "woman technologist" + }, + { + "no": 295, + "code": "1F469 1F3FB 200D 1F4BB", + "char": "👩🏻‍💻", + "name": "woman technologist: light skin tone" + }, + { + "no": 296, + "code": "1F469 1F3FC 200D 1F4BB", + "char": "👩🏼‍💻", + "name": "woman technologist: medium-light skin tone" + }, + { + "no": 297, + "code": "1F469 1F3FD 200D 1F4BB", + "char": "👩🏽‍💻", + "name": "woman technologist: medium skin tone" + }, + { + "no": 298, + "code": "1F469 1F3FE 200D 1F4BB", + "char": "👩🏾‍💻", + "name": "woman technologist: medium-dark skin tone" + }, + { + "no": 299, + "code": "1F469 1F3FF 200D 1F4BB", + "char": "👩🏿‍💻", + "name": "woman technologist: dark skin tone" + }, + { + "no": 300, + "code": "1F468 200D 1F3A4", + "char": "👨‍🎤", + "name": "man singer" + }, + { + "no": 301, + "code": "1F468 1F3FB 200D 1F3A4", + "char": "👨🏻‍🎤", + "name": "man singer: light skin tone" + }, + { + "no": 302, + "code": "1F468 1F3FC 200D 1F3A4", + "char": "👨🏼‍🎤", + "name": "man singer: medium-light skin tone" + }, + { + "no": 303, + "code": "1F468 1F3FD 200D 1F3A4", + "char": "👨🏽‍🎤", + "name": "man singer: medium skin tone" + }, + { + "no": 304, + "code": "1F468 1F3FE 200D 1F3A4", + "char": "👨🏾‍🎤", + "name": "man singer: medium-dark skin tone" + }, + { + "no": 305, + "code": "1F468 1F3FF 200D 1F3A4", + "char": "👨🏿‍🎤", + "name": "man singer: dark skin tone" + }, + { + "no": 306, + "code": "1F469 200D 1F3A4", + "char": "👩‍🎤", + "name": "woman singer" + }, + { + "no": 307, + "code": "1F469 1F3FB 200D 1F3A4", + "char": "👩🏻‍🎤", + "name": "woman singer: light skin tone" + }, + { + "no": 308, + "code": "1F469 1F3FC 200D 1F3A4", + "char": "👩🏼‍🎤", + "name": "woman singer: medium-light skin tone" + }, + { + "no": 309, + "code": "1F469 1F3FD 200D 1F3A4", + "char": "👩🏽‍🎤", + "name": "woman singer: medium skin tone" + }, + { + "no": 310, + "code": "1F469 1F3FE 200D 1F3A4", + "char": "👩🏾‍🎤", + "name": "woman singer: medium-dark skin tone" + }, + { + "no": 311, + "code": "1F469 1F3FF 200D 1F3A4", + "char": "👩🏿‍🎤", + "name": "woman singer: dark skin tone" + }, + { + "no": 312, + "code": "1F468 200D 1F3A8", + "char": "👨‍🎨", + "name": "man artist" + }, + { + "no": 313, + "code": "1F468 1F3FB 200D 1F3A8", + "char": "👨🏻‍🎨", + "name": "man artist: light skin tone" + }, + { + "no": 314, + "code": "1F468 1F3FC 200D 1F3A8", + "char": "👨🏼‍🎨", + "name": "man artist: medium-light skin tone" + }, + { + "no": 315, + "code": "1F468 1F3FD 200D 1F3A8", + "char": "👨🏽‍🎨", + "name": "man artist: medium skin tone" + }, + { + "no": 316, + "code": "1F468 1F3FE 200D 1F3A8", + "char": "👨🏾‍🎨", + "name": "man artist: medium-dark skin tone" + }, + { + "no": 317, + "code": "1F468 1F3FF 200D 1F3A8", + "char": "👨🏿‍🎨", + "name": "man artist: dark skin tone" + }, + { + "no": 318, + "code": "1F469 200D 1F3A8", + "char": "👩‍🎨", + "name": "woman artist" + }, + { + "no": 319, + "code": "1F469 1F3FB 200D 1F3A8", + "char": "👩🏻‍🎨", + "name": "woman artist: light skin tone" + }, + { + "no": 320, + "code": "1F469 1F3FC 200D 1F3A8", + "char": "👩🏼‍🎨", + "name": "woman artist: medium-light skin tone" + }, + { + "no": 321, + "code": "1F469 1F3FD 200D 1F3A8", + "char": "👩🏽‍🎨", + "name": "woman artist: medium skin tone" + }, + { + "no": 322, + "code": "1F469 1F3FE 200D 1F3A8", + "char": "👩🏾‍🎨", + "name": "woman artist: medium-dark skin tone" + }, + { + "no": 323, + "code": "1F469 1F3FF 200D 1F3A8", + "char": "👩🏿‍🎨", + "name": "woman artist: dark skin tone" + }, + { + "no": 324, + "code": "1F468 200D 2708 FE0F", + "char": "👨‍✈️", + "name": "man pilot" + }, + { + "no": 325, + "code": "1F468 1F3FB 200D 2708 FE0F", + "char": "👨🏻‍✈️", + "name": "man pilot: light skin tone" + }, + { + "no": 326, + "code": "1F468 1F3FC 200D 2708 FE0F", + "char": "👨🏼‍✈️", + "name": "man pilot: medium-light skin tone" + }, + { + "no": 327, + "code": "1F468 1F3FD 200D 2708 FE0F", + "char": "👨🏽‍✈️", + "name": "man pilot: medium skin tone" + }, + { + "no": 328, + "code": "1F468 1F3FE 200D 2708 FE0F", + "char": "👨🏾‍✈️", + "name": "man pilot: medium-dark skin tone" + }, + { + "no": 329, + "code": "1F468 1F3FF 200D 2708 FE0F", + "char": "👨🏿‍✈️", + "name": "man pilot: dark skin tone" + }, + { + "no": 330, + "code": "1F469 200D 2708 FE0F", + "char": "👩‍✈️", + "name": "woman pilot" + }, + { + "no": 331, + "code": "1F469 1F3FB 200D 2708 FE0F", + "char": "👩🏻‍✈️", + "name": "woman pilot: light skin tone" + }, + { + "no": 332, + "code": "1F469 1F3FC 200D 2708 FE0F", + "char": "👩🏼‍✈️", + "name": "woman pilot: medium-light skin tone" + }, + { + "no": 333, + "code": "1F469 1F3FD 200D 2708 FE0F", + "char": "👩🏽‍✈️", + "name": "woman pilot: medium skin tone" + }, + { + "no": 334, + "code": "1F469 1F3FE 200D 2708 FE0F", + "char": "👩🏾‍✈️", + "name": "woman pilot: medium-dark skin tone" + }, + { + "no": 335, + "code": "1F469 1F3FF 200D 2708 FE0F", + "char": "👩🏿‍✈️", + "name": "woman pilot: dark skin tone" + }, + { + "no": 336, + "code": "1F468 200D 1F680", + "char": "👨‍🚀", + "name": "man astronaut" + }, + { + "no": 337, + "code": "1F468 1F3FB 200D 1F680", + "char": "👨🏻‍🚀", + "name": "man astronaut: light skin tone" + }, + { + "no": 338, + "code": "1F468 1F3FC 200D 1F680", + "char": "👨🏼‍🚀", + "name": "man astronaut: medium-light skin tone" + }, + { + "no": 339, + "code": "1F468 1F3FD 200D 1F680", + "char": "👨🏽‍🚀", + "name": "man astronaut: medium skin tone" + }, + { + "no": 340, + "code": "1F468 1F3FE 200D 1F680", + "char": "👨🏾‍🚀", + "name": "man astronaut: medium-dark skin tone" + }, + { + "no": 341, + "code": "1F468 1F3FF 200D 1F680", + "char": "👨🏿‍🚀", + "name": "man astronaut: dark skin tone" + }, + { + "no": 342, + "code": "1F469 200D 1F680", + "char": "👩‍🚀", + "name": "woman astronaut" + }, + { + "no": 343, + "code": "1F469 1F3FB 200D 1F680", + "char": "👩🏻‍🚀", + "name": "woman astronaut: light skin tone" + }, + { + "no": 344, + "code": "1F469 1F3FC 200D 1F680", + "char": "👩🏼‍🚀", + "name": "woman astronaut: medium-light skin tone" + }, + { + "no": 345, + "code": "1F469 1F3FD 200D 1F680", + "char": "👩🏽‍🚀", + "name": "woman astronaut: medium skin tone" + }, + { + "no": 346, + "code": "1F469 1F3FE 200D 1F680", + "char": "👩🏾‍🚀", + "name": "woman astronaut: medium-dark skin tone" + }, + { + "no": 347, + "code": "1F469 1F3FF 200D 1F680", + "char": "👩🏿‍🚀", + "name": "woman astronaut: dark skin tone" + }, + { + "no": 348, + "code": "1F468 200D 1F692", + "char": "👨‍🚒", + "name": "man firefighter" + }, + { + "no": 349, + "code": "1F468 1F3FB 200D 1F692", + "char": "👨🏻‍🚒", + "name": "man firefighter: light skin tone" + }, + { + "no": 350, + "code": "1F468 1F3FC 200D 1F692", + "char": "👨🏼‍🚒", + "name": "man firefighter: medium-light skin tone" + }, + { + "no": 351, + "code": "1F468 1F3FD 200D 1F692", + "char": "👨🏽‍🚒", + "name": "man firefighter: medium skin tone" + }, + { + "no": 352, + "code": "1F468 1F3FE 200D 1F692", + "char": "👨🏾‍🚒", + "name": "man firefighter: medium-dark skin tone" + }, + { + "no": 353, + "code": "1F468 1F3FF 200D 1F692", + "char": "👨🏿‍🚒", + "name": "man firefighter: dark skin tone" + }, + { + "no": 354, + "code": "1F469 200D 1F692", + "char": "👩‍🚒", + "name": "woman firefighter" + }, + { + "no": 355, + "code": "1F469 1F3FB 200D 1F692", + "char": "👩🏻‍🚒", + "name": "woman firefighter: light skin tone" + }, + { + "no": 356, + "code": "1F469 1F3FC 200D 1F692", + "char": "👩🏼‍🚒", + "name": "woman firefighter: medium-light skin tone" + }, + { + "no": 357, + "code": "1F469 1F3FD 200D 1F692", + "char": "👩🏽‍🚒", + "name": "woman firefighter: medium skin tone" + }, + { + "no": 358, + "code": "1F469 1F3FE 200D 1F692", + "char": "👩🏾‍🚒", + "name": "woman firefighter: medium-dark skin tone" + }, + { + "no": 359, + "code": "1F469 1F3FF 200D 1F692", + "char": "👩🏿‍🚒", + "name": "woman firefighter: dark skin tone" + }, + { + "no": 360, + "code": "1F46E", + "char": "👮", + "name": "police officer" + }, + { + "no": 361, + "code": "1F46E 1F3FB", + "char": "👮🏻", + "name": "police officer: light skin tone" + }, + { + "no": 362, + "code": "1F46E 1F3FC", + "char": "👮🏼", + "name": "police officer: medium-light skin tone" + }, + { + "no": 363, + "code": "1F46E 1F3FD", + "char": "👮🏽", + "name": "police officer: medium skin tone" + }, + { + "no": 364, + "code": "1F46E 1F3FE", + "char": "👮🏾", + "name": "police officer: medium-dark skin tone" + }, + { + "no": 365, + "code": "1F46E 1F3FF", + "char": "👮🏿", + "name": "police officer: dark skin tone" + }, + { + "no": 366, + "code": "1F46E 200D 2642 FE0F", + "char": "👮‍♂️", + "name": "man police officer" + }, + { + "no": 367, + "code": "1F46E 1F3FB 200D 2642 FE0F", + "char": "👮🏻‍♂️", + "name": "man police officer: light skin tone" + }, + { + "no": 368, + "code": "1F46E 1F3FC 200D 2642 FE0F", + "char": "👮🏼‍♂️", + "name": "man police officer: medium-light skin tone" + }, + { + "no": 369, + "code": "1F46E 1F3FD 200D 2642 FE0F", + "char": "👮🏽‍♂️", + "name": "man police officer: medium skin tone" + }, + { + "no": 370, + "code": "1F46E 1F3FE 200D 2642 FE0F", + "char": "👮🏾‍♂️", + "name": "man police officer: medium-dark skin tone" + }, + { + "no": 371, + "code": "1F46E 1F3FF 200D 2642 FE0F", + "char": "👮🏿‍♂️", + "name": "man police officer: dark skin tone" + }, + { + "no": 372, + "code": "1F46E 200D 2640 FE0F", + "char": "👮‍♀️", + "name": "woman police officer" + }, + { + "no": 373, + "code": "1F46E 1F3FB 200D 2640 FE0F", + "char": "👮🏻‍♀️", + "name": "woman police officer: light skin tone" + }, + { + "no": 374, + "code": "1F46E 1F3FC 200D 2640 FE0F", + "char": "👮🏼‍♀️", + "name": "woman police officer: medium-light skin tone" + }, + { + "no": 375, + "code": "1F46E 1F3FD 200D 2640 FE0F", + "char": "👮🏽‍♀️", + "name": "woman police officer: medium skin tone" + }, + { + "no": 376, + "code": "1F46E 1F3FE 200D 2640 FE0F", + "char": "👮🏾‍♀️", + "name": "woman police officer: medium-dark skin tone" + }, + { + "no": 377, + "code": "1F46E 1F3FF 200D 2640 FE0F", + "char": "👮🏿‍♀️", + "name": "woman police officer: dark skin tone" + }, + { + "no": 378, + "code": "1F575", + "char": "🕵", + "name": "detective" + }, + { + "no": 379, + "code": "1F575 1F3FB", + "char": "🕵🏻", + "name": "detective: light skin tone" + }, + { + "no": 380, + "code": "1F575 1F3FC", + "char": "🕵🏼", + "name": "detective: medium-light skin tone" + }, + { + "no": 381, + "code": "1F575 1F3FD", + "char": "🕵🏽", + "name": "detective: medium skin tone" + }, + { + "no": 382, + "code": "1F575 1F3FE", + "char": "🕵🏾", + "name": "detective: medium-dark skin tone" + }, + { + "no": 383, + "code": "1F575 1F3FF", + "char": "🕵🏿", + "name": "detective: dark skin tone" + }, + { + "no": 384, + "code": "1F575 FE0F 200D 2642 FE0F", + "char": "🕵️‍♂️", + "name": "man detective" + }, + { + "no": 385, + "code": "1F575 1F3FB 200D 2642 FE0F", + "char": "🕵🏻‍♂️", + "name": "man detective: light skin tone" + }, + { + "no": 386, + "code": "1F575 1F3FC 200D 2642 FE0F", + "char": "🕵🏼‍♂️", + "name": "man detective: medium-light skin tone" + }, + { + "no": 387, + "code": "1F575 1F3FD 200D 2642 FE0F", + "char": "🕵🏽‍♂️", + "name": "man detective: medium skin tone" + }, + { + "no": 388, + "code": "1F575 1F3FE 200D 2642 FE0F", + "char": "🕵🏾‍♂️", + "name": "man detective: medium-dark skin tone" + }, + { + "no": 389, + "code": "1F575 1F3FF 200D 2642 FE0F", + "char": "🕵🏿‍♂️", + "name": "man detective: dark skin tone" + }, + { + "no": 390, + "code": "1F575 FE0F 200D 2640 FE0F", + "char": "🕵️‍♀️", + "name": "woman detective" + }, + { + "no": 391, + "code": "1F575 1F3FB 200D 2640 FE0F", + "char": "🕵🏻‍♀️", + "name": "woman detective: light skin tone" + }, + { + "no": 392, + "code": "1F575 1F3FC 200D 2640 FE0F", + "char": "🕵🏼‍♀️", + "name": "woman detective: medium-light skin tone" + }, + { + "no": 393, + "code": "1F575 1F3FD 200D 2640 FE0F", + "char": "🕵🏽‍♀️", + "name": "woman detective: medium skin tone" + }, + { + "no": 394, + "code": "1F575 1F3FE 200D 2640 FE0F", + "char": "🕵🏾‍♀️", + "name": "woman detective: medium-dark skin tone" + }, + { + "no": 395, + "code": "1F575 1F3FF 200D 2640 FE0F", + "char": "🕵🏿‍♀️", + "name": "woman detective: dark skin tone" + }, + { + "no": 396, + "code": "1F482", + "char": "💂", + "name": "guard" + }, + { + "no": 397, + "code": "1F482 1F3FB", + "char": "💂🏻", + "name": "guard: light skin tone" + }, + { + "no": 398, + "code": "1F482 1F3FC", + "char": "💂🏼", + "name": "guard: medium-light skin tone" + }, + { + "no": 399, + "code": "1F482 1F3FD", + "char": "💂🏽", + "name": "guard: medium skin tone" + }, + { + "no": 400, + "code": "1F482 1F3FE", + "char": "💂🏾", + "name": "guard: medium-dark skin tone" + }, + { + "no": 401, + "code": "1F482 1F3FF", + "char": "💂🏿", + "name": "guard: dark skin tone" + }, + { + "no": 402, + "code": "1F482 200D 2642 FE0F", + "char": "💂‍♂️", + "name": "man guard" + }, + { + "no": 403, + "code": "1F482 1F3FB 200D 2642 FE0F", + "char": "💂🏻‍♂️", + "name": "man guard: light skin tone" + }, + { + "no": 404, + "code": "1F482 1F3FC 200D 2642 FE0F", + "char": "💂🏼‍♂️", + "name": "man guard: medium-light skin tone" + }, + { + "no": 405, + "code": "1F482 1F3FD 200D 2642 FE0F", + "char": "💂🏽‍♂️", + "name": "man guard: medium skin tone" + }, + { + "no": 406, + "code": "1F482 1F3FE 200D 2642 FE0F", + "char": "💂🏾‍♂️", + "name": "man guard: medium-dark skin tone" + }, + { + "no": 407, + "code": "1F482 1F3FF 200D 2642 FE0F", + "char": "💂🏿‍♂️", + "name": "man guard: dark skin tone" + }, + { + "no": 408, + "code": "1F482 200D 2640 FE0F", + "char": "💂‍♀️", + "name": "woman guard" + }, + { + "no": 409, + "code": "1F482 1F3FB 200D 2640 FE0F", + "char": "💂🏻‍♀️", + "name": "woman guard: light skin tone" + }, + { + "no": 410, + "code": "1F482 1F3FC 200D 2640 FE0F", + "char": "💂🏼‍♀️", + "name": "woman guard: medium-light skin tone" + }, + { + "no": 411, + "code": "1F482 1F3FD 200D 2640 FE0F", + "char": "💂🏽‍♀️", + "name": "woman guard: medium skin tone" + }, + { + "no": 412, + "code": "1F482 1F3FE 200D 2640 FE0F", + "char": "💂🏾‍♀️", + "name": "woman guard: medium-dark skin tone" + }, + { + "no": 413, + "code": "1F482 1F3FF 200D 2640 FE0F", + "char": "💂🏿‍♀️", + "name": "woman guard: dark skin tone" + }, + { + "no": 414, + "code": "1F477", + "char": "👷", + "name": "construction worker" + }, + { + "no": 415, + "code": "1F477 1F3FB", + "char": "👷🏻", + "name": "construction worker: light skin tone" + }, + { + "no": 416, + "code": "1F477 1F3FC", + "char": "👷🏼", + "name": "construction worker: medium-light skin tone" + }, + { + "no": 417, + "code": "1F477 1F3FD", + "char": "👷🏽", + "name": "construction worker: medium skin tone" + }, + { + "no": 418, + "code": "1F477 1F3FE", + "char": "👷🏾", + "name": "construction worker: medium-dark skin tone" + }, + { + "no": 419, + "code": "1F477 1F3FF", + "char": "👷🏿", + "name": "construction worker: dark skin tone" + }, + { + "no": 420, + "code": "1F477 200D 2642 FE0F", + "char": "👷‍♂️", + "name": "man construction worker" + }, + { + "no": 421, + "code": "1F477 1F3FB 200D 2642 FE0F", + "char": "👷🏻‍♂️", + "name": "man construction worker: light skin tone" + }, + { + "no": 422, + "code": "1F477 1F3FC 200D 2642 FE0F", + "char": "👷🏼‍♂️", + "name": "man construction worker: medium-light skin tone" + }, + { + "no": 423, + "code": "1F477 1F3FD 200D 2642 FE0F", + "char": "👷🏽‍♂️", + "name": "man construction worker: medium skin tone" + }, + { + "no": 424, + "code": "1F477 1F3FE 200D 2642 FE0F", + "char": "👷🏾‍♂️", + "name": "man construction worker: medium-dark skin tone" + }, + { + "no": 425, + "code": "1F477 1F3FF 200D 2642 FE0F", + "char": "👷🏿‍♂️", + "name": "man construction worker: dark skin tone" + }, + { + "no": 426, + "code": "1F477 200D 2640 FE0F", + "char": "👷‍♀️", + "name": "woman construction worker" + }, + { + "no": 427, + "code": "1F477 1F3FB 200D 2640 FE0F", + "char": "👷🏻‍♀️", + "name": "woman construction worker: light skin tone" + }, + { + "no": 428, + "code": "1F477 1F3FC 200D 2640 FE0F", + "char": "👷🏼‍♀️", + "name": "woman construction worker: medium-light skin tone" + }, + { + "no": 429, + "code": "1F477 1F3FD 200D 2640 FE0F", + "char": "👷🏽‍♀️", + "name": "woman construction worker: medium skin tone" + }, + { + "no": 430, + "code": "1F477 1F3FE 200D 2640 FE0F", + "char": "👷🏾‍♀️", + "name": "woman construction worker: medium-dark skin tone" + }, + { + "no": 431, + "code": "1F477 1F3FF 200D 2640 FE0F", + "char": "👷🏿‍♀️", + "name": "woman construction worker: dark skin tone" + }, + { + "no": 432, + "code": "1F934", + "char": "🤴", + "name": "prince" + }, + { + "no": 433, + "code": "1F934 1F3FB", + "char": "🤴🏻", + "name": "prince: light skin tone" + }, + { + "no": 434, + "code": "1F934 1F3FC", + "char": "🤴🏼", + "name": "prince: medium-light skin tone" + }, + { + "no": 435, + "code": "1F934 1F3FD", + "char": "🤴🏽", + "name": "prince: medium skin tone" + }, + { + "no": 436, + "code": "1F934 1F3FE", + "char": "🤴🏾", + "name": "prince: medium-dark skin tone" + }, + { + "no": 437, + "code": "1F934 1F3FF", + "char": "🤴🏿", + "name": "prince: dark skin tone" + }, + { + "no": 438, + "code": "1F478", + "char": "👸", + "name": "princess" + }, + { + "no": 439, + "code": "1F478 1F3FB", + "char": "👸🏻", + "name": "princess: light skin tone" + }, + { + "no": 440, + "code": "1F478 1F3FC", + "char": "👸🏼", + "name": "princess: medium-light skin tone" + }, + { + "no": 441, + "code": "1F478 1F3FD", + "char": "👸🏽", + "name": "princess: medium skin tone" + }, + { + "no": 442, + "code": "1F478 1F3FE", + "char": "👸🏾", + "name": "princess: medium-dark skin tone" + }, + { + "no": 443, + "code": "1F478 1F3FF", + "char": "👸🏿", + "name": "princess: dark skin tone" + }, + { + "no": 444, + "code": "1F473", + "char": "👳", + "name": "person wearing turban" + }, + { + "no": 445, + "code": "1F473 1F3FB", + "char": "👳🏻", + "name": "person wearing turban: light skin tone" + }, + { + "no": 446, + "code": "1F473 1F3FC", + "char": "👳🏼", + "name": "person wearing turban: medium-light skin tone" + }, + { + "no": 447, + "code": "1F473 1F3FD", + "char": "👳🏽", + "name": "person wearing turban: medium skin tone" + }, + { + "no": 448, + "code": "1F473 1F3FE", + "char": "👳🏾", + "name": "person wearing turban: medium-dark skin tone" + }, + { + "no": 449, + "code": "1F473 1F3FF", + "char": "👳🏿", + "name": "person wearing turban: dark skin tone" + }, + { + "no": 450, + "code": "1F473 200D 2642 FE0F", + "char": "👳‍♂️", + "name": "man wearing turban" + }, + { + "no": 451, + "code": "1F473 1F3FB 200D 2642 FE0F", + "char": "👳🏻‍♂️", + "name": "man wearing turban: light skin tone" + }, + { + "no": 452, + "code": "1F473 1F3FC 200D 2642 FE0F", + "char": "👳🏼‍♂️", + "name": "man wearing turban: medium-light skin tone" + }, + { + "no": 453, + "code": "1F473 1F3FD 200D 2642 FE0F", + "char": "👳🏽‍♂️", + "name": "man wearing turban: medium skin tone" + }, + { + "no": 454, + "code": "1F473 1F3FE 200D 2642 FE0F", + "char": "👳🏾‍♂️", + "name": "man wearing turban: medium-dark skin tone" + }, + { + "no": 455, + "code": "1F473 1F3FF 200D 2642 FE0F", + "char": "👳🏿‍♂️", + "name": "man wearing turban: dark skin tone" + }, + { + "no": 456, + "code": "1F473 200D 2640 FE0F", + "char": "👳‍♀️", + "name": "woman wearing turban" + }, + { + "no": 457, + "code": "1F473 1F3FB 200D 2640 FE0F", + "char": "👳🏻‍♀️", + "name": "woman wearing turban: light skin tone" + }, + { + "no": 458, + "code": "1F473 1F3FC 200D 2640 FE0F", + "char": "👳🏼‍♀️", + "name": "woman wearing turban: medium-light skin tone" + }, + { + "no": 459, + "code": "1F473 1F3FD 200D 2640 FE0F", + "char": "👳🏽‍♀️", + "name": "woman wearing turban: medium skin tone" + }, + { + "no": 460, + "code": "1F473 1F3FE 200D 2640 FE0F", + "char": "👳🏾‍♀️", + "name": "woman wearing turban: medium-dark skin tone" + }, + { + "no": 461, + "code": "1F473 1F3FF 200D 2640 FE0F", + "char": "👳🏿‍♀️", + "name": "woman wearing turban: dark skin tone" + }, + { + "no": 462, + "code": "1F472", + "char": "👲", + "name": "man with Chinese cap" + }, + { + "no": 463, + "code": "1F472 1F3FB", + "char": "👲🏻", + "name": "man with Chinese cap: light skin tone" + }, + { + "no": 464, + "code": "1F472 1F3FC", + "char": "👲🏼", + "name": "man with Chinese cap: medium-light skin tone" + }, + { + "no": 465, + "code": "1F472 1F3FD", + "char": "👲🏽", + "name": "man with Chinese cap: medium skin tone" + }, + { + "no": 466, + "code": "1F472 1F3FE", + "char": "👲🏾", + "name": "man with Chinese cap: medium-dark skin tone" + }, + { + "no": 467, + "code": "1F472 1F3FF", + "char": "👲🏿", + "name": "man with Chinese cap: dark skin tone" + }, + { + "no": 468, + "code": "1F9D5", + "char": "🧕", + "name": "⊛ woman with headscarf" + }, + { + "no": 469, + "code": "1F9D5 1F3FB", + "char": "🧕🏻", + "name": "⊛ woman with headscarf: light skin tone" + }, + { + "no": 470, + "code": "1F9D5 1F3FC", + "char": "🧕🏼", + "name": "⊛ woman with headscarf: medium-light skin tone" + }, + { + "no": 471, + "code": "1F9D5 1F3FD", + "char": "🧕🏽", + "name": "⊛ woman with headscarf: medium skin tone" + }, + { + "no": 472, + "code": "1F9D5 1F3FE", + "char": "🧕🏾", + "name": "⊛ woman with headscarf: medium-dark skin tone" + }, + { + "no": 473, + "code": "1F9D5 1F3FF", + "char": "🧕🏿", + "name": "⊛ woman with headscarf: dark skin tone" + }, + { + "no": 474, + "code": "1F9D4", + "char": "🧔", + "name": "⊛ bearded person" + }, + { + "no": 475, + "code": "1F9D4 1F3FB", + "char": "🧔🏻", + "name": "⊛ bearded person: light skin tone" + }, + { + "no": 476, + "code": "1F9D4 1F3FC", + "char": "🧔🏼", + "name": "⊛ bearded person: medium-light skin tone" + }, + { + "no": 477, + "code": "1F9D4 1F3FD", + "char": "🧔🏽", + "name": "⊛ bearded person: medium skin tone" + }, + { + "no": 478, + "code": "1F9D4 1F3FE", + "char": "🧔🏾", + "name": "⊛ bearded person: medium-dark skin tone" + }, + { + "no": 479, + "code": "1F9D4 1F3FF", + "char": "🧔🏿", + "name": "⊛ bearded person: dark skin tone" + }, + { + "no": 480, + "code": "1F471", + "char": "👱", + "name": "blond-haired person" + }, + { + "no": 481, + "code": "1F471 1F3FB", + "char": "👱🏻", + "name": "blond-haired person: light skin tone" + }, + { + "no": 482, + "code": "1F471 1F3FC", + "char": "👱🏼", + "name": "blond-haired person: medium-light skin tone" + }, + { + "no": 483, + "code": "1F471 1F3FD", + "char": "👱🏽", + "name": "blond-haired person: medium skin tone" + }, + { + "no": 484, + "code": "1F471 1F3FE", + "char": "👱🏾", + "name": "blond-haired person: medium-dark skin tone" + }, + { + "no": 485, + "code": "1F471 1F3FF", + "char": "👱🏿", + "name": "blond-haired person: dark skin tone" + }, + { + "no": 486, + "code": "1F471 200D 2642 FE0F", + "char": "👱‍♂️", + "name": "blond-haired man" + }, + { + "no": 487, + "code": "1F471 1F3FB 200D 2642 FE0F", + "char": "👱🏻‍♂️", + "name": "blond-haired man: light skin tone" + }, + { + "no": 488, + "code": "1F471 1F3FC 200D 2642 FE0F", + "char": "👱🏼‍♂️", + "name": "blond-haired man: medium-light skin tone" + }, + { + "no": 489, + "code": "1F471 1F3FD 200D 2642 FE0F", + "char": "👱🏽‍♂️", + "name": "blond-haired man: medium skin tone" + }, + { + "no": 490, + "code": "1F471 1F3FE 200D 2642 FE0F", + "char": "👱🏾‍♂️", + "name": "blond-haired man: medium-dark skin tone" + }, + { + "no": 491, + "code": "1F471 1F3FF 200D 2642 FE0F", + "char": "👱🏿‍♂️", + "name": "blond-haired man: dark skin tone" + }, + { + "no": 492, + "code": "1F471 200D 2640 FE0F", + "char": "👱‍♀️", + "name": "blond-haired woman" + }, + { + "no": 493, + "code": "1F471 1F3FB 200D 2640 FE0F", + "char": "👱🏻‍♀️", + "name": "blond-haired woman: light skin tone" + }, + { + "no": 494, + "code": "1F471 1F3FC 200D 2640 FE0F", + "char": "👱🏼‍♀️", + "name": "blond-haired woman: medium-light skin tone" + }, + { + "no": 495, + "code": "1F471 1F3FD 200D 2640 FE0F", + "char": "👱🏽‍♀️", + "name": "blond-haired woman: medium skin tone" + }, + { + "no": 496, + "code": "1F471 1F3FE 200D 2640 FE0F", + "char": "👱🏾‍♀️", + "name": "blond-haired woman: medium-dark skin tone" + }, + { + "no": 497, + "code": "1F471 1F3FF 200D 2640 FE0F", + "char": "👱🏿‍♀️", + "name": "blond-haired woman: dark skin tone" + }, + { + "no": 498, + "code": "1F935", + "char": "🤵", + "name": "man in tuxedo" + }, + { + "no": 499, + "code": "1F935 1F3FB", + "char": "🤵🏻", + "name": "man in tuxedo: light skin tone" + }, + { + "no": 500, + "code": "1F935 1F3FC", + "char": "🤵🏼", + "name": "man in tuxedo: medium-light skin tone" + }, + { + "no": 501, + "code": "1F935 1F3FD", + "char": "🤵🏽", + "name": "man in tuxedo: medium skin tone" + }, + { + "no": 502, + "code": "1F935 1F3FE", + "char": "🤵🏾", + "name": "man in tuxedo: medium-dark skin tone" + }, + { + "no": 503, + "code": "1F935 1F3FF", + "char": "🤵🏿", + "name": "man in tuxedo: dark skin tone" + }, + { + "no": 504, + "code": "1F470", + "char": "👰", + "name": "bride with veil" + }, + { + "no": 505, + "code": "1F470 1F3FB", + "char": "👰🏻", + "name": "bride with veil: light skin tone" + }, + { + "no": 506, + "code": "1F470 1F3FC", + "char": "👰🏼", + "name": "bride with veil: medium-light skin tone" + }, + { + "no": 507, + "code": "1F470 1F3FD", + "char": "👰🏽", + "name": "bride with veil: medium skin tone" + }, + { + "no": 508, + "code": "1F470 1F3FE", + "char": "👰🏾", + "name": "bride with veil: medium-dark skin tone" + }, + { + "no": 509, + "code": "1F470 1F3FF", + "char": "👰🏿", + "name": "bride with veil: dark skin tone" + }, + { + "no": 510, + "code": "1F930", + "char": "🤰", + "name": "pregnant woman" + }, + { + "no": 511, + "code": "1F930 1F3FB", + "char": "🤰🏻", + "name": "pregnant woman: light skin tone" + }, + { + "no": 512, + "code": "1F930 1F3FC", + "char": "🤰🏼", + "name": "pregnant woman: medium-light skin tone" + }, + { + "no": 513, + "code": "1F930 1F3FD", + "char": "🤰🏽", + "name": "pregnant woman: medium skin tone" + }, + { + "no": 514, + "code": "1F930 1F3FE", + "char": "🤰🏾", + "name": "pregnant woman: medium-dark skin tone" + }, + { + "no": 515, + "code": "1F930 1F3FF", + "char": "🤰🏿", + "name": "pregnant woman: dark skin tone" + }, + { + "no": 516, + "code": "1F931", + "char": "🤱", + "name": "⊛ breast-feeding" + }, + { + "no": 517, + "code": "1F931 1F3FB", + "char": "🤱🏻", + "name": "⊛ breast-feeding: light skin tone" + }, + { + "no": 518, + "code": "1F931 1F3FC", + "char": "🤱🏼", + "name": "⊛ breast-feeding: medium-light skin tone" + }, + { + "no": 519, + "code": "1F931 1F3FD", + "char": "🤱🏽", + "name": "⊛ breast-feeding: medium skin tone" + }, + { + "no": 520, + "code": "1F931 1F3FE", + "char": "🤱🏾", + "name": "⊛ breast-feeding: medium-dark skin tone" + }, + { + "no": 521, + "code": "1F931 1F3FF", + "char": "🤱🏿", + "name": "⊛ breast-feeding: dark skin tone" + }, + { + "no": 522, + "code": "1F47C", + "char": "👼", + "name": "baby angel" + }, + { + "no": 523, + "code": "1F47C 1F3FB", + "char": "👼🏻", + "name": "baby angel: light skin tone" + }, + { + "no": 524, + "code": "1F47C 1F3FC", + "char": "👼🏼", + "name": "baby angel: medium-light skin tone" + }, + { + "no": 525, + "code": "1F47C 1F3FD", + "char": "👼🏽", + "name": "baby angel: medium skin tone" + }, + { + "no": 526, + "code": "1F47C 1F3FE", + "char": "👼🏾", + "name": "baby angel: medium-dark skin tone" + }, + { + "no": 527, + "code": "1F47C 1F3FF", + "char": "👼🏿", + "name": "baby angel: dark skin tone" + }, + { + "no": 528, + "code": "1F385", + "char": "🎅", + "name": "Santa Claus" + }, + { + "no": 529, + "code": "1F385 1F3FB", + "char": "🎅🏻", + "name": "Santa Claus: light skin tone" + }, + { + "no": 530, + "code": "1F385 1F3FC", + "char": "🎅🏼", + "name": "Santa Claus: medium-light skin tone" + }, + { + "no": 531, + "code": "1F385 1F3FD", + "char": "🎅🏽", + "name": "Santa Claus: medium skin tone" + }, + { + "no": 532, + "code": "1F385 1F3FE", + "char": "🎅🏾", + "name": "Santa Claus: medium-dark skin tone" + }, + { + "no": 533, + "code": "1F385 1F3FF", + "char": "🎅🏿", + "name": "Santa Claus: dark skin tone" + }, + { + "no": 534, + "code": "1F936", + "char": "🤶", + "name": "Mrs. Claus" + }, + { + "no": 535, + "code": "1F936 1F3FB", + "char": "🤶🏻", + "name": "Mrs. Claus: light skin tone" + }, + { + "no": 536, + "code": "1F936 1F3FC", + "char": "🤶🏼", + "name": "Mrs. Claus: medium-light skin tone" + }, + { + "no": 537, + "code": "1F936 1F3FD", + "char": "🤶🏽", + "name": "Mrs. Claus: medium skin tone" + }, + { + "no": 538, + "code": "1F936 1F3FE", + "char": "🤶🏾", + "name": "Mrs. Claus: medium-dark skin tone" + }, + { + "no": 539, + "code": "1F936 1F3FF", + "char": "🤶🏿", + "name": "Mrs. Claus: dark skin tone" + }, + { + "no": 540, + "code": "1F9D9", + "char": "🧙", + "name": "⊛ mage" + }, + { + "no": 541, + "code": "1F9D9 1F3FB", + "char": "🧙🏻", + "name": "⊛ mage: light skin tone" + }, + { + "no": 542, + "code": "1F9D9 1F3FC", + "char": "🧙🏼", + "name": "⊛ mage: medium-light skin tone" + }, + { + "no": 543, + "code": "1F9D9 1F3FD", + "char": "🧙🏽", + "name": "⊛ mage: medium skin tone" + }, + { + "no": 544, + "code": "1F9D9 1F3FE", + "char": "🧙🏾", + "name": "⊛ mage: medium-dark skin tone" + }, + { + "no": 545, + "code": "1F9D9 1F3FF", + "char": "🧙🏿", + "name": "⊛ mage: dark skin tone" + }, + { + "no": 546, + "code": "1F9D9 200D 2640 FE0F", + "char": "🧙‍♀️", + "name": "⊛ woman mage" + }, + { + "no": 547, + "code": "1F9D9 1F3FB 200D 2640 FE0F", + "char": "🧙🏻‍♀️", + "name": "⊛ woman mage: light skin tone" + }, + { + "no": 548, + "code": "1F9D9 1F3FC 200D 2640 FE0F", + "char": "🧙🏼‍♀️", + "name": "⊛ woman mage: medium-light skin tone" + }, + { + "no": 549, + "code": "1F9D9 1F3FD 200D 2640 FE0F", + "char": "🧙🏽‍♀️", + "name": "⊛ woman mage: medium skin tone" + }, + { + "no": 550, + "code": "1F9D9 1F3FE 200D 2640 FE0F", + "char": "🧙🏾‍♀️", + "name": "⊛ woman mage: medium-dark skin tone" + }, + { + "no": 551, + "code": "1F9D9 1F3FF 200D 2640 FE0F", + "char": "🧙🏿‍♀️", + "name": "⊛ woman mage: dark skin tone" + }, + { + "no": 552, + "code": "1F9D9 200D 2642 FE0F", + "char": "🧙‍♂️", + "name": "⊛ man mage" + }, + { + "no": 553, + "code": "1F9D9 1F3FB 200D 2642 FE0F", + "char": "🧙🏻‍♂️", + "name": "⊛ man mage: light skin tone" + }, + { + "no": 554, + "code": "1F9D9 1F3FC 200D 2642 FE0F", + "char": "🧙🏼‍♂️", + "name": "⊛ man mage: medium-light skin tone" + }, + { + "no": 555, + "code": "1F9D9 1F3FD 200D 2642 FE0F", + "char": "🧙🏽‍♂️", + "name": "⊛ man mage: medium skin tone" + }, + { + "no": 556, + "code": "1F9D9 1F3FE 200D 2642 FE0F", + "char": "🧙🏾‍♂️", + "name": "⊛ man mage: medium-dark skin tone" + }, + { + "no": 557, + "code": "1F9D9 1F3FF 200D 2642 FE0F", + "char": "🧙🏿‍♂️", + "name": "⊛ man mage: dark skin tone" + }, + { + "no": 558, + "code": "1F9DA", + "char": "🧚", + "name": "⊛ fairy" + }, + { + "no": 559, + "code": "1F9DA 1F3FB", + "char": "🧚🏻", + "name": "⊛ fairy: light skin tone" + }, + { + "no": 560, + "code": "1F9DA 1F3FC", + "char": "🧚🏼", + "name": "⊛ fairy: medium-light skin tone" + }, + { + "no": 561, + "code": "1F9DA 1F3FD", + "char": "🧚🏽", + "name": "⊛ fairy: medium skin tone" + }, + { + "no": 562, + "code": "1F9DA 1F3FE", + "char": "🧚🏾", + "name": "⊛ fairy: medium-dark skin tone" + }, + { + "no": 563, + "code": "1F9DA 1F3FF", + "char": "🧚🏿", + "name": "⊛ fairy: dark skin tone" + }, + { + "no": 564, + "code": "1F9DA 200D 2640 FE0F", + "char": "🧚‍♀️", + "name": "⊛ woman fairy" + }, + { + "no": 565, + "code": "1F9DA 1F3FB 200D 2640 FE0F", + "char": "🧚🏻‍♀️", + "name": "⊛ woman fairy: light skin tone" + }, + { + "no": 566, + "code": "1F9DA 1F3FC 200D 2640 FE0F", + "char": "🧚🏼‍♀️", + "name": "⊛ woman fairy: medium-light skin tone" + }, + { + "no": 567, + "code": "1F9DA 1F3FD 200D 2640 FE0F", + "char": "🧚🏽‍♀️", + "name": "⊛ woman fairy: medium skin tone" + }, + { + "no": 568, + "code": "1F9DA 1F3FE 200D 2640 FE0F", + "char": "🧚🏾‍♀️", + "name": "⊛ woman fairy: medium-dark skin tone" + }, + { + "no": 569, + "code": "1F9DA 1F3FF 200D 2640 FE0F", + "char": "🧚🏿‍♀️", + "name": "⊛ woman fairy: dark skin tone" + }, + { + "no": 570, + "code": "1F9DA 200D 2642 FE0F", + "char": "🧚‍♂️", + "name": "⊛ man fairy" + }, + { + "no": 571, + "code": "1F9DA 1F3FB 200D 2642 FE0F", + "char": "🧚🏻‍♂️", + "name": "⊛ man fairy: light skin tone" + }, + { + "no": 572, + "code": "1F9DA 1F3FC 200D 2642 FE0F", + "char": "🧚🏼‍♂️", + "name": "⊛ man fairy: medium-light skin tone" + }, + { + "no": 573, + "code": "1F9DA 1F3FD 200D 2642 FE0F", + "char": "🧚🏽‍♂️", + "name": "⊛ man fairy: medium skin tone" + }, + { + "no": 574, + "code": "1F9DA 1F3FE 200D 2642 FE0F", + "char": "🧚🏾‍♂️", + "name": "⊛ man fairy: medium-dark skin tone" + }, + { + "no": 575, + "code": "1F9DA 1F3FF 200D 2642 FE0F", + "char": "🧚🏿‍♂️", + "name": "⊛ man fairy: dark skin tone" + }, + { + "no": 576, + "code": "1F9DB", + "char": "🧛", + "name": "⊛ vampire" + }, + { + "no": 577, + "code": "1F9DB 1F3FB", + "char": "🧛🏻", + "name": "⊛ vampire: light skin tone" + }, + { + "no": 578, + "code": "1F9DB 1F3FC", + "char": "🧛🏼", + "name": "⊛ vampire: medium-light skin tone" + }, + { + "no": 579, + "code": "1F9DB 1F3FD", + "char": "🧛🏽", + "name": "⊛ vampire: medium skin tone" + }, + { + "no": 580, + "code": "1F9DB 1F3FE", + "char": "🧛🏾", + "name": "⊛ vampire: medium-dark skin tone" + }, + { + "no": 581, + "code": "1F9DB 1F3FF", + "char": "🧛🏿", + "name": "⊛ vampire: dark skin tone" + }, + { + "no": 582, + "code": "1F9DB 200D 2640 FE0F", + "char": "🧛‍♀️", + "name": "⊛ woman vampire" + }, + { + "no": 583, + "code": "1F9DB 1F3FB 200D 2640 FE0F", + "char": "🧛🏻‍♀️", + "name": "⊛ woman vampire: light skin tone" + }, + { + "no": 584, + "code": "1F9DB 1F3FC 200D 2640 FE0F", + "char": "🧛🏼‍♀️", + "name": "⊛ woman vampire: medium-light skin tone" + }, + { + "no": 585, + "code": "1F9DB 1F3FD 200D 2640 FE0F", + "char": "🧛🏽‍♀️", + "name": "⊛ woman vampire: medium skin tone" + }, + { + "no": 586, + "code": "1F9DB 1F3FE 200D 2640 FE0F", + "char": "🧛🏾‍♀️", + "name": "⊛ woman vampire: medium-dark skin tone" + }, + { + "no": 587, + "code": "1F9DB 1F3FF 200D 2640 FE0F", + "char": "🧛🏿‍♀️", + "name": "⊛ woman vampire: dark skin tone" + }, + { + "no": 588, + "code": "1F9DB 200D 2642 FE0F", + "char": "🧛‍♂️", + "name": "⊛ man vampire" + }, + { + "no": 589, + "code": "1F9DB 1F3FB 200D 2642 FE0F", + "char": "🧛🏻‍♂️", + "name": "⊛ man vampire: light skin tone" + }, + { + "no": 590, + "code": "1F9DB 1F3FC 200D 2642 FE0F", + "char": "🧛🏼‍♂️", + "name": "⊛ man vampire: medium-light skin tone" + }, + { + "no": 591, + "code": "1F9DB 1F3FD 200D 2642 FE0F", + "char": "🧛🏽‍♂️", + "name": "⊛ man vampire: medium skin tone" + }, + { + "no": 592, + "code": "1F9DB 1F3FE 200D 2642 FE0F", + "char": "🧛🏾‍♂️", + "name": "⊛ man vampire: medium-dark skin tone" + }, + { + "no": 593, + "code": "1F9DB 1F3FF 200D 2642 FE0F", + "char": "🧛🏿‍♂️", + "name": "⊛ man vampire: dark skin tone" + }, + { + "no": 594, + "code": "1F9DC", + "char": "🧜", + "name": "⊛ merperson" + }, + { + "no": 595, + "code": "1F9DC 1F3FB", + "char": "🧜🏻", + "name": "⊛ merperson: light skin tone" + }, + { + "no": 596, + "code": "1F9DC 1F3FC", + "char": "🧜🏼", + "name": "⊛ merperson: medium-light skin tone" + }, + { + "no": 597, + "code": "1F9DC 1F3FD", + "char": "🧜🏽", + "name": "⊛ merperson: medium skin tone" + }, + { + "no": 598, + "code": "1F9DC 1F3FE", + "char": "🧜🏾", + "name": "⊛ merperson: medium-dark skin tone" + }, + { + "no": 599, + "code": "1F9DC 1F3FF", + "char": "🧜🏿", + "name": "⊛ merperson: dark skin tone" + }, + { + "no": 600, + "code": "1F9DC 200D 2640 FE0F", + "char": "🧜‍♀️", + "name": "⊛ mermaid" + }, + { + "no": 601, + "code": "1F9DC 1F3FB 200D 2640 FE0F", + "char": "🧜🏻‍♀️", + "name": "⊛ mermaid: light skin tone" + }, + { + "no": 602, + "code": "1F9DC 1F3FC 200D 2640 FE0F", + "char": "🧜🏼‍♀️", + "name": "⊛ mermaid: medium-light skin tone" + }, + { + "no": 603, + "code": "1F9DC 1F3FD 200D 2640 FE0F", + "char": "🧜🏽‍♀️", + "name": "⊛ mermaid: medium skin tone" + }, + { + "no": 604, + "code": "1F9DC 1F3FE 200D 2640 FE0F", + "char": "🧜🏾‍♀️", + "name": "⊛ mermaid: medium-dark skin tone" + }, + { + "no": 605, + "code": "1F9DC 1F3FF 200D 2640 FE0F", + "char": "🧜🏿‍♀️", + "name": "⊛ mermaid: dark skin tone" + }, + { + "no": 606, + "code": "1F9DC 200D 2642 FE0F", + "char": "🧜‍♂️", + "name": "⊛ merman" + }, + { + "no": 607, + "code": "1F9DC 1F3FB 200D 2642 FE0F", + "char": "🧜🏻‍♂️", + "name": "⊛ merman: light skin tone" + }, + { + "no": 608, + "code": "1F9DC 1F3FC 200D 2642 FE0F", + "char": "🧜🏼‍♂️", + "name": "⊛ merman: medium-light skin tone" + }, + { + "no": 609, + "code": "1F9DC 1F3FD 200D 2642 FE0F", + "char": "🧜🏽‍♂️", + "name": "⊛ merman: medium skin tone" + }, + { + "no": 610, + "code": "1F9DC 1F3FE 200D 2642 FE0F", + "char": "🧜🏾‍♂️", + "name": "⊛ merman: medium-dark skin tone" + }, + { + "no": 611, + "code": "1F9DC 1F3FF 200D 2642 FE0F", + "char": "🧜🏿‍♂️", + "name": "⊛ merman: dark skin tone" + }, + { + "no": 612, + "code": "1F9DD", + "char": "🧝", + "name": "⊛ elf" + }, + { + "no": 613, + "code": "1F9DD 1F3FB", + "char": "🧝🏻", + "name": "⊛ elf: light skin tone" + }, + { + "no": 614, + "code": "1F9DD 1F3FC", + "char": "🧝🏼", + "name": "⊛ elf: medium-light skin tone" + }, + { + "no": 615, + "code": "1F9DD 1F3FD", + "char": "🧝🏽", + "name": "⊛ elf: medium skin tone" + }, + { + "no": 616, + "code": "1F9DD 1F3FE", + "char": "🧝🏾", + "name": "⊛ elf: medium-dark skin tone" + }, + { + "no": 617, + "code": "1F9DD 1F3FF", + "char": "🧝🏿", + "name": "⊛ elf: dark skin tone" + }, + { + "no": 618, + "code": "1F9DD 200D 2640 FE0F", + "char": "🧝‍♀️", + "name": "⊛ woman elf" + }, + { + "no": 619, + "code": "1F9DD 1F3FB 200D 2640 FE0F", + "char": "🧝🏻‍♀️", + "name": "⊛ woman elf: light skin tone" + }, + { + "no": 620, + "code": "1F9DD 1F3FC 200D 2640 FE0F", + "char": "🧝🏼‍♀️", + "name": "⊛ woman elf: medium-light skin tone" + }, + { + "no": 621, + "code": "1F9DD 1F3FD 200D 2640 FE0F", + "char": "🧝🏽‍♀️", + "name": "⊛ woman elf: medium skin tone" + }, + { + "no": 622, + "code": "1F9DD 1F3FE 200D 2640 FE0F", + "char": "🧝🏾‍♀️", + "name": "⊛ woman elf: medium-dark skin tone" + }, + { + "no": 623, + "code": "1F9DD 1F3FF 200D 2640 FE0F", + "char": "🧝🏿‍♀️", + "name": "⊛ woman elf: dark skin tone" + }, + { + "no": 624, + "code": "1F9DD 200D 2642 FE0F", + "char": "🧝‍♂️", + "name": "⊛ man elf" + }, + { + "no": 625, + "code": "1F9DD 1F3FB 200D 2642 FE0F", + "char": "🧝🏻‍♂️", + "name": "⊛ man elf: light skin tone" + }, + { + "no": 626, + "code": "1F9DD 1F3FC 200D 2642 FE0F", + "char": "🧝🏼‍♂️", + "name": "⊛ man elf: medium-light skin tone" + }, + { + "no": 627, + "code": "1F9DD 1F3FD 200D 2642 FE0F", + "char": "🧝🏽‍♂️", + "name": "⊛ man elf: medium skin tone" + }, + { + "no": 628, + "code": "1F9DD 1F3FE 200D 2642 FE0F", + "char": "🧝🏾‍♂️", + "name": "⊛ man elf: medium-dark skin tone" + }, + { + "no": 629, + "code": "1F9DD 1F3FF 200D 2642 FE0F", + "char": "🧝🏿‍♂️", + "name": "⊛ man elf: dark skin tone" + }, + { + "no": 630, + "code": "1F9DE", + "char": "🧞", + "name": "⊛ genie" + }, + { + "no": 631, + "code": "1F9DE 200D 2640 FE0F", + "char": "🧞‍♀️", + "name": "⊛ woman genie" + }, + { + "no": 632, + "code": "1F9DE 200D 2642 FE0F", + "char": "🧞‍♂️", + "name": "⊛ man genie" + }, + { + "no": 633, + "code": "1F9DF", + "char": "🧟", + "name": "⊛ zombie" + }, + { + "no": 634, + "code": "1F9DF 200D 2640 FE0F", + "char": "🧟‍♀️", + "name": "⊛ woman zombie" + }, + { + "no": 635, + "code": "1F9DF 200D 2642 FE0F", + "char": "🧟‍♂️", + "name": "⊛ man zombie" + }, + { + "no": 636, + "code": "1F64D", + "char": "🙍", + "name": "person frowning" + }, + { + "no": 637, + "code": "1F64D 1F3FB", + "char": "🙍🏻", + "name": "person frowning: light skin tone" + }, + { + "no": 638, + "code": "1F64D 1F3FC", + "char": "🙍🏼", + "name": "person frowning: medium-light skin tone" + }, + { + "no": 639, + "code": "1F64D 1F3FD", + "char": "🙍🏽", + "name": "person frowning: medium skin tone" + }, + { + "no": 640, + "code": "1F64D 1F3FE", + "char": "🙍🏾", + "name": "person frowning: medium-dark skin tone" + }, + { + "no": 641, + "code": "1F64D 1F3FF", + "char": "🙍🏿", + "name": "person frowning: dark skin tone" + }, + { + "no": 642, + "code": "1F64D 200D 2642 FE0F", + "char": "🙍‍♂️", + "name": "man frowning" + }, + { + "no": 643, + "code": "1F64D 1F3FB 200D 2642 FE0F", + "char": "🙍🏻‍♂️", + "name": "man frowning: light skin tone" + }, + { + "no": 644, + "code": "1F64D 1F3FC 200D 2642 FE0F", + "char": "🙍🏼‍♂️", + "name": "man frowning: medium-light skin tone" + }, + { + "no": 645, + "code": "1F64D 1F3FD 200D 2642 FE0F", + "char": "🙍🏽‍♂️", + "name": "man frowning: medium skin tone" + }, + { + "no": 646, + "code": "1F64D 1F3FE 200D 2642 FE0F", + "char": "🙍🏾‍♂️", + "name": "man frowning: medium-dark skin tone" + }, + { + "no": 647, + "code": "1F64D 1F3FF 200D 2642 FE0F", + "char": "🙍🏿‍♂️", + "name": "man frowning: dark skin tone" + }, + { + "no": 648, + "code": "1F64D 200D 2640 FE0F", + "char": "🙍‍♀️", + "name": "woman frowning" + }, + { + "no": 649, + "code": "1F64D 1F3FB 200D 2640 FE0F", + "char": "🙍🏻‍♀️", + "name": "woman frowning: light skin tone" + }, + { + "no": 650, + "code": "1F64D 1F3FC 200D 2640 FE0F", + "char": "🙍🏼‍♀️", + "name": "woman frowning: medium-light skin tone" + }, + { + "no": 651, + "code": "1F64D 1F3FD 200D 2640 FE0F", + "char": "🙍🏽‍♀️", + "name": "woman frowning: medium skin tone" + }, + { + "no": 652, + "code": "1F64D 1F3FE 200D 2640 FE0F", + "char": "🙍🏾‍♀️", + "name": "woman frowning: medium-dark skin tone" + }, + { + "no": 653, + "code": "1F64D 1F3FF 200D 2640 FE0F", + "char": "🙍🏿‍♀️", + "name": "woman frowning: dark skin tone" + }, + { + "no": 654, + "code": "1F64E", + "char": "🙎", + "name": "person pouting" + }, + { + "no": 655, + "code": "1F64E 1F3FB", + "char": "🙎🏻", + "name": "person pouting: light skin tone" + }, + { + "no": 656, + "code": "1F64E 1F3FC", + "char": "🙎🏼", + "name": "person pouting: medium-light skin tone" + }, + { + "no": 657, + "code": "1F64E 1F3FD", + "char": "🙎🏽", + "name": "person pouting: medium skin tone" + }, + { + "no": 658, + "code": "1F64E 1F3FE", + "char": "🙎🏾", + "name": "person pouting: medium-dark skin tone" + }, + { + "no": 659, + "code": "1F64E 1F3FF", + "char": "🙎🏿", + "name": "person pouting: dark skin tone" + }, + { + "no": 660, + "code": "1F64E 200D 2642 FE0F", + "char": "🙎‍♂️", + "name": "man pouting" + }, + { + "no": 661, + "code": "1F64E 1F3FB 200D 2642 FE0F", + "char": "🙎🏻‍♂️", + "name": "man pouting: light skin tone" + }, + { + "no": 662, + "code": "1F64E 1F3FC 200D 2642 FE0F", + "char": "🙎🏼‍♂️", + "name": "man pouting: medium-light skin tone" + }, + { + "no": 663, + "code": "1F64E 1F3FD 200D 2642 FE0F", + "char": "🙎🏽‍♂️", + "name": "man pouting: medium skin tone" + }, + { + "no": 664, + "code": "1F64E 1F3FE 200D 2642 FE0F", + "char": "🙎🏾‍♂️", + "name": "man pouting: medium-dark skin tone" + }, + { + "no": 665, + "code": "1F64E 1F3FF 200D 2642 FE0F", + "char": "🙎🏿‍♂️", + "name": "man pouting: dark skin tone" + }, + { + "no": 666, + "code": "1F64E 200D 2640 FE0F", + "char": "🙎‍♀️", + "name": "woman pouting" + }, + { + "no": 667, + "code": "1F64E 1F3FB 200D 2640 FE0F", + "char": "🙎🏻‍♀️", + "name": "woman pouting: light skin tone" + }, + { + "no": 668, + "code": "1F64E 1F3FC 200D 2640 FE0F", + "char": "🙎🏼‍♀️", + "name": "woman pouting: medium-light skin tone" + }, + { + "no": 669, + "code": "1F64E 1F3FD 200D 2640 FE0F", + "char": "🙎🏽‍♀️", + "name": "woman pouting: medium skin tone" + }, + { + "no": 670, + "code": "1F64E 1F3FE 200D 2640 FE0F", + "char": "🙎🏾‍♀️", + "name": "woman pouting: medium-dark skin tone" + }, + { + "no": 671, + "code": "1F64E 1F3FF 200D 2640 FE0F", + "char": "🙎🏿‍♀️", + "name": "woman pouting: dark skin tone" + }, + { + "no": 672, + "code": "1F645", + "char": "🙅", + "name": "person gesturing NO" + }, + { + "no": 673, + "code": "1F645 1F3FB", + "char": "🙅🏻", + "name": "person gesturing NO: light skin tone" + }, + { + "no": 674, + "code": "1F645 1F3FC", + "char": "🙅🏼", + "name": "person gesturing NO: medium-light skin tone" + }, + { + "no": 675, + "code": "1F645 1F3FD", + "char": "🙅🏽", + "name": "person gesturing NO: medium skin tone" + }, + { + "no": 676, + "code": "1F645 1F3FE", + "char": "🙅🏾", + "name": "person gesturing NO: medium-dark skin tone" + }, + { + "no": 677, + "code": "1F645 1F3FF", + "char": "🙅🏿", + "name": "person gesturing NO: dark skin tone" + }, + { + "no": 678, + "code": "1F645 200D 2642 FE0F", + "char": "🙅‍♂️", + "name": "man gesturing NO" + }, + { + "no": 679, + "code": "1F645 1F3FB 200D 2642 FE0F", + "char": "🙅🏻‍♂️", + "name": "man gesturing NO: light skin tone" + }, + { + "no": 680, + "code": "1F645 1F3FC 200D 2642 FE0F", + "char": "🙅🏼‍♂️", + "name": "man gesturing NO: medium-light skin tone" + }, + { + "no": 681, + "code": "1F645 1F3FD 200D 2642 FE0F", + "char": "🙅🏽‍♂️", + "name": "man gesturing NO: medium skin tone" + }, + { + "no": 682, + "code": "1F645 1F3FE 200D 2642 FE0F", + "char": "🙅🏾‍♂️", + "name": "man gesturing NO: medium-dark skin tone" + }, + { + "no": 683, + "code": "1F645 1F3FF 200D 2642 FE0F", + "char": "🙅🏿‍♂️", + "name": "man gesturing NO: dark skin tone" + }, + { + "no": 684, + "code": "1F645 200D 2640 FE0F", + "char": "🙅‍♀️", + "name": "woman gesturing NO" + }, + { + "no": 685, + "code": "1F645 1F3FB 200D 2640 FE0F", + "char": "🙅🏻‍♀️", + "name": "woman gesturing NO: light skin tone" + }, + { + "no": 686, + "code": "1F645 1F3FC 200D 2640 FE0F", + "char": "🙅🏼‍♀️", + "name": "woman gesturing NO: medium-light skin tone" + }, + { + "no": 687, + "code": "1F645 1F3FD 200D 2640 FE0F", + "char": "🙅🏽‍♀️", + "name": "woman gesturing NO: medium skin tone" + }, + { + "no": 688, + "code": "1F645 1F3FE 200D 2640 FE0F", + "char": "🙅🏾‍♀️", + "name": "woman gesturing NO: medium-dark skin tone" + }, + { + "no": 689, + "code": "1F645 1F3FF 200D 2640 FE0F", + "char": "🙅🏿‍♀️", + "name": "woman gesturing NO: dark skin tone" + }, + { + "no": 690, + "code": "1F646", + "char": "🙆", + "name": "person gesturing OK" + }, + { + "no": 691, + "code": "1F646 1F3FB", + "char": "🙆🏻", + "name": "person gesturing OK: light skin tone" + }, + { + "no": 692, + "code": "1F646 1F3FC", + "char": "🙆🏼", + "name": "person gesturing OK: medium-light skin tone" + }, + { + "no": 693, + "code": "1F646 1F3FD", + "char": "🙆🏽", + "name": "person gesturing OK: medium skin tone" + }, + { + "no": 694, + "code": "1F646 1F3FE", + "char": "🙆🏾", + "name": "person gesturing OK: medium-dark skin tone" + }, + { + "no": 695, + "code": "1F646 1F3FF", + "char": "🙆🏿", + "name": "person gesturing OK: dark skin tone" + }, + { + "no": 696, + "code": "1F646 200D 2642 FE0F", + "char": "🙆‍♂️", + "name": "man gesturing OK" + }, + { + "no": 697, + "code": "1F646 1F3FB 200D 2642 FE0F", + "char": "🙆🏻‍♂️", + "name": "man gesturing OK: light skin tone" + }, + { + "no": 698, + "code": "1F646 1F3FC 200D 2642 FE0F", + "char": "🙆🏼‍♂️", + "name": "man gesturing OK: medium-light skin tone" + }, + { + "no": 699, + "code": "1F646 1F3FD 200D 2642 FE0F", + "char": "🙆🏽‍♂️", + "name": "man gesturing OK: medium skin tone" + }, + { + "no": 700, + "code": "1F646 1F3FE 200D 2642 FE0F", + "char": "🙆🏾‍♂️", + "name": "man gesturing OK: medium-dark skin tone" + }, + { + "no": 701, + "code": "1F646 1F3FF 200D 2642 FE0F", + "char": "🙆🏿‍♂️", + "name": "man gesturing OK: dark skin tone" + }, + { + "no": 702, + "code": "1F646 200D 2640 FE0F", + "char": "🙆‍♀️", + "name": "woman gesturing OK" + }, + { + "no": 703, + "code": "1F646 1F3FB 200D 2640 FE0F", + "char": "🙆🏻‍♀️", + "name": "woman gesturing OK: light skin tone" + }, + { + "no": 704, + "code": "1F646 1F3FC 200D 2640 FE0F", + "char": "🙆🏼‍♀️", + "name": "woman gesturing OK: medium-light skin tone" + }, + { + "no": 705, + "code": "1F646 1F3FD 200D 2640 FE0F", + "char": "🙆🏽‍♀️", + "name": "woman gesturing OK: medium skin tone" + }, + { + "no": 706, + "code": "1F646 1F3FE 200D 2640 FE0F", + "char": "🙆🏾‍♀️", + "name": "woman gesturing OK: medium-dark skin tone" + }, + { + "no": 707, + "code": "1F646 1F3FF 200D 2640 FE0F", + "char": "🙆🏿‍♀️", + "name": "woman gesturing OK: dark skin tone" + }, + { + "no": 708, + "code": "1F481", + "char": "💁", + "name": "person tipping hand" + }, + { + "no": 709, + "code": "1F481 1F3FB", + "char": "💁🏻", + "name": "person tipping hand: light skin tone" + }, + { + "no": 710, + "code": "1F481 1F3FC", + "char": "💁🏼", + "name": "person tipping hand: medium-light skin tone" + }, + { + "no": 711, + "code": "1F481 1F3FD", + "char": "💁🏽", + "name": "person tipping hand: medium skin tone" + }, + { + "no": 712, + "code": "1F481 1F3FE", + "char": "💁🏾", + "name": "person tipping hand: medium-dark skin tone" + }, + { + "no": 713, + "code": "1F481 1F3FF", + "char": "💁🏿", + "name": "person tipping hand: dark skin tone" + }, + { + "no": 714, + "code": "1F481 200D 2642 FE0F", + "char": "💁‍♂️", + "name": "man tipping hand" + }, + { + "no": 715, + "code": "1F481 1F3FB 200D 2642 FE0F", + "char": "💁🏻‍♂️", + "name": "man tipping hand: light skin tone" + }, + { + "no": 716, + "code": "1F481 1F3FC 200D 2642 FE0F", + "char": "💁🏼‍♂️", + "name": "man tipping hand: medium-light skin tone" + }, + { + "no": 717, + "code": "1F481 1F3FD 200D 2642 FE0F", + "char": "💁🏽‍♂️", + "name": "man tipping hand: medium skin tone" + }, + { + "no": 718, + "code": "1F481 1F3FE 200D 2642 FE0F", + "char": "💁🏾‍♂️", + "name": "man tipping hand: medium-dark skin tone" + }, + { + "no": 719, + "code": "1F481 1F3FF 200D 2642 FE0F", + "char": "💁🏿‍♂️", + "name": "man tipping hand: dark skin tone" + }, + { + "no": 720, + "code": "1F481 200D 2640 FE0F", + "char": "💁‍♀️", + "name": "woman tipping hand" + }, + { + "no": 721, + "code": "1F481 1F3FB 200D 2640 FE0F", + "char": "💁🏻‍♀️", + "name": "woman tipping hand: light skin tone" + }, + { + "no": 722, + "code": "1F481 1F3FC 200D 2640 FE0F", + "char": "💁🏼‍♀️", + "name": "woman tipping hand: medium-light skin tone" + }, + { + "no": 723, + "code": "1F481 1F3FD 200D 2640 FE0F", + "char": "💁🏽‍♀️", + "name": "woman tipping hand: medium skin tone" + }, + { + "no": 724, + "code": "1F481 1F3FE 200D 2640 FE0F", + "char": "💁🏾‍♀️", + "name": "woman tipping hand: medium-dark skin tone" + }, + { + "no": 725, + "code": "1F481 1F3FF 200D 2640 FE0F", + "char": "💁🏿‍♀️", + "name": "woman tipping hand: dark skin tone" + }, + { + "no": 726, + "code": "1F64B", + "char": "🙋", + "name": "person raising hand" + }, + { + "no": 727, + "code": "1F64B 1F3FB", + "char": "🙋🏻", + "name": "person raising hand: light skin tone" + }, + { + "no": 728, + "code": "1F64B 1F3FC", + "char": "🙋🏼", + "name": "person raising hand: medium-light skin tone" + }, + { + "no": 729, + "code": "1F64B 1F3FD", + "char": "🙋🏽", + "name": "person raising hand: medium skin tone" + }, + { + "no": 730, + "code": "1F64B 1F3FE", + "char": "🙋🏾", + "name": "person raising hand: medium-dark skin tone" + }, + { + "no": 731, + "code": "1F64B 1F3FF", + "char": "🙋🏿", + "name": "person raising hand: dark skin tone" + }, + { + "no": 732, + "code": "1F64B 200D 2642 FE0F", + "char": "🙋‍♂️", + "name": "man raising hand" + }, + { + "no": 733, + "code": "1F64B 1F3FB 200D 2642 FE0F", + "char": "🙋🏻‍♂️", + "name": "man raising hand: light skin tone" + }, + { + "no": 734, + "code": "1F64B 1F3FC 200D 2642 FE0F", + "char": "🙋🏼‍♂️", + "name": "man raising hand: medium-light skin tone" + }, + { + "no": 735, + "code": "1F64B 1F3FD 200D 2642 FE0F", + "char": "🙋🏽‍♂️", + "name": "man raising hand: medium skin tone" + }, + { + "no": 736, + "code": "1F64B 1F3FE 200D 2642 FE0F", + "char": "🙋🏾‍♂️", + "name": "man raising hand: medium-dark skin tone" + }, + { + "no": 737, + "code": "1F64B 1F3FF 200D 2642 FE0F", + "char": "🙋🏿‍♂️", + "name": "man raising hand: dark skin tone" + }, + { + "no": 738, + "code": "1F64B 200D 2640 FE0F", + "char": "🙋‍♀️", + "name": "woman raising hand" + }, + { + "no": 739, + "code": "1F64B 1F3FB 200D 2640 FE0F", + "char": "🙋🏻‍♀️", + "name": "woman raising hand: light skin tone" + }, + { + "no": 740, + "code": "1F64B 1F3FC 200D 2640 FE0F", + "char": "🙋🏼‍♀️", + "name": "woman raising hand: medium-light skin tone" + }, + { + "no": 741, + "code": "1F64B 1F3FD 200D 2640 FE0F", + "char": "🙋🏽‍♀️", + "name": "woman raising hand: medium skin tone" + }, + { + "no": 742, + "code": "1F64B 1F3FE 200D 2640 FE0F", + "char": "🙋🏾‍♀️", + "name": "woman raising hand: medium-dark skin tone" + }, + { + "no": 743, + "code": "1F64B 1F3FF 200D 2640 FE0F", + "char": "🙋🏿‍♀️", + "name": "woman raising hand: dark skin tone" + }, + { + "no": 744, + "code": "1F647", + "char": "🙇", + "name": "person bowing" + }, + { + "no": 745, + "code": "1F647 1F3FB", + "char": "🙇🏻", + "name": "person bowing: light skin tone" + }, + { + "no": 746, + "code": "1F647 1F3FC", + "char": "🙇🏼", + "name": "person bowing: medium-light skin tone" + }, + { + "no": 747, + "code": "1F647 1F3FD", + "char": "🙇🏽", + "name": "person bowing: medium skin tone" + }, + { + "no": 748, + "code": "1F647 1F3FE", + "char": "🙇🏾", + "name": "person bowing: medium-dark skin tone" + }, + { + "no": 749, + "code": "1F647 1F3FF", + "char": "🙇🏿", + "name": "person bowing: dark skin tone" + }, + { + "no": 750, + "code": "1F647 200D 2642 FE0F", + "char": "🙇‍♂️", + "name": "man bowing" + }, + { + "no": 751, + "code": "1F647 1F3FB 200D 2642 FE0F", + "char": "🙇🏻‍♂️", + "name": "man bowing: light skin tone" + }, + { + "no": 752, + "code": "1F647 1F3FC 200D 2642 FE0F", + "char": "🙇🏼‍♂️", + "name": "man bowing: medium-light skin tone" + }, + { + "no": 753, + "code": "1F647 1F3FD 200D 2642 FE0F", + "char": "🙇🏽‍♂️", + "name": "man bowing: medium skin tone" + }, + { + "no": 754, + "code": "1F647 1F3FE 200D 2642 FE0F", + "char": "🙇🏾‍♂️", + "name": "man bowing: medium-dark skin tone" + }, + { + "no": 755, + "code": "1F647 1F3FF 200D 2642 FE0F", + "char": "🙇🏿‍♂️", + "name": "man bowing: dark skin tone" + }, + { + "no": 756, + "code": "1F647 200D 2640 FE0F", + "char": "🙇‍♀️", + "name": "woman bowing" + }, + { + "no": 757, + "code": "1F647 1F3FB 200D 2640 FE0F", + "char": "🙇🏻‍♀️", + "name": "woman bowing: light skin tone" + }, + { + "no": 758, + "code": "1F647 1F3FC 200D 2640 FE0F", + "char": "🙇🏼‍♀️", + "name": "woman bowing: medium-light skin tone" + }, + { + "no": 759, + "code": "1F647 1F3FD 200D 2640 FE0F", + "char": "🙇🏽‍♀️", + "name": "woman bowing: medium skin tone" + }, + { + "no": 760, + "code": "1F647 1F3FE 200D 2640 FE0F", + "char": "🙇🏾‍♀️", + "name": "woman bowing: medium-dark skin tone" + }, + { + "no": 761, + "code": "1F647 1F3FF 200D 2640 FE0F", + "char": "🙇🏿‍♀️", + "name": "woman bowing: dark skin tone" + }, + { + "no": 762, + "code": "1F926", + "char": "🤦", + "name": "person facepalming" + }, + { + "no": 763, + "code": "1F926 1F3FB", + "char": "🤦🏻", + "name": "person facepalming: light skin tone" + }, + { + "no": 764, + "code": "1F926 1F3FC", + "char": "🤦🏼", + "name": "person facepalming: medium-light skin tone" + }, + { + "no": 765, + "code": "1F926 1F3FD", + "char": "🤦🏽", + "name": "person facepalming: medium skin tone" + }, + { + "no": 766, + "code": "1F926 1F3FE", + "char": "🤦🏾", + "name": "person facepalming: medium-dark skin tone" + }, + { + "no": 767, + "code": "1F926 1F3FF", + "char": "🤦🏿", + "name": "person facepalming: dark skin tone" + }, + { + "no": 768, + "code": "1F926 200D 2642 FE0F", + "char": "🤦‍♂️", + "name": "man facepalming" + }, + { + "no": 769, + "code": "1F926 1F3FB 200D 2642 FE0F", + "char": "🤦🏻‍♂️", + "name": "man facepalming: light skin tone" + }, + { + "no": 770, + "code": "1F926 1F3FC 200D 2642 FE0F", + "char": "🤦🏼‍♂️", + "name": "man facepalming: medium-light skin tone" + }, + { + "no": 771, + "code": "1F926 1F3FD 200D 2642 FE0F", + "char": "🤦🏽‍♂️", + "name": "man facepalming: medium skin tone" + }, + { + "no": 772, + "code": "1F926 1F3FE 200D 2642 FE0F", + "char": "🤦🏾‍♂️", + "name": "man facepalming: medium-dark skin tone" + }, + { + "no": 773, + "code": "1F926 1F3FF 200D 2642 FE0F", + "char": "🤦🏿‍♂️", + "name": "man facepalming: dark skin tone" + }, + { + "no": 774, + "code": "1F926 200D 2640 FE0F", + "char": "🤦‍♀️", + "name": "woman facepalming" + }, + { + "no": 775, + "code": "1F926 1F3FB 200D 2640 FE0F", + "char": "🤦🏻‍♀️", + "name": "woman facepalming: light skin tone" + }, + { + "no": 776, + "code": "1F926 1F3FC 200D 2640 FE0F", + "char": "🤦🏼‍♀️", + "name": "woman facepalming: medium-light skin tone" + }, + { + "no": 777, + "code": "1F926 1F3FD 200D 2640 FE0F", + "char": "🤦🏽‍♀️", + "name": "woman facepalming: medium skin tone" + }, + { + "no": 778, + "code": "1F926 1F3FE 200D 2640 FE0F", + "char": "🤦🏾‍♀️", + "name": "woman facepalming: medium-dark skin tone" + }, + { + "no": 779, + "code": "1F926 1F3FF 200D 2640 FE0F", + "char": "🤦🏿‍♀️", + "name": "woman facepalming: dark skin tone" + }, + { + "no": 780, + "code": "1F937", + "char": "🤷", + "name": "person shrugging" + }, + { + "no": 781, + "code": "1F937 1F3FB", + "char": "🤷🏻", + "name": "person shrugging: light skin tone" + }, + { + "no": 782, + "code": "1F937 1F3FC", + "char": "🤷🏼", + "name": "person shrugging: medium-light skin tone" + }, + { + "no": 783, + "code": "1F937 1F3FD", + "char": "🤷🏽", + "name": "person shrugging: medium skin tone" + }, + { + "no": 784, + "code": "1F937 1F3FE", + "char": "🤷🏾", + "name": "person shrugging: medium-dark skin tone" + }, + { + "no": 785, + "code": "1F937 1F3FF", + "char": "🤷🏿", + "name": "person shrugging: dark skin tone" + }, + { + "no": 786, + "code": "1F937 200D 2642 FE0F", + "char": "🤷‍♂️", + "name": "man shrugging" + }, + { + "no": 787, + "code": "1F937 1F3FB 200D 2642 FE0F", + "char": "🤷🏻‍♂️", + "name": "man shrugging: light skin tone" + }, + { + "no": 788, + "code": "1F937 1F3FC 200D 2642 FE0F", + "char": "🤷🏼‍♂️", + "name": "man shrugging: medium-light skin tone" + }, + { + "no": 789, + "code": "1F937 1F3FD 200D 2642 FE0F", + "char": "🤷🏽‍♂️", + "name": "man shrugging: medium skin tone" + }, + { + "no": 790, + "code": "1F937 1F3FE 200D 2642 FE0F", + "char": "🤷🏾‍♂️", + "name": "man shrugging: medium-dark skin tone" + }, + { + "no": 791, + "code": "1F937 1F3FF 200D 2642 FE0F", + "char": "🤷🏿‍♂️", + "name": "man shrugging: dark skin tone" + }, + { + "no": 792, + "code": "1F937 200D 2640 FE0F", + "char": "🤷‍♀️", + "name": "woman shrugging" + }, + { + "no": 793, + "code": "1F937 1F3FB 200D 2640 FE0F", + "char": "🤷🏻‍♀️", + "name": "woman shrugging: light skin tone" + }, + { + "no": 794, + "code": "1F937 1F3FC 200D 2640 FE0F", + "char": "🤷🏼‍♀️", + "name": "woman shrugging: medium-light skin tone" + }, + { + "no": 795, + "code": "1F937 1F3FD 200D 2640 FE0F", + "char": "🤷🏽‍♀️", + "name": "woman shrugging: medium skin tone" + }, + { + "no": 796, + "code": "1F937 1F3FE 200D 2640 FE0F", + "char": "🤷🏾‍♀️", + "name": "woman shrugging: medium-dark skin tone" + }, + { + "no": 797, + "code": "1F937 1F3FF 200D 2640 FE0F", + "char": "🤷🏿‍♀️", + "name": "woman shrugging: dark skin tone" + }, + { + "no": 798, + "code": "1F486", + "char": "💆", + "name": "person getting massage" + }, + { + "no": 799, + "code": "1F486 1F3FB", + "char": "💆🏻", + "name": "person getting massage: light skin tone" + }, + { + "no": 800, + "code": "1F486 1F3FC", + "char": "💆🏼", + "name": "person getting massage: medium-light skin tone" + }, + { + "no": 801, + "code": "1F486 1F3FD", + "char": "💆🏽", + "name": "person getting massage: medium skin tone" + }, + { + "no": 802, + "code": "1F486 1F3FE", + "char": "💆🏾", + "name": "person getting massage: medium-dark skin tone" + }, + { + "no": 803, + "code": "1F486 1F3FF", + "char": "💆🏿", + "name": "person getting massage: dark skin tone" + }, + { + "no": 804, + "code": "1F486 200D 2642 FE0F", + "char": "💆‍♂️", + "name": "man getting massage" + }, + { + "no": 805, + "code": "1F486 1F3FB 200D 2642 FE0F", + "char": "💆🏻‍♂️", + "name": "man getting massage: light skin tone" + }, + { + "no": 806, + "code": "1F486 1F3FC 200D 2642 FE0F", + "char": "💆🏼‍♂️", + "name": "man getting massage: medium-light skin tone" + }, + { + "no": 807, + "code": "1F486 1F3FD 200D 2642 FE0F", + "char": "💆🏽‍♂️", + "name": "man getting massage: medium skin tone" + }, + { + "no": 808, + "code": "1F486 1F3FE 200D 2642 FE0F", + "char": "💆🏾‍♂️", + "name": "man getting massage: medium-dark skin tone" + }, + { + "no": 809, + "code": "1F486 1F3FF 200D 2642 FE0F", + "char": "💆🏿‍♂️", + "name": "man getting massage: dark skin tone" + }, + { + "no": 810, + "code": "1F486 200D 2640 FE0F", + "char": "💆‍♀️", + "name": "woman getting massage" + }, + { + "no": 811, + "code": "1F486 1F3FB 200D 2640 FE0F", + "char": "💆🏻‍♀️", + "name": "woman getting massage: light skin tone" + }, + { + "no": 812, + "code": "1F486 1F3FC 200D 2640 FE0F", + "char": "💆🏼‍♀️", + "name": "woman getting massage: medium-light skin tone" + }, + { + "no": 813, + "code": "1F486 1F3FD 200D 2640 FE0F", + "char": "💆🏽‍♀️", + "name": "woman getting massage: medium skin tone" + }, + { + "no": 814, + "code": "1F486 1F3FE 200D 2640 FE0F", + "char": "💆🏾‍♀️", + "name": "woman getting massage: medium-dark skin tone" + }, + { + "no": 815, + "code": "1F486 1F3FF 200D 2640 FE0F", + "char": "💆🏿‍♀️", + "name": "woman getting massage: dark skin tone" + }, + { + "no": 816, + "code": "1F487", + "char": "💇", + "name": "person getting haircut" + }, + { + "no": 817, + "code": "1F487 1F3FB", + "char": "💇🏻", + "name": "person getting haircut: light skin tone" + }, + { + "no": 818, + "code": "1F487 1F3FC", + "char": "💇🏼", + "name": "person getting haircut: medium-light skin tone" + }, + { + "no": 819, + "code": "1F487 1F3FD", + "char": "💇🏽", + "name": "person getting haircut: medium skin tone" + }, + { + "no": 820, + "code": "1F487 1F3FE", + "char": "💇🏾", + "name": "person getting haircut: medium-dark skin tone" + }, + { + "no": 821, + "code": "1F487 1F3FF", + "char": "💇🏿", + "name": "person getting haircut: dark skin tone" + }, + { + "no": 822, + "code": "1F487 200D 2642 FE0F", + "char": "💇‍♂️", + "name": "man getting haircut" + }, + { + "no": 823, + "code": "1F487 1F3FB 200D 2642 FE0F", + "char": "💇🏻‍♂️", + "name": "man getting haircut: light skin tone" + }, + { + "no": 824, + "code": "1F487 1F3FC 200D 2642 FE0F", + "char": "💇🏼‍♂️", + "name": "man getting haircut: medium-light skin tone" + }, + { + "no": 825, + "code": "1F487 1F3FD 200D 2642 FE0F", + "char": "💇🏽‍♂️", + "name": "man getting haircut: medium skin tone" + }, + { + "no": 826, + "code": "1F487 1F3FE 200D 2642 FE0F", + "char": "💇🏾‍♂️", + "name": "man getting haircut: medium-dark skin tone" + }, + { + "no": 827, + "code": "1F487 1F3FF 200D 2642 FE0F", + "char": "💇🏿‍♂️", + "name": "man getting haircut: dark skin tone" + }, + { + "no": 828, + "code": "1F487 200D 2640 FE0F", + "char": "💇‍♀️", + "name": "woman getting haircut" + }, + { + "no": 829, + "code": "1F487 1F3FB 200D 2640 FE0F", + "char": "💇🏻‍♀️", + "name": "woman getting haircut: light skin tone" + }, + { + "no": 830, + "code": "1F487 1F3FC 200D 2640 FE0F", + "char": "💇🏼‍♀️", + "name": "woman getting haircut: medium-light skin tone" + }, + { + "no": 831, + "code": "1F487 1F3FD 200D 2640 FE0F", + "char": "💇🏽‍♀️", + "name": "woman getting haircut: medium skin tone" + }, + { + "no": 832, + "code": "1F487 1F3FE 200D 2640 FE0F", + "char": "💇🏾‍♀️", + "name": "woman getting haircut: medium-dark skin tone" + }, + { + "no": 833, + "code": "1F487 1F3FF 200D 2640 FE0F", + "char": "💇🏿‍♀️", + "name": "woman getting haircut: dark skin tone" + }, + { + "no": 834, + "code": "1F6B6", + "char": "🚶", + "name": "person walking" + }, + { + "no": 835, + "code": "1F6B6 1F3FB", + "char": "🚶🏻", + "name": "person walking: light skin tone" + }, + { + "no": 836, + "code": "1F6B6 1F3FC", + "char": "🚶🏼", + "name": "person walking: medium-light skin tone" + }, + { + "no": 837, + "code": "1F6B6 1F3FD", + "char": "🚶🏽", + "name": "person walking: medium skin tone" + }, + { + "no": 838, + "code": "1F6B6 1F3FE", + "char": "🚶🏾", + "name": "person walking: medium-dark skin tone" + }, + { + "no": 839, + "code": "1F6B6 1F3FF", + "char": "🚶🏿", + "name": "person walking: dark skin tone" + }, + { + "no": 840, + "code": "1F6B6 200D 2642 FE0F", + "char": "🚶‍♂️", + "name": "man walking" + }, + { + "no": 841, + "code": "1F6B6 1F3FB 200D 2642 FE0F", + "char": "🚶🏻‍♂️", + "name": "man walking: light skin tone" + }, + { + "no": 842, + "code": "1F6B6 1F3FC 200D 2642 FE0F", + "char": "🚶🏼‍♂️", + "name": "man walking: medium-light skin tone" + }, + { + "no": 843, + "code": "1F6B6 1F3FD 200D 2642 FE0F", + "char": "🚶🏽‍♂️", + "name": "man walking: medium skin tone" + }, + { + "no": 844, + "code": "1F6B6 1F3FE 200D 2642 FE0F", + "char": "🚶🏾‍♂️", + "name": "man walking: medium-dark skin tone" + }, + { + "no": 845, + "code": "1F6B6 1F3FF 200D 2642 FE0F", + "char": "🚶🏿‍♂️", + "name": "man walking: dark skin tone" + }, + { + "no": 846, + "code": "1F6B6 200D 2640 FE0F", + "char": "🚶‍♀️", + "name": "woman walking" + }, + { + "no": 847, + "code": "1F6B6 1F3FB 200D 2640 FE0F", + "char": "🚶🏻‍♀️", + "name": "woman walking: light skin tone" + }, + { + "no": 848, + "code": "1F6B6 1F3FC 200D 2640 FE0F", + "char": "🚶🏼‍♀️", + "name": "woman walking: medium-light skin tone" + }, + { + "no": 849, + "code": "1F6B6 1F3FD 200D 2640 FE0F", + "char": "🚶🏽‍♀️", + "name": "woman walking: medium skin tone" + }, + { + "no": 850, + "code": "1F6B6 1F3FE 200D 2640 FE0F", + "char": "🚶🏾‍♀️", + "name": "woman walking: medium-dark skin tone" + }, + { + "no": 851, + "code": "1F6B6 1F3FF 200D 2640 FE0F", + "char": "🚶🏿‍♀️", + "name": "woman walking: dark skin tone" + }, + { + "no": 852, + "code": "1F3C3", + "char": "🏃", + "name": "person running" + }, + { + "no": 853, + "code": "1F3C3 1F3FB", + "char": "🏃🏻", + "name": "person running: light skin tone" + }, + { + "no": 854, + "code": "1F3C3 1F3FC", + "char": "🏃🏼", + "name": "person running: medium-light skin tone" + }, + { + "no": 855, + "code": "1F3C3 1F3FD", + "char": "🏃🏽", + "name": "person running: medium skin tone" + }, + { + "no": 856, + "code": "1F3C3 1F3FE", + "char": "🏃🏾", + "name": "person running: medium-dark skin tone" + }, + { + "no": 857, + "code": "1F3C3 1F3FF", + "char": "🏃🏿", + "name": "person running: dark skin tone" + }, + { + "no": 858, + "code": "1F3C3 200D 2642 FE0F", + "char": "🏃‍♂️", + "name": "man running" + }, + { + "no": 859, + "code": "1F3C3 1F3FB 200D 2642 FE0F", + "char": "🏃🏻‍♂️", + "name": "man running: light skin tone" + }, + { + "no": 860, + "code": "1F3C3 1F3FC 200D 2642 FE0F", + "char": "🏃🏼‍♂️", + "name": "man running: medium-light skin tone" + }, + { + "no": 861, + "code": "1F3C3 1F3FD 200D 2642 FE0F", + "char": "🏃🏽‍♂️", + "name": "man running: medium skin tone" + }, + { + "no": 862, + "code": "1F3C3 1F3FE 200D 2642 FE0F", + "char": "🏃🏾‍♂️", + "name": "man running: medium-dark skin tone" + }, + { + "no": 863, + "code": "1F3C3 1F3FF 200D 2642 FE0F", + "char": "🏃🏿‍♂️", + "name": "man running: dark skin tone" + }, + { + "no": 864, + "code": "1F3C3 200D 2640 FE0F", + "char": "🏃‍♀️", + "name": "woman running" + }, + { + "no": 865, + "code": "1F3C3 1F3FB 200D 2640 FE0F", + "char": "🏃🏻‍♀️", + "name": "woman running: light skin tone" + }, + { + "no": 866, + "code": "1F3C3 1F3FC 200D 2640 FE0F", + "char": "🏃🏼‍♀️", + "name": "woman running: medium-light skin tone" + }, + { + "no": 867, + "code": "1F3C3 1F3FD 200D 2640 FE0F", + "char": "🏃🏽‍♀️", + "name": "woman running: medium skin tone" + }, + { + "no": 868, + "code": "1F3C3 1F3FE 200D 2640 FE0F", + "char": "🏃🏾‍♀️", + "name": "woman running: medium-dark skin tone" + }, + { + "no": 869, + "code": "1F3C3 1F3FF 200D 2640 FE0F", + "char": "🏃🏿‍♀️", + "name": "woman running: dark skin tone" + }, + { + "no": 870, + "code": "1F483", + "char": "💃", + "name": "woman dancing" + }, + { + "no": 871, + "code": "1F483 1F3FB", + "char": "💃🏻", + "name": "woman dancing: light skin tone" + }, + { + "no": 872, + "code": "1F483 1F3FC", + "char": "💃🏼", + "name": "woman dancing: medium-light skin tone" + }, + { + "no": 873, + "code": "1F483 1F3FD", + "char": "💃🏽", + "name": "woman dancing: medium skin tone" + }, + { + "no": 874, + "code": "1F483 1F3FE", + "char": "💃🏾", + "name": "woman dancing: medium-dark skin tone" + }, + { + "no": 875, + "code": "1F483 1F3FF", + "char": "💃🏿", + "name": "woman dancing: dark skin tone" + }, + { + "no": 876, + "code": "1F57A", + "char": "🕺", + "name": "man dancing" + }, + { + "no": 877, + "code": "1F57A 1F3FB", + "char": "🕺🏻", + "name": "man dancing: light skin tone" + }, + { + "no": 878, + "code": "1F57A 1F3FC", + "char": "🕺🏼", + "name": "man dancing: medium-light skin tone" + }, + { + "no": 879, + "code": "1F57A 1F3FD", + "char": "🕺🏽", + "name": "man dancing: medium skin tone" + }, + { + "no": 880, + "code": "1F57A 1F3FE", + "char": "🕺🏾", + "name": "man dancing: medium-dark skin tone" + }, + { + "no": 881, + "code": "1F57A 1F3FF", + "char": "🕺🏿", + "name": "man dancing: dark skin tone" + }, + { + "no": 882, + "code": "1F46F", + "char": "👯", + "name": "people with bunny ears" + }, + { + "no": 883, + "code": "1F46F 200D 2642 FE0F", + "char": "👯‍♂️", + "name": "men with bunny ears" + }, + { + "no": 884, + "code": "1F46F 200D 2640 FE0F", + "char": "👯‍♀️", + "name": "women with bunny ears" + }, + { + "no": 885, + "code": "1F9D6", + "char": "🧖", + "name": "⊛ person in steamy room" + }, + { + "no": 886, + "code": "1F9D6 1F3FB", + "char": "🧖🏻", + "name": "⊛ person in steamy room: light skin tone" + }, + { + "no": 887, + "code": "1F9D6 1F3FC", + "char": "🧖🏼", + "name": "⊛ person in steamy room: medium-light skin tone" + }, + { + "no": 888, + "code": "1F9D6 1F3FD", + "char": "🧖🏽", + "name": "⊛ person in steamy room: medium skin tone" + }, + { + "no": 889, + "code": "1F9D6 1F3FE", + "char": "🧖🏾", + "name": "⊛ person in steamy room: medium-dark skin tone" + }, + { + "no": 890, + "code": "1F9D6 1F3FF", + "char": "🧖🏿", + "name": "⊛ person in steamy room: dark skin tone" + }, + { + "no": 891, + "code": "1F9D6 200D 2640 FE0F", + "char": "🧖‍♀️", + "name": "⊛ woman in steamy room" + }, + { + "no": 892, + "code": "1F9D6 1F3FB 200D 2640 FE0F", + "char": "🧖🏻‍♀️", + "name": "⊛ woman in steamy room: light skin tone" + }, + { + "no": 893, + "code": "1F9D6 1F3FC 200D 2640 FE0F", + "char": "🧖🏼‍♀️", + "name": "⊛ woman in steamy room: medium-light skin tone" + }, + { + "no": 894, + "code": "1F9D6 1F3FD 200D 2640 FE0F", + "char": "🧖🏽‍♀️", + "name": "⊛ woman in steamy room: medium skin tone" + }, + { + "no": 895, + "code": "1F9D6 1F3FE 200D 2640 FE0F", + "char": "🧖🏾‍♀️", + "name": "⊛ woman in steamy room: medium-dark skin tone" + }, + { + "no": 896, + "code": "1F9D6 1F3FF 200D 2640 FE0F", + "char": "🧖🏿‍♀️", + "name": "⊛ woman in steamy room: dark skin tone" + }, + { + "no": 897, + "code": "1F9D6 200D 2642 FE0F", + "char": "🧖‍♂️", + "name": "⊛ man in steamy room" + }, + { + "no": 898, + "code": "1F9D6 1F3FB 200D 2642 FE0F", + "char": "🧖🏻‍♂️", + "name": "⊛ man in steamy room: light skin tone" + }, + { + "no": 899, + "code": "1F9D6 1F3FC 200D 2642 FE0F", + "char": "🧖🏼‍♂️", + "name": "⊛ man in steamy room: medium-light skin tone" + }, + { + "no": 900, + "code": "1F9D6 1F3FD 200D 2642 FE0F", + "char": "🧖🏽‍♂️", + "name": "⊛ man in steamy room: medium skin tone" + }, + { + "no": 901, + "code": "1F9D6 1F3FE 200D 2642 FE0F", + "char": "🧖🏾‍♂️", + "name": "⊛ man in steamy room: medium-dark skin tone" + }, + { + "no": 902, + "code": "1F9D6 1F3FF 200D 2642 FE0F", + "char": "🧖🏿‍♂️", + "name": "⊛ man in steamy room: dark skin tone" + }, + { + "no": 903, + "code": "1F9D7", + "char": "🧗", + "name": "⊛ person climbing" + }, + { + "no": 904, + "code": "1F9D7 1F3FB", + "char": "🧗🏻", + "name": "⊛ person climbing: light skin tone" + }, + { + "no": 905, + "code": "1F9D7 1F3FC", + "char": "🧗🏼", + "name": "⊛ person climbing: medium-light skin tone" + }, + { + "no": 906, + "code": "1F9D7 1F3FD", + "char": "🧗🏽", + "name": "⊛ person climbing: medium skin tone" + }, + { + "no": 907, + "code": "1F9D7 1F3FE", + "char": "🧗🏾", + "name": "⊛ person climbing: medium-dark skin tone" + }, + { + "no": 908, + "code": "1F9D7 1F3FF", + "char": "🧗🏿", + "name": "⊛ person climbing: dark skin tone" + }, + { + "no": 909, + "code": "1F9D7 200D 2640 FE0F", + "char": "🧗‍♀️", + "name": "⊛ woman climbing" + }, + { + "no": 910, + "code": "1F9D7 1F3FB 200D 2640 FE0F", + "char": "🧗🏻‍♀️", + "name": "⊛ woman climbing: light skin tone" + }, + { + "no": 911, + "code": "1F9D7 1F3FC 200D 2640 FE0F", + "char": "🧗🏼‍♀️", + "name": "⊛ woman climbing: medium-light skin tone" + }, + { + "no": 912, + "code": "1F9D7 1F3FD 200D 2640 FE0F", + "char": "🧗🏽‍♀️", + "name": "⊛ woman climbing: medium skin tone" + }, + { + "no": 913, + "code": "1F9D7 1F3FE 200D 2640 FE0F", + "char": "🧗🏾‍♀️", + "name": "⊛ woman climbing: medium-dark skin tone" + }, + { + "no": 914, + "code": "1F9D7 1F3FF 200D 2640 FE0F", + "char": "🧗🏿‍♀️", + "name": "⊛ woman climbing: dark skin tone" + }, + { + "no": 915, + "code": "1F9D7 200D 2642 FE0F", + "char": "🧗‍♂️", + "name": "⊛ man climbing" + }, + { + "no": 916, + "code": "1F9D7 1F3FB 200D 2642 FE0F", + "char": "🧗🏻‍♂️", + "name": "⊛ man climbing: light skin tone" + }, + { + "no": 917, + "code": "1F9D7 1F3FC 200D 2642 FE0F", + "char": "🧗🏼‍♂️", + "name": "⊛ man climbing: medium-light skin tone" + }, + { + "no": 918, + "code": "1F9D7 1F3FD 200D 2642 FE0F", + "char": "🧗🏽‍♂️", + "name": "⊛ man climbing: medium skin tone" + }, + { + "no": 919, + "code": "1F9D7 1F3FE 200D 2642 FE0F", + "char": "🧗🏾‍♂️", + "name": "⊛ man climbing: medium-dark skin tone" + }, + { + "no": 920, + "code": "1F9D7 1F3FF 200D 2642 FE0F", + "char": "🧗🏿‍♂️", + "name": "⊛ man climbing: dark skin tone" + }, + { + "no": 921, + "code": "1F9D8", + "char": "🧘", + "name": "⊛ person in lotus position" + }, + { + "no": 922, + "code": "1F9D8 1F3FB", + "char": "🧘🏻", + "name": "⊛ person in lotus position: light skin tone" + }, + { + "no": 923, + "code": "1F9D8 1F3FC", + "char": "🧘🏼", + "name": "⊛ person in lotus position: medium-light skin tone" + }, + { + "no": 924, + "code": "1F9D8 1F3FD", + "char": "🧘🏽", + "name": "⊛ person in lotus position: medium skin tone" + }, + { + "no": 925, + "code": "1F9D8 1F3FE", + "char": "🧘🏾", + "name": "⊛ person in lotus position: medium-dark skin tone" + }, + { + "no": 926, + "code": "1F9D8 1F3FF", + "char": "🧘🏿", + "name": "⊛ person in lotus position: dark skin tone" + }, + { + "no": 927, + "code": "1F9D8 200D 2640 FE0F", + "char": "🧘‍♀️", + "name": "⊛ woman in lotus position" + }, + { + "no": 928, + "code": "1F9D8 1F3FB 200D 2640 FE0F", + "char": "🧘🏻‍♀️", + "name": "⊛ woman in lotus position: light skin tone" + }, + { + "no": 929, + "code": "1F9D8 1F3FC 200D 2640 FE0F", + "char": "🧘🏼‍♀️", + "name": "⊛ woman in lotus position: medium-light skin tone" + }, + { + "no": 930, + "code": "1F9D8 1F3FD 200D 2640 FE0F", + "char": "🧘🏽‍♀️", + "name": "⊛ woman in lotus position: medium skin tone" + }, + { + "no": 931, + "code": "1F9D8 1F3FE 200D 2640 FE0F", + "char": "🧘🏾‍♀️", + "name": "⊛ woman in lotus position: medium-dark skin tone" + }, + { + "no": 932, + "code": "1F9D8 1F3FF 200D 2640 FE0F", + "char": "🧘🏿‍♀️", + "name": "⊛ woman in lotus position: dark skin tone" + }, + { + "no": 933, + "code": "1F9D8 200D 2642 FE0F", + "char": "🧘‍♂️", + "name": "⊛ man in lotus position" + }, + { + "no": 934, + "code": "1F9D8 1F3FB 200D 2642 FE0F", + "char": "🧘🏻‍♂️", + "name": "⊛ man in lotus position: light skin tone" + }, + { + "no": 935, + "code": "1F9D8 1F3FC 200D 2642 FE0F", + "char": "🧘🏼‍♂️", + "name": "⊛ man in lotus position: medium-light skin tone" + }, + { + "no": 936, + "code": "1F9D8 1F3FD 200D 2642 FE0F", + "char": "🧘🏽‍♂️", + "name": "⊛ man in lotus position: medium skin tone" + }, + { + "no": 937, + "code": "1F9D8 1F3FE 200D 2642 FE0F", + "char": "🧘🏾‍♂️", + "name": "⊛ man in lotus position: medium-dark skin tone" + }, + { + "no": 938, + "code": "1F9D8 1F3FF 200D 2642 FE0F", + "char": "🧘🏿‍♂️", + "name": "⊛ man in lotus position: dark skin tone" + }, + { + "no": 939, + "code": "1F6C0", + "char": "🛀", + "name": "person taking bath" + }, + { + "no": 940, + "code": "1F6C0 1F3FB", + "char": "🛀🏻", + "name": "person taking bath: light skin tone" + }, + { + "no": 941, + "code": "1F6C0 1F3FC", + "char": "🛀🏼", + "name": "person taking bath: medium-light skin tone" + }, + { + "no": 942, + "code": "1F6C0 1F3FD", + "char": "🛀🏽", + "name": "person taking bath: medium skin tone" + }, + { + "no": 943, + "code": "1F6C0 1F3FE", + "char": "🛀🏾", + "name": "person taking bath: medium-dark skin tone" + }, + { + "no": 944, + "code": "1F6C0 1F3FF", + "char": "🛀🏿", + "name": "person taking bath: dark skin tone" + }, + { + "no": 945, + "code": "1F6CC", + "char": "🛌", + "name": "person in bed" + }, + { + "no": 946, + "code": "1F6CC 1F3FB", + "char": "🛌🏻", + "name": "person in bed: light skin tone" + }, + { + "no": 947, + "code": "1F6CC 1F3FC", + "char": "🛌🏼", + "name": "person in bed: medium-light skin tone" + }, + { + "no": 948, + "code": "1F6CC 1F3FD", + "char": "🛌🏽", + "name": "person in bed: medium skin tone" + }, + { + "no": 949, + "code": "1F6CC 1F3FE", + "char": "🛌🏾", + "name": "person in bed: medium-dark skin tone" + }, + { + "no": 950, + "code": "1F6CC 1F3FF", + "char": "🛌🏿", + "name": "person in bed: dark skin tone" + }, + { + "no": 951, + "code": "1F574", + "char": "🕴", + "name": "man in suit levitating" + }, + { + "no": 952, + "code": "1F574 1F3FB", + "char": "🕴🏻", + "name": "man in suit levitating: light skin tone" + }, + { + "no": 953, + "code": "1F574 1F3FC", + "char": "🕴🏼", + "name": "man in suit levitating: medium-light skin tone" + }, + { + "no": 954, + "code": "1F574 1F3FD", + "char": "🕴🏽", + "name": "man in suit levitating: medium skin tone" + }, + { + "no": 955, + "code": "1F574 1F3FE", + "char": "🕴🏾", + "name": "man in suit levitating: medium-dark skin tone" + }, + { + "no": 956, + "code": "1F574 1F3FF", + "char": "🕴🏿", + "name": "man in suit levitating: dark skin tone" + }, + { + "no": 957, + "code": "1F5E3", + "char": "🗣", + "name": "speaking head" + }, + { + "no": 958, + "code": "1F464", + "char": "👤", + "name": "bust in silhouette" + }, + { + "no": 959, + "code": "1F465", + "char": "👥", + "name": "busts in silhouette" + }, + { + "no": 960, + "code": "1F93A", + "char": "🤺", + "name": "person fencing" + }, + { + "no": 961, + "code": "1F3C7", + "char": "🏇", + "name": "horse racing" + }, + { + "no": 962, + "code": "1F3C7 1F3FB", + "char": "🏇🏻", + "name": "horse racing: light skin tone" + }, + { + "no": 963, + "code": "1F3C7 1F3FC", + "char": "🏇🏼", + "name": "horse racing: medium-light skin tone" + }, + { + "no": 964, + "code": "1F3C7 1F3FD", + "char": "🏇🏽", + "name": "horse racing: medium skin tone" + }, + { + "no": 965, + "code": "1F3C7 1F3FE", + "char": "🏇🏾", + "name": "horse racing: medium-dark skin tone" + }, + { + "no": 966, + "code": "1F3C7 1F3FF", + "char": "🏇🏿", + "name": "horse racing: dark skin tone" + }, + { + "no": 967, + "code": "26F7", + "char": "⛷", + "name": "skier" + }, + { + "no": 968, + "code": "1F3C2", + "char": "🏂", + "name": "snowboarder" + }, + { + "no": 969, + "code": "1F3C2 1F3FB", + "char": "🏂🏻", + "name": "snowboarder: light skin tone" + }, + { + "no": 970, + "code": "1F3C2 1F3FC", + "char": "🏂🏼", + "name": "snowboarder: medium-light skin tone" + }, + { + "no": 971, + "code": "1F3C2 1F3FD", + "char": "🏂🏽", + "name": "snowboarder: medium skin tone" + }, + { + "no": 972, + "code": "1F3C2 1F3FE", + "char": "🏂🏾", + "name": "snowboarder: medium-dark skin tone" + }, + { + "no": 973, + "code": "1F3C2 1F3FF", + "char": "🏂🏿", + "name": "snowboarder: dark skin tone" + }, + { + "no": 974, + "code": "1F3CC", + "char": "🏌", + "name": "person golfing" + }, + { + "no": 975, + "code": "1F3CC 1F3FB", + "char": "🏌🏻", + "name": "person golfing: light skin tone" + }, + { + "no": 976, + "code": "1F3CC 1F3FC", + "char": "🏌🏼", + "name": "person golfing: medium-light skin tone" + }, + { + "no": 977, + "code": "1F3CC 1F3FD", + "char": "🏌🏽", + "name": "person golfing: medium skin tone" + }, + { + "no": 978, + "code": "1F3CC 1F3FE", + "char": "🏌🏾", + "name": "person golfing: medium-dark skin tone" + }, + { + "no": 979, + "code": "1F3CC 1F3FF", + "char": "🏌🏿", + "name": "person golfing: dark skin tone" + }, + { + "no": 980, + "code": "1F3CC FE0F 200D 2642 FE0F", + "char": "🏌️‍♂️", + "name": "man golfing" + }, + { + "no": 981, + "code": "1F3CC 1F3FB 200D 2642 FE0F", + "char": "🏌🏻‍♂️", + "name": "man golfing: light skin tone" + }, + { + "no": 982, + "code": "1F3CC 1F3FC 200D 2642 FE0F", + "char": "🏌🏼‍♂️", + "name": "man golfing: medium-light skin tone" + }, + { + "no": 983, + "code": "1F3CC 1F3FD 200D 2642 FE0F", + "char": "🏌🏽‍♂️", + "name": "man golfing: medium skin tone" + }, + { + "no": 984, + "code": "1F3CC 1F3FE 200D 2642 FE0F", + "char": "🏌🏾‍♂️", + "name": "man golfing: medium-dark skin tone" + }, + { + "no": 985, + "code": "1F3CC 1F3FF 200D 2642 FE0F", + "char": "🏌🏿‍♂️", + "name": "man golfing: dark skin tone" + }, + { + "no": 986, + "code": "1F3CC FE0F 200D 2640 FE0F", + "char": "🏌️‍♀️", + "name": "woman golfing" + }, + { + "no": 987, + "code": "1F3CC 1F3FB 200D 2640 FE0F", + "char": "🏌🏻‍♀️", + "name": "woman golfing: light skin tone" + }, + { + "no": 988, + "code": "1F3CC 1F3FC 200D 2640 FE0F", + "char": "🏌🏼‍♀️", + "name": "woman golfing: medium-light skin tone" + }, + { + "no": 989, + "code": "1F3CC 1F3FD 200D 2640 FE0F", + "char": "🏌🏽‍♀️", + "name": "woman golfing: medium skin tone" + }, + { + "no": 990, + "code": "1F3CC 1F3FE 200D 2640 FE0F", + "char": "🏌🏾‍♀️", + "name": "woman golfing: medium-dark skin tone" + }, + { + "no": 991, + "code": "1F3CC 1F3FF 200D 2640 FE0F", + "char": "🏌🏿‍♀️", + "name": "woman golfing: dark skin tone" + }, + { + "no": 992, + "code": "1F3C4", + "char": "🏄", + "name": "person surfing" + }, + { + "no": 993, + "code": "1F3C4 1F3FB", + "char": "🏄🏻", + "name": "person surfing: light skin tone" + }, + { + "no": 994, + "code": "1F3C4 1F3FC", + "char": "🏄🏼", + "name": "person surfing: medium-light skin tone" + }, + { + "no": 995, + "code": "1F3C4 1F3FD", + "char": "🏄🏽", + "name": "person surfing: medium skin tone" + }, + { + "no": 996, + "code": "1F3C4 1F3FE", + "char": "🏄🏾", + "name": "person surfing: medium-dark skin tone" + }, + { + "no": 997, + "code": "1F3C4 1F3FF", + "char": "🏄🏿", + "name": "person surfing: dark skin tone" + }, + { + "no": 998, + "code": "1F3C4 200D 2642 FE0F", + "char": "🏄‍♂️", + "name": "man surfing" + }, + { + "no": 999, + "code": "1F3C4 1F3FB 200D 2642 FE0F", + "char": "🏄🏻‍♂️", + "name": "man surfing: light skin tone" + }, + { + "no": 1000, + "code": "1F3C4 1F3FC 200D 2642 FE0F", + "char": "🏄🏼‍♂️", + "name": "man surfing: medium-light skin tone" + }, + { + "no": 1001, + "code": "1F3C4 1F3FD 200D 2642 FE0F", + "char": "🏄🏽‍♂️", + "name": "man surfing: medium skin tone" + }, + { + "no": 1002, + "code": "1F3C4 1F3FE 200D 2642 FE0F", + "char": "🏄🏾‍♂️", + "name": "man surfing: medium-dark skin tone" + }, + { + "no": 1003, + "code": "1F3C4 1F3FF 200D 2642 FE0F", + "char": "🏄🏿‍♂️", + "name": "man surfing: dark skin tone" + }, + { + "no": 1004, + "code": "1F3C4 200D 2640 FE0F", + "char": "🏄‍♀️", + "name": "woman surfing" + }, + { + "no": 1005, + "code": "1F3C4 1F3FB 200D 2640 FE0F", + "char": "🏄🏻‍♀️", + "name": "woman surfing: light skin tone" + }, + { + "no": 1006, + "code": "1F3C4 1F3FC 200D 2640 FE0F", + "char": "🏄🏼‍♀️", + "name": "woman surfing: medium-light skin tone" + }, + { + "no": 1007, + "code": "1F3C4 1F3FD 200D 2640 FE0F", + "char": "🏄🏽‍♀️", + "name": "woman surfing: medium skin tone" + }, + { + "no": 1008, + "code": "1F3C4 1F3FE 200D 2640 FE0F", + "char": "🏄🏾‍♀️", + "name": "woman surfing: medium-dark skin tone" + }, + { + "no": 1009, + "code": "1F3C4 1F3FF 200D 2640 FE0F", + "char": "🏄🏿‍♀️", + "name": "woman surfing: dark skin tone" + }, + { + "no": 1010, + "code": "1F6A3", + "char": "🚣", + "name": "person rowing boat" + }, + { + "no": 1011, + "code": "1F6A3 1F3FB", + "char": "🚣🏻", + "name": "person rowing boat: light skin tone" + }, + { + "no": 1012, + "code": "1F6A3 1F3FC", + "char": "🚣🏼", + "name": "person rowing boat: medium-light skin tone" + }, + { + "no": 1013, + "code": "1F6A3 1F3FD", + "char": "🚣🏽", + "name": "person rowing boat: medium skin tone" + }, + { + "no": 1014, + "code": "1F6A3 1F3FE", + "char": "🚣🏾", + "name": "person rowing boat: medium-dark skin tone" + }, + { + "no": 1015, + "code": "1F6A3 1F3FF", + "char": "🚣🏿", + "name": "person rowing boat: dark skin tone" + }, + { + "no": 1016, + "code": "1F6A3 200D 2642 FE0F", + "char": "🚣‍♂️", + "name": "man rowing boat" + }, + { + "no": 1017, + "code": "1F6A3 1F3FB 200D 2642 FE0F", + "char": "🚣🏻‍♂️", + "name": "man rowing boat: light skin tone" + }, + { + "no": 1018, + "code": "1F6A3 1F3FC 200D 2642 FE0F", + "char": "🚣🏼‍♂️", + "name": "man rowing boat: medium-light skin tone" + }, + { + "no": 1019, + "code": "1F6A3 1F3FD 200D 2642 FE0F", + "char": "🚣🏽‍♂️", + "name": "man rowing boat: medium skin tone" + }, + { + "no": 1020, + "code": "1F6A3 1F3FE 200D 2642 FE0F", + "char": "🚣🏾‍♂️", + "name": "man rowing boat: medium-dark skin tone" + }, + { + "no": 1021, + "code": "1F6A3 1F3FF 200D 2642 FE0F", + "char": "🚣🏿‍♂️", + "name": "man rowing boat: dark skin tone" + }, + { + "no": 1022, + "code": "1F6A3 200D 2640 FE0F", + "char": "🚣‍♀️", + "name": "woman rowing boat" + }, + { + "no": 1023, + "code": "1F6A3 1F3FB 200D 2640 FE0F", + "char": "🚣🏻‍♀️", + "name": "woman rowing boat: light skin tone" + }, + { + "no": 1024, + "code": "1F6A3 1F3FC 200D 2640 FE0F", + "char": "🚣🏼‍♀️", + "name": "woman rowing boat: medium-light skin tone" + }, + { + "no": 1025, + "code": "1F6A3 1F3FD 200D 2640 FE0F", + "char": "🚣🏽‍♀️", + "name": "woman rowing boat: medium skin tone" + }, + { + "no": 1026, + "code": "1F6A3 1F3FE 200D 2640 FE0F", + "char": "🚣🏾‍♀️", + "name": "woman rowing boat: medium-dark skin tone" + }, + { + "no": 1027, + "code": "1F6A3 1F3FF 200D 2640 FE0F", + "char": "🚣🏿‍♀️", + "name": "woman rowing boat: dark skin tone" + }, + { + "no": 1028, + "code": "1F3CA", + "char": "🏊", + "name": "person swimming" + }, + { + "no": 1029, + "code": "1F3CA 1F3FB", + "char": "🏊🏻", + "name": "person swimming: light skin tone" + }, + { + "no": 1030, + "code": "1F3CA 1F3FC", + "char": "🏊🏼", + "name": "person swimming: medium-light skin tone" + }, + { + "no": 1031, + "code": "1F3CA 1F3FD", + "char": "🏊🏽", + "name": "person swimming: medium skin tone" + }, + { + "no": 1032, + "code": "1F3CA 1F3FE", + "char": "🏊🏾", + "name": "person swimming: medium-dark skin tone" + }, + { + "no": 1033, + "code": "1F3CA 1F3FF", + "char": "🏊🏿", + "name": "person swimming: dark skin tone" + }, + { + "no": 1034, + "code": "1F3CA 200D 2642 FE0F", + "char": "🏊‍♂️", + "name": "man swimming" + }, + { + "no": 1035, + "code": "1F3CA 1F3FB 200D 2642 FE0F", + "char": "🏊🏻‍♂️", + "name": "man swimming: light skin tone" + }, + { + "no": 1036, + "code": "1F3CA 1F3FC 200D 2642 FE0F", + "char": "🏊🏼‍♂️", + "name": "man swimming: medium-light skin tone" + }, + { + "no": 1037, + "code": "1F3CA 1F3FD 200D 2642 FE0F", + "char": "🏊🏽‍♂️", + "name": "man swimming: medium skin tone" + }, + { + "no": 1038, + "code": "1F3CA 1F3FE 200D 2642 FE0F", + "char": "🏊🏾‍♂️", + "name": "man swimming: medium-dark skin tone" + }, + { + "no": 1039, + "code": "1F3CA 1F3FF 200D 2642 FE0F", + "char": "🏊🏿‍♂️", + "name": "man swimming: dark skin tone" + }, + { + "no": 1040, + "code": "1F3CA 200D 2640 FE0F", + "char": "🏊‍♀️", + "name": "woman swimming" + }, + { + "no": 1041, + "code": "1F3CA 1F3FB 200D 2640 FE0F", + "char": "🏊🏻‍♀️", + "name": "woman swimming: light skin tone" + }, + { + "no": 1042, + "code": "1F3CA 1F3FC 200D 2640 FE0F", + "char": "🏊🏼‍♀️", + "name": "woman swimming: medium-light skin tone" + }, + { + "no": 1043, + "code": "1F3CA 1F3FD 200D 2640 FE0F", + "char": "🏊🏽‍♀️", + "name": "woman swimming: medium skin tone" + }, + { + "no": 1044, + "code": "1F3CA 1F3FE 200D 2640 FE0F", + "char": "🏊🏾‍♀️", + "name": "woman swimming: medium-dark skin tone" + }, + { + "no": 1045, + "code": "1F3CA 1F3FF 200D 2640 FE0F", + "char": "🏊🏿‍♀️", + "name": "woman swimming: dark skin tone" + }, + { + "no": 1046, + "code": "26F9", + "char": "⛹", + "name": "person bouncing ball" + }, + { + "no": 1047, + "code": "26F9 1F3FB", + "char": "⛹🏻", + "name": "person bouncing ball: light skin tone" + }, + { + "no": 1048, + "code": "26F9 1F3FC", + "char": "⛹🏼", + "name": "person bouncing ball: medium-light skin tone" + }, + { + "no": 1049, + "code": "26F9 1F3FD", + "char": "⛹🏽", + "name": "person bouncing ball: medium skin tone" + }, + { + "no": 1050, + "code": "26F9 1F3FE", + "char": "⛹🏾", + "name": "person bouncing ball: medium-dark skin tone" + }, + { + "no": 1051, + "code": "26F9 1F3FF", + "char": "⛹🏿", + "name": "person bouncing ball: dark skin tone" + }, + { + "no": 1052, + "code": "26F9 FE0F 200D 2642 FE0F", + "char": "⛹️‍♂️", + "name": "man bouncing ball" + }, + { + "no": 1053, + "code": "26F9 1F3FB 200D 2642 FE0F", + "char": "⛹🏻‍♂️", + "name": "man bouncing ball: light skin tone" + }, + { + "no": 1054, + "code": "26F9 1F3FC 200D 2642 FE0F", + "char": "⛹🏼‍♂️", + "name": "man bouncing ball: medium-light skin tone" + }, + { + "no": 1055, + "code": "26F9 1F3FD 200D 2642 FE0F", + "char": "⛹🏽‍♂️", + "name": "man bouncing ball: medium skin tone" + }, + { + "no": 1056, + "code": "26F9 1F3FE 200D 2642 FE0F", + "char": "⛹🏾‍♂️", + "name": "man bouncing ball: medium-dark skin tone" + }, + { + "no": 1057, + "code": "26F9 1F3FF 200D 2642 FE0F", + "char": "⛹🏿‍♂️", + "name": "man bouncing ball: dark skin tone" + }, + { + "no": 1058, + "code": "26F9 FE0F 200D 2640 FE0F", + "char": "⛹️‍♀️", + "name": "woman bouncing ball" + }, + { + "no": 1059, + "code": "26F9 1F3FB 200D 2640 FE0F", + "char": "⛹🏻‍♀️", + "name": "woman bouncing ball: light skin tone" + }, + { + "no": 1060, + "code": "26F9 1F3FC 200D 2640 FE0F", + "char": "⛹🏼‍♀️", + "name": "woman bouncing ball: medium-light skin tone" + }, + { + "no": 1061, + "code": "26F9 1F3FD 200D 2640 FE0F", + "char": "⛹🏽‍♀️", + "name": "woman bouncing ball: medium skin tone" + }, + { + "no": 1062, + "code": "26F9 1F3FE 200D 2640 FE0F", + "char": "⛹🏾‍♀️", + "name": "woman bouncing ball: medium-dark skin tone" + }, + { + "no": 1063, + "code": "26F9 1F3FF 200D 2640 FE0F", + "char": "⛹🏿‍♀️", + "name": "woman bouncing ball: dark skin tone" + }, + { + "no": 1064, + "code": "1F3CB", + "char": "🏋", + "name": "person lifting weights" + }, + { + "no": 1065, + "code": "1F3CB 1F3FB", + "char": "🏋🏻", + "name": "person lifting weights: light skin tone" + }, + { + "no": 1066, + "code": "1F3CB 1F3FC", + "char": "🏋🏼", + "name": "person lifting weights: medium-light skin tone" + }, + { + "no": 1067, + "code": "1F3CB 1F3FD", + "char": "🏋🏽", + "name": "person lifting weights: medium skin tone" + }, + { + "no": 1068, + "code": "1F3CB 1F3FE", + "char": "🏋🏾", + "name": "person lifting weights: medium-dark skin tone" + }, + { + "no": 1069, + "code": "1F3CB 1F3FF", + "char": "🏋🏿", + "name": "person lifting weights: dark skin tone" + }, + { + "no": 1070, + "code": "1F3CB FE0F 200D 2642 FE0F", + "char": "🏋️‍♂️", + "name": "man lifting weights" + }, + { + "no": 1071, + "code": "1F3CB 1F3FB 200D 2642 FE0F", + "char": "🏋🏻‍♂️", + "name": "man lifting weights: light skin tone" + }, + { + "no": 1072, + "code": "1F3CB 1F3FC 200D 2642 FE0F", + "char": "🏋🏼‍♂️", + "name": "man lifting weights: medium-light skin tone" + }, + { + "no": 1073, + "code": "1F3CB 1F3FD 200D 2642 FE0F", + "char": "🏋🏽‍♂️", + "name": "man lifting weights: medium skin tone" + }, + { + "no": 1074, + "code": "1F3CB 1F3FE 200D 2642 FE0F", + "char": "🏋🏾‍♂️", + "name": "man lifting weights: medium-dark skin tone" + }, + { + "no": 1075, + "code": "1F3CB 1F3FF 200D 2642 FE0F", + "char": "🏋🏿‍♂️", + "name": "man lifting weights: dark skin tone" + }, + { + "no": 1076, + "code": "1F3CB FE0F 200D 2640 FE0F", + "char": "🏋️‍♀️", + "name": "woman lifting weights" + }, + { + "no": 1077, + "code": "1F3CB 1F3FB 200D 2640 FE0F", + "char": "🏋🏻‍♀️", + "name": "woman lifting weights: light skin tone" + }, + { + "no": 1078, + "code": "1F3CB 1F3FC 200D 2640 FE0F", + "char": "🏋🏼‍♀️", + "name": "woman lifting weights: medium-light skin tone" + }, + { + "no": 1079, + "code": "1F3CB 1F3FD 200D 2640 FE0F", + "char": "🏋🏽‍♀️", + "name": "woman lifting weights: medium skin tone" + }, + { + "no": 1080, + "code": "1F3CB 1F3FE 200D 2640 FE0F", + "char": "🏋🏾‍♀️", + "name": "woman lifting weights: medium-dark skin tone" + }, + { + "no": 1081, + "code": "1F3CB 1F3FF 200D 2640 FE0F", + "char": "🏋🏿‍♀️", + "name": "woman lifting weights: dark skin tone" + }, + { + "no": 1082, + "code": "1F6B4", + "char": "🚴", + "name": "person biking" + }, + { + "no": 1083, + "code": "1F6B4 1F3FB", + "char": "🚴🏻", + "name": "person biking: light skin tone" + }, + { + "no": 1084, + "code": "1F6B4 1F3FC", + "char": "🚴🏼", + "name": "person biking: medium-light skin tone" + }, + { + "no": 1085, + "code": "1F6B4 1F3FD", + "char": "🚴🏽", + "name": "person biking: medium skin tone" + }, + { + "no": 1086, + "code": "1F6B4 1F3FE", + "char": "🚴🏾", + "name": "person biking: medium-dark skin tone" + }, + { + "no": 1087, + "code": "1F6B4 1F3FF", + "char": "🚴🏿", + "name": "person biking: dark skin tone" + }, + { + "no": 1088, + "code": "1F6B4 200D 2642 FE0F", + "char": "🚴‍♂️", + "name": "man biking" + }, + { + "no": 1089, + "code": "1F6B4 1F3FB 200D 2642 FE0F", + "char": "🚴🏻‍♂️", + "name": "man biking: light skin tone" + }, + { + "no": 1090, + "code": "1F6B4 1F3FC 200D 2642 FE0F", + "char": "🚴🏼‍♂️", + "name": "man biking: medium-light skin tone" + }, + { + "no": 1091, + "code": "1F6B4 1F3FD 200D 2642 FE0F", + "char": "🚴🏽‍♂️", + "name": "man biking: medium skin tone" + }, + { + "no": 1092, + "code": "1F6B4 1F3FE 200D 2642 FE0F", + "char": "🚴🏾‍♂️", + "name": "man biking: medium-dark skin tone" + }, + { + "no": 1093, + "code": "1F6B4 1F3FF 200D 2642 FE0F", + "char": "🚴🏿‍♂️", + "name": "man biking: dark skin tone" + }, + { + "no": 1094, + "code": "1F6B4 200D 2640 FE0F", + "char": "🚴‍♀️", + "name": "woman biking" + }, + { + "no": 1095, + "code": "1F6B4 1F3FB 200D 2640 FE0F", + "char": "🚴🏻‍♀️", + "name": "woman biking: light skin tone" + }, + { + "no": 1096, + "code": "1F6B4 1F3FC 200D 2640 FE0F", + "char": "🚴🏼‍♀️", + "name": "woman biking: medium-light skin tone" + }, + { + "no": 1097, + "code": "1F6B4 1F3FD 200D 2640 FE0F", + "char": "🚴🏽‍♀️", + "name": "woman biking: medium skin tone" + }, + { + "no": 1098, + "code": "1F6B4 1F3FE 200D 2640 FE0F", + "char": "🚴🏾‍♀️", + "name": "woman biking: medium-dark skin tone" + }, + { + "no": 1099, + "code": "1F6B4 1F3FF 200D 2640 FE0F", + "char": "🚴🏿‍♀️", + "name": "woman biking: dark skin tone" + }, + { + "no": 1100, + "code": "1F6B5", + "char": "🚵", + "name": "person mountain biking" + }, + { + "no": 1101, + "code": "1F6B5 1F3FB", + "char": "🚵🏻", + "name": "person mountain biking: light skin tone" + }, + { + "no": 1102, + "code": "1F6B5 1F3FC", + "char": "🚵🏼", + "name": "person mountain biking: medium-light skin tone" + }, + { + "no": 1103, + "code": "1F6B5 1F3FD", + "char": "🚵🏽", + "name": "person mountain biking: medium skin tone" + }, + { + "no": 1104, + "code": "1F6B5 1F3FE", + "char": "🚵🏾", + "name": "person mountain biking: medium-dark skin tone" + }, + { + "no": 1105, + "code": "1F6B5 1F3FF", + "char": "🚵🏿", + "name": "person mountain biking: dark skin tone" + }, + { + "no": 1106, + "code": "1F6B5 200D 2642 FE0F", + "char": "🚵‍♂️", + "name": "man mountain biking" + }, + { + "no": 1107, + "code": "1F6B5 1F3FB 200D 2642 FE0F", + "char": "🚵🏻‍♂️", + "name": "man mountain biking: light skin tone" + }, + { + "no": 1108, + "code": "1F6B5 1F3FC 200D 2642 FE0F", + "char": "🚵🏼‍♂️", + "name": "man mountain biking: medium-light skin tone" + }, + { + "no": 1109, + "code": "1F6B5 1F3FD 200D 2642 FE0F", + "char": "🚵🏽‍♂️", + "name": "man mountain biking: medium skin tone" + }, + { + "no": 1110, + "code": "1F6B5 1F3FE 200D 2642 FE0F", + "char": "🚵🏾‍♂️", + "name": "man mountain biking: medium-dark skin tone" + }, + { + "no": 1111, + "code": "1F6B5 1F3FF 200D 2642 FE0F", + "char": "🚵🏿‍♂️", + "name": "man mountain biking: dark skin tone" + }, + { + "no": 1112, + "code": "1F6B5 200D 2640 FE0F", + "char": "🚵‍♀️", + "name": "woman mountain biking" + }, + { + "no": 1113, + "code": "1F6B5 1F3FB 200D 2640 FE0F", + "char": "🚵🏻‍♀️", + "name": "woman mountain biking: light skin tone" + }, + { + "no": 1114, + "code": "1F6B5 1F3FC 200D 2640 FE0F", + "char": "🚵🏼‍♀️", + "name": "woman mountain biking: medium-light skin tone" + }, + { + "no": 1115, + "code": "1F6B5 1F3FD 200D 2640 FE0F", + "char": "🚵🏽‍♀️", + "name": "woman mountain biking: medium skin tone" + }, + { + "no": 1116, + "code": "1F6B5 1F3FE 200D 2640 FE0F", + "char": "🚵🏾‍♀️", + "name": "woman mountain biking: medium-dark skin tone" + }, + { + "no": 1117, + "code": "1F6B5 1F3FF 200D 2640 FE0F", + "char": "🚵🏿‍♀️", + "name": "woman mountain biking: dark skin tone" + }, + { + "no": 1118, + "code": "1F3CE", + "char": "🏎", + "name": "racing car" + }, + { + "no": 1119, + "code": "1F3CD", + "char": "🏍", + "name": "motorcycle" + }, + { + "no": 1120, + "code": "1F938", + "char": "🤸", + "name": "person cartwheeling" + }, + { + "no": 1121, + "code": "1F938 1F3FB", + "char": "🤸🏻", + "name": "person cartwheeling: light skin tone" + }, + { + "no": 1122, + "code": "1F938 1F3FC", + "char": "🤸🏼", + "name": "person cartwheeling: medium-light skin tone" + }, + { + "no": 1123, + "code": "1F938 1F3FD", + "char": "🤸🏽", + "name": "person cartwheeling: medium skin tone" + }, + { + "no": 1124, + "code": "1F938 1F3FE", + "char": "🤸🏾", + "name": "person cartwheeling: medium-dark skin tone" + }, + { + "no": 1125, + "code": "1F938 1F3FF", + "char": "🤸🏿", + "name": "person cartwheeling: dark skin tone" + }, + { + "no": 1126, + "code": "1F938 200D 2642 FE0F", + "char": "🤸‍♂️", + "name": "man cartwheeling" + }, + { + "no": 1127, + "code": "1F938 1F3FB 200D 2642 FE0F", + "char": "🤸🏻‍♂️", + "name": "man cartwheeling: light skin tone" + }, + { + "no": 1128, + "code": "1F938 1F3FC 200D 2642 FE0F", + "char": "🤸🏼‍♂️", + "name": "man cartwheeling: medium-light skin tone" + }, + { + "no": 1129, + "code": "1F938 1F3FD 200D 2642 FE0F", + "char": "🤸🏽‍♂️", + "name": "man cartwheeling: medium skin tone" + }, + { + "no": 1130, + "code": "1F938 1F3FE 200D 2642 FE0F", + "char": "🤸🏾‍♂️", + "name": "man cartwheeling: medium-dark skin tone" + }, + { + "no": 1131, + "code": "1F938 1F3FF 200D 2642 FE0F", + "char": "🤸🏿‍♂️", + "name": "man cartwheeling: dark skin tone" + }, + { + "no": 1132, + "code": "1F938 200D 2640 FE0F", + "char": "🤸‍♀️", + "name": "woman cartwheeling" + }, + { + "no": 1133, + "code": "1F938 1F3FB 200D 2640 FE0F", + "char": "🤸🏻‍♀️", + "name": "woman cartwheeling: light skin tone" + }, + { + "no": 1134, + "code": "1F938 1F3FC 200D 2640 FE0F", + "char": "🤸🏼‍♀️", + "name": "woman cartwheeling: medium-light skin tone" + }, + { + "no": 1135, + "code": "1F938 1F3FD 200D 2640 FE0F", + "char": "🤸🏽‍♀️", + "name": "woman cartwheeling: medium skin tone" + }, + { + "no": 1136, + "code": "1F938 1F3FE 200D 2640 FE0F", + "char": "🤸🏾‍♀️", + "name": "woman cartwheeling: medium-dark skin tone" + }, + { + "no": 1137, + "code": "1F938 1F3FF 200D 2640 FE0F", + "char": "🤸🏿‍♀️", + "name": "woman cartwheeling: dark skin tone" + }, + { + "no": 1138, + "code": "1F93C", + "char": "🤼", + "name": "people wrestling" + }, + { + "no": 1139, + "code": "1F93C 200D 2642 FE0F", + "char": "🤼‍♂️", + "name": "men wrestling" + }, + { + "no": 1140, + "code": "1F93C 200D 2640 FE0F", + "char": "🤼‍♀️", + "name": "women wrestling" + }, + { + "no": 1141, + "code": "1F93D", + "char": "🤽", + "name": "person playing water polo" + }, + { + "no": 1142, + "code": "1F93D 1F3FB", + "char": "🤽🏻", + "name": "person playing water polo: light skin tone" + }, + { + "no": 1143, + "code": "1F93D 1F3FC", + "char": "🤽🏼", + "name": "person playing water polo: medium-light skin tone" + }, + { + "no": 1144, + "code": "1F93D 1F3FD", + "char": "🤽🏽", + "name": "person playing water polo: medium skin tone" + }, + { + "no": 1145, + "code": "1F93D 1F3FE", + "char": "🤽🏾", + "name": "person playing water polo: medium-dark skin tone" + }, + { + "no": 1146, + "code": "1F93D 1F3FF", + "char": "🤽🏿", + "name": "person playing water polo: dark skin tone" + }, + { + "no": 1147, + "code": "1F93D 200D 2642 FE0F", + "char": "🤽‍♂️", + "name": "man playing water polo" + }, + { + "no": 1148, + "code": "1F93D 1F3FB 200D 2642 FE0F", + "char": "🤽🏻‍♂️", + "name": "man playing water polo: light skin tone" + }, + { + "no": 1149, + "code": "1F93D 1F3FC 200D 2642 FE0F", + "char": "🤽🏼‍♂️", + "name": "man playing water polo: medium-light skin tone" + }, + { + "no": 1150, + "code": "1F93D 1F3FD 200D 2642 FE0F", + "char": "🤽🏽‍♂️", + "name": "man playing water polo: medium skin tone" + }, + { + "no": 1151, + "code": "1F93D 1F3FE 200D 2642 FE0F", + "char": "🤽🏾‍♂️", + "name": "man playing water polo: medium-dark skin tone" + }, + { + "no": 1152, + "code": "1F93D 1F3FF 200D 2642 FE0F", + "char": "🤽🏿‍♂️", + "name": "man playing water polo: dark skin tone" + }, + { + "no": 1153, + "code": "1F93D 200D 2640 FE0F", + "char": "🤽‍♀️", + "name": "woman playing water polo" + }, + { + "no": 1154, + "code": "1F93D 1F3FB 200D 2640 FE0F", + "char": "🤽🏻‍♀️", + "name": "woman playing water polo: light skin tone" + }, + { + "no": 1155, + "code": "1F93D 1F3FC 200D 2640 FE0F", + "char": "🤽🏼‍♀️", + "name": "woman playing water polo: medium-light skin tone" + }, + { + "no": 1156, + "code": "1F93D 1F3FD 200D 2640 FE0F", + "char": "🤽🏽‍♀️", + "name": "woman playing water polo: medium skin tone" + }, + { + "no": 1157, + "code": "1F93D 1F3FE 200D 2640 FE0F", + "char": "🤽🏾‍♀️", + "name": "woman playing water polo: medium-dark skin tone" + }, + { + "no": 1158, + "code": "1F93D 1F3FF 200D 2640 FE0F", + "char": "🤽🏿‍♀️", + "name": "woman playing water polo: dark skin tone" + }, + { + "no": 1159, + "code": "1F93E", + "char": "🤾", + "name": "person playing handball" + }, + { + "no": 1160, + "code": "1F93E 1F3FB", + "char": "🤾🏻", + "name": "person playing handball: light skin tone" + }, + { + "no": 1161, + "code": "1F93E 1F3FC", + "char": "🤾🏼", + "name": "person playing handball: medium-light skin tone" + }, + { + "no": 1162, + "code": "1F93E 1F3FD", + "char": "🤾🏽", + "name": "person playing handball: medium skin tone" + }, + { + "no": 1163, + "code": "1F93E 1F3FE", + "char": "🤾🏾", + "name": "person playing handball: medium-dark skin tone" + }, + { + "no": 1164, + "code": "1F93E 1F3FF", + "char": "🤾🏿", + "name": "person playing handball: dark skin tone" + }, + { + "no": 1165, + "code": "1F93E 200D 2642 FE0F", + "char": "🤾‍♂️", + "name": "man playing handball" + }, + { + "no": 1166, + "code": "1F93E 1F3FB 200D 2642 FE0F", + "char": "🤾🏻‍♂️", + "name": "man playing handball: light skin tone" + }, + { + "no": 1167, + "code": "1F93E 1F3FC 200D 2642 FE0F", + "char": "🤾🏼‍♂️", + "name": "man playing handball: medium-light skin tone" + }, + { + "no": 1168, + "code": "1F93E 1F3FD 200D 2642 FE0F", + "char": "🤾🏽‍♂️", + "name": "man playing handball: medium skin tone" + }, + { + "no": 1169, + "code": "1F93E 1F3FE 200D 2642 FE0F", + "char": "🤾🏾‍♂️", + "name": "man playing handball: medium-dark skin tone" + }, + { + "no": 1170, + "code": "1F93E 1F3FF 200D 2642 FE0F", + "char": "🤾🏿‍♂️", + "name": "man playing handball: dark skin tone" + }, + { + "no": 1171, + "code": "1F93E 200D 2640 FE0F", + "char": "🤾‍♀️", + "name": "woman playing handball" + }, + { + "no": 1172, + "code": "1F93E 1F3FB 200D 2640 FE0F", + "char": "🤾🏻‍♀️", + "name": "woman playing handball: light skin tone" + }, + { + "no": 1173, + "code": "1F93E 1F3FC 200D 2640 FE0F", + "char": "🤾🏼‍♀️", + "name": "woman playing handball: medium-light skin tone" + }, + { + "no": 1174, + "code": "1F93E 1F3FD 200D 2640 FE0F", + "char": "🤾🏽‍♀️", + "name": "woman playing handball: medium skin tone" + }, + { + "no": 1175, + "code": "1F93E 1F3FE 200D 2640 FE0F", + "char": "🤾🏾‍♀️", + "name": "woman playing handball: medium-dark skin tone" + }, + { + "no": 1176, + "code": "1F93E 1F3FF 200D 2640 FE0F", + "char": "🤾🏿‍♀️", + "name": "woman playing handball: dark skin tone" + }, + { + "no": 1177, + "code": "1F939", + "char": "🤹", + "name": "person juggling" + }, + { + "no": 1178, + "code": "1F939 1F3FB", + "char": "🤹🏻", + "name": "person juggling: light skin tone" + }, + { + "no": 1179, + "code": "1F939 1F3FC", + "char": "🤹🏼", + "name": "person juggling: medium-light skin tone" + }, + { + "no": 1180, + "code": "1F939 1F3FD", + "char": "🤹🏽", + "name": "person juggling: medium skin tone" + }, + { + "no": 1181, + "code": "1F939 1F3FE", + "char": "🤹🏾", + "name": "person juggling: medium-dark skin tone" + }, + { + "no": 1182, + "code": "1F939 1F3FF", + "char": "🤹🏿", + "name": "person juggling: dark skin tone" + }, + { + "no": 1183, + "code": "1F939 200D 2642 FE0F", + "char": "🤹‍♂️", + "name": "man juggling" + }, + { + "no": 1184, + "code": "1F939 1F3FB 200D 2642 FE0F", + "char": "🤹🏻‍♂️", + "name": "man juggling: light skin tone" + }, + { + "no": 1185, + "code": "1F939 1F3FC 200D 2642 FE0F", + "char": "🤹🏼‍♂️", + "name": "man juggling: medium-light skin tone" + }, + { + "no": 1186, + "code": "1F939 1F3FD 200D 2642 FE0F", + "char": "🤹🏽‍♂️", + "name": "man juggling: medium skin tone" + }, + { + "no": 1187, + "code": "1F939 1F3FE 200D 2642 FE0F", + "char": "🤹🏾‍♂️", + "name": "man juggling: medium-dark skin tone" + }, + { + "no": 1188, + "code": "1F939 1F3FF 200D 2642 FE0F", + "char": "🤹🏿‍♂️", + "name": "man juggling: dark skin tone" + }, + { + "no": 1189, + "code": "1F939 200D 2640 FE0F", + "char": "🤹‍♀️", + "name": "woman juggling" + }, + { + "no": 1190, + "code": "1F939 1F3FB 200D 2640 FE0F", + "char": "🤹🏻‍♀️", + "name": "woman juggling: light skin tone" + }, + { + "no": 1191, + "code": "1F939 1F3FC 200D 2640 FE0F", + "char": "🤹🏼‍♀️", + "name": "woman juggling: medium-light skin tone" + }, + { + "no": 1192, + "code": "1F939 1F3FD 200D 2640 FE0F", + "char": "🤹🏽‍♀️", + "name": "woman juggling: medium skin tone" + }, + { + "no": 1193, + "code": "1F939 1F3FE 200D 2640 FE0F", + "char": "🤹🏾‍♀️", + "name": "woman juggling: medium-dark skin tone" + }, + { + "no": 1194, + "code": "1F939 1F3FF 200D 2640 FE0F", + "char": "🤹🏿‍♀️", + "name": "woman juggling: dark skin tone" + }, + { + "no": 1195, + "code": "1F46B", + "char": "👫", + "name": "man and woman holding hands" + }, + { + "no": 1196, + "code": "1F46C", + "char": "👬", + "name": "two men holding hands" + }, + { + "no": 1197, + "code": "1F46D", + "char": "👭", + "name": "two women holding hands" + }, + { + "no": 1198, + "code": "1F48F", + "char": "💏", + "name": "kiss" + }, + { + "no": 1199, + "code": "1F469 200D 2764 FE0F 200D 1F48B 200D 1F468", + "char": "👩‍❤️‍💋‍👨", + "name": "kiss: woman, man" + }, + { + "no": 1200, + "code": "1F468 200D 2764 FE0F 200D 1F48B 200D 1F468", + "char": "👨‍❤️‍💋‍👨", + "name": "kiss: man, man" + }, + { + "no": 1201, + "code": "1F469 200D 2764 FE0F 200D 1F48B 200D 1F469", + "char": "👩‍❤️‍💋‍👩", + "name": "kiss: woman, woman" + }, + { + "no": 1202, + "code": "1F491", + "char": "💑", + "name": "couple with heart" + }, + { + "no": 1203, + "code": "1F469 200D 2764 FE0F 200D 1F468", + "char": "👩‍❤️‍👨", + "name": "couple with heart: woman, man" + }, + { + "no": 1204, + "code": "1F468 200D 2764 FE0F 200D 1F468", + "char": "👨‍❤️‍👨", + "name": "couple with heart: man, man" + }, + { + "no": 1205, + "code": "1F469 200D 2764 FE0F 200D 1F469", + "char": "👩‍❤️‍👩", + "name": "couple with heart: woman, woman" + }, + { + "no": 1206, + "code": "1F46A", + "char": "👪", + "name": "family" + }, + { + "no": 1207, + "code": "1F468 200D 1F469 200D 1F466", + "char": "👨‍👩‍👦", + "name": "family: man, woman, boy" + }, + { + "no": 1208, + "code": "1F468 200D 1F469 200D 1F467", + "char": "👨‍👩‍👧", + "name": "family: man, woman, girl" + }, + { + "no": 1209, + "code": "1F468 200D 1F469 200D 1F467 200D 1F466", + "char": "👨‍👩‍👧‍👦", + "name": "family: man, woman, girl, boy" + }, + { + "no": 1210, + "code": "1F468 200D 1F469 200D 1F466 200D 1F466", + "char": "👨‍👩‍👦‍👦", + "name": "family: man, woman, boy, boy" + }, + { + "no": 1211, + "code": "1F468 200D 1F469 200D 1F467 200D 1F467", + "char": "👨‍👩‍👧‍👧", + "name": "family: man, woman, girl, girl" + }, + { + "no": 1212, + "code": "1F468 200D 1F468 200D 1F466", + "char": "👨‍👨‍👦", + "name": "family: man, man, boy" + }, + { + "no": 1213, + "code": "1F468 200D 1F468 200D 1F467", + "char": "👨‍👨‍👧", + "name": "family: man, man, girl" + }, + { + "no": 1214, + "code": "1F468 200D 1F468 200D 1F467 200D 1F466", + "char": "👨‍👨‍👧‍👦", + "name": "family: man, man, girl, boy" + }, + { + "no": 1215, + "code": "1F468 200D 1F468 200D 1F466 200D 1F466", + "char": "👨‍👨‍👦‍👦", + "name": "family: man, man, boy, boy" + }, + { + "no": 1216, + "code": "1F468 200D 1F468 200D 1F467 200D 1F467", + "char": "👨‍👨‍👧‍👧", + "name": "family: man, man, girl, girl" + }, + { + "no": 1217, + "code": "1F469 200D 1F469 200D 1F466", + "char": "👩‍👩‍👦", + "name": "family: woman, woman, boy" + }, + { + "no": 1218, + "code": "1F469 200D 1F469 200D 1F467", + "char": "👩‍👩‍👧", + "name": "family: woman, woman, girl" + }, + { + "no": 1219, + "code": "1F469 200D 1F469 200D 1F467 200D 1F466", + "char": "👩‍👩‍👧‍👦", + "name": "family: woman, woman, girl, boy" + }, + { + "no": 1220, + "code": "1F469 200D 1F469 200D 1F466 200D 1F466", + "char": "👩‍👩‍👦‍👦", + "name": "family: woman, woman, boy, boy" + }, + { + "no": 1221, + "code": "1F469 200D 1F469 200D 1F467 200D 1F467", + "char": "👩‍👩‍👧‍👧", + "name": "family: woman, woman, girl, girl" + }, + { + "no": 1222, + "code": "1F468 200D 1F466", + "char": "👨‍👦", + "name": "family: man, boy" + }, + { + "no": 1223, + "code": "1F468 200D 1F466 200D 1F466", + "char": "👨‍👦‍👦", + "name": "family: man, boy, boy" + }, + { + "no": 1224, + "code": "1F468 200D 1F467", + "char": "👨‍👧", + "name": "family: man, girl" + }, + { + "no": 1225, + "code": "1F468 200D 1F467 200D 1F466", + "char": "👨‍👧‍👦", + "name": "family: man, girl, boy" + }, + { + "no": 1226, + "code": "1F468 200D 1F467 200D 1F467", + "char": "👨‍👧‍👧", + "name": "family: man, girl, girl" + }, + { + "no": 1227, + "code": "1F469 200D 1F466", + "char": "👩‍👦", + "name": "family: woman, boy" + }, + { + "no": 1228, + "code": "1F469 200D 1F466 200D 1F466", + "char": "👩‍👦‍👦", + "name": "family: woman, boy, boy" + }, + { + "no": 1229, + "code": "1F469 200D 1F467", + "char": "👩‍👧", + "name": "family: woman, girl" + }, + { + "no": 1230, + "code": "1F469 200D 1F467 200D 1F466", + "char": "👩‍👧‍👦", + "name": "family: woman, girl, boy" + }, + { + "no": 1231, + "code": "1F469 200D 1F467 200D 1F467", + "char": "👩‍👧‍👧", + "name": "family: woman, girl, girl" + }, + { + "no": 1232, + "code": "1F933", + "char": "🤳", + "name": "selfie" + }, + { + "no": 1233, + "code": "1F933 1F3FB", + "char": "🤳🏻", + "name": "selfie: light skin tone" + }, + { + "no": 1234, + "code": "1F933 1F3FC", + "char": "🤳🏼", + "name": "selfie: medium-light skin tone" + }, + { + "no": 1235, + "code": "1F933 1F3FD", + "char": "🤳🏽", + "name": "selfie: medium skin tone" + }, + { + "no": 1236, + "code": "1F933 1F3FE", + "char": "🤳🏾", + "name": "selfie: medium-dark skin tone" + }, + { + "no": 1237, + "code": "1F933 1F3FF", + "char": "🤳🏿", + "name": "selfie: dark skin tone" + }, + { + "no": 1238, + "code": "1F4AA", + "char": "💪", + "name": "flexed biceps" + }, + { + "no": 1239, + "code": "1F4AA 1F3FB", + "char": "💪🏻", + "name": "flexed biceps: light skin tone" + }, + { + "no": 1240, + "code": "1F4AA 1F3FC", + "char": "💪🏼", + "name": "flexed biceps: medium-light skin tone" + }, + { + "no": 1241, + "code": "1F4AA 1F3FD", + "char": "💪🏽", + "name": "flexed biceps: medium skin tone" + }, + { + "no": 1242, + "code": "1F4AA 1F3FE", + "char": "💪🏾", + "name": "flexed biceps: medium-dark skin tone" + }, + { + "no": 1243, + "code": "1F4AA 1F3FF", + "char": "💪🏿", + "name": "flexed biceps: dark skin tone" + }, + { + "no": 1244, + "code": "1F448", + "char": "👈", + "name": "backhand index pointing left" + }, + { + "no": 1245, + "code": "1F448 1F3FB", + "char": "👈🏻", + "name": "backhand index pointing left: light skin tone" + }, + { + "no": 1246, + "code": "1F448 1F3FC", + "char": "👈🏼", + "name": "backhand index pointing left: medium-light skin tone" + }, + { + "no": 1247, + "code": "1F448 1F3FD", + "char": "👈🏽", + "name": "backhand index pointing left: medium skin tone" + }, + { + "no": 1248, + "code": "1F448 1F3FE", + "char": "👈🏾", + "name": "backhand index pointing left: medium-dark skin tone" + }, + { + "no": 1249, + "code": "1F448 1F3FF", + "char": "👈🏿", + "name": "backhand index pointing left: dark skin tone" + }, + { + "no": 1250, + "code": "1F449", + "char": "👉", + "name": "backhand index pointing right" + }, + { + "no": 1251, + "code": "1F449 1F3FB", + "char": "👉🏻", + "name": "backhand index pointing right: light skin tone" + }, + { + "no": 1252, + "code": "1F449 1F3FC", + "char": "👉🏼", + "name": "backhand index pointing right: medium-light skin tone" + }, + { + "no": 1253, + "code": "1F449 1F3FD", + "char": "👉🏽", + "name": "backhand index pointing right: medium skin tone" + }, + { + "no": 1254, + "code": "1F449 1F3FE", + "char": "👉🏾", + "name": "backhand index pointing right: medium-dark skin tone" + }, + { + "no": 1255, + "code": "1F449 1F3FF", + "char": "👉🏿", + "name": "backhand index pointing right: dark skin tone" + }, + { + "no": 1256, + "code": "261D", + "char": "☝", + "name": "index pointing up" + }, + { + "no": 1257, + "code": "261D 1F3FB", + "char": "☝🏻", + "name": "index pointing up: light skin tone" + }, + { + "no": 1258, + "code": "261D 1F3FC", + "char": "☝🏼", + "name": "index pointing up: medium-light skin tone" + }, + { + "no": 1259, + "code": "261D 1F3FD", + "char": "☝🏽", + "name": "index pointing up: medium skin tone" + }, + { + "no": 1260, + "code": "261D 1F3FE", + "char": "☝🏾", + "name": "index pointing up: medium-dark skin tone" + }, + { + "no": 1261, + "code": "261D 1F3FF", + "char": "☝🏿", + "name": "index pointing up: dark skin tone" + }, + { + "no": 1262, + "code": "1F446", + "char": "👆", + "name": "backhand index pointing up" + }, + { + "no": 1263, + "code": "1F446 1F3FB", + "char": "👆🏻", + "name": "backhand index pointing up: light skin tone" + }, + { + "no": 1264, + "code": "1F446 1F3FC", + "char": "👆🏼", + "name": "backhand index pointing up: medium-light skin tone" + }, + { + "no": 1265, + "code": "1F446 1F3FD", + "char": "👆🏽", + "name": "backhand index pointing up: medium skin tone" + }, + { + "no": 1266, + "code": "1F446 1F3FE", + "char": "👆🏾", + "name": "backhand index pointing up: medium-dark skin tone" + }, + { + "no": 1267, + "code": "1F446 1F3FF", + "char": "👆🏿", + "name": "backhand index pointing up: dark skin tone" + }, + { + "no": 1268, + "code": "1F595", + "char": "🖕", + "name": "middle finger" + }, + { + "no": 1269, + "code": "1F595 1F3FB", + "char": "🖕🏻", + "name": "middle finger: light skin tone" + }, + { + "no": 1270, + "code": "1F595 1F3FC", + "char": "🖕🏼", + "name": "middle finger: medium-light skin tone" + }, + { + "no": 1271, + "code": "1F595 1F3FD", + "char": "🖕🏽", + "name": "middle finger: medium skin tone" + }, + { + "no": 1272, + "code": "1F595 1F3FE", + "char": "🖕🏾", + "name": "middle finger: medium-dark skin tone" + }, + { + "no": 1273, + "code": "1F595 1F3FF", + "char": "🖕🏿", + "name": "middle finger: dark skin tone" + }, + { + "no": 1274, + "code": "1F447", + "char": "👇", + "name": "backhand index pointing down" + }, + { + "no": 1275, + "code": "1F447 1F3FB", + "char": "👇🏻", + "name": "backhand index pointing down: light skin tone" + }, + { + "no": 1276, + "code": "1F447 1F3FC", + "char": "👇🏼", + "name": "backhand index pointing down: medium-light skin tone" + }, + { + "no": 1277, + "code": "1F447 1F3FD", + "char": "👇🏽", + "name": "backhand index pointing down: medium skin tone" + }, + { + "no": 1278, + "code": "1F447 1F3FE", + "char": "👇🏾", + "name": "backhand index pointing down: medium-dark skin tone" + }, + { + "no": 1279, + "code": "1F447 1F3FF", + "char": "👇🏿", + "name": "backhand index pointing down: dark skin tone" + }, + { + "no": 1280, + "code": "270C", + "char": "✌", + "name": "victory hand" + }, + { + "no": 1281, + "code": "270C 1F3FB", + "char": "✌🏻", + "name": "victory hand: light skin tone" + }, + { + "no": 1282, + "code": "270C 1F3FC", + "char": "✌🏼", + "name": "victory hand: medium-light skin tone" + }, + { + "no": 1283, + "code": "270C 1F3FD", + "char": "✌🏽", + "name": "victory hand: medium skin tone" + }, + { + "no": 1284, + "code": "270C 1F3FE", + "char": "✌🏾", + "name": "victory hand: medium-dark skin tone" + }, + { + "no": 1285, + "code": "270C 1F3FF", + "char": "✌🏿", + "name": "victory hand: dark skin tone" + }, + { + "no": 1286, + "code": "1F91E", + "char": "🤞", + "name": "crossed fingers" + }, + { + "no": 1287, + "code": "1F91E 1F3FB", + "char": "🤞🏻", + "name": "crossed fingers: light skin tone" + }, + { + "no": 1288, + "code": "1F91E 1F3FC", + "char": "🤞🏼", + "name": "crossed fingers: medium-light skin tone" + }, + { + "no": 1289, + "code": "1F91E 1F3FD", + "char": "🤞🏽", + "name": "crossed fingers: medium skin tone" + }, + { + "no": 1290, + "code": "1F91E 1F3FE", + "char": "🤞🏾", + "name": "crossed fingers: medium-dark skin tone" + }, + { + "no": 1291, + "code": "1F91E 1F3FF", + "char": "🤞🏿", + "name": "crossed fingers: dark skin tone" + }, + { + "no": 1292, + "code": "1F596", + "char": "🖖", + "name": "vulcan salute" + }, + { + "no": 1293, + "code": "1F596 1F3FB", + "char": "🖖🏻", + "name": "vulcan salute: light skin tone" + }, + { + "no": 1294, + "code": "1F596 1F3FC", + "char": "🖖🏼", + "name": "vulcan salute: medium-light skin tone" + }, + { + "no": 1295, + "code": "1F596 1F3FD", + "char": "🖖🏽", + "name": "vulcan salute: medium skin tone" + }, + { + "no": 1296, + "code": "1F596 1F3FE", + "char": "🖖🏾", + "name": "vulcan salute: medium-dark skin tone" + }, + { + "no": 1297, + "code": "1F596 1F3FF", + "char": "🖖🏿", + "name": "vulcan salute: dark skin tone" + }, + { + "no": 1298, + "code": "1F918", + "char": "🤘", + "name": "sign of the horns" + }, + { + "no": 1299, + "code": "1F918 1F3FB", + "char": "🤘🏻", + "name": "sign of the horns: light skin tone" + }, + { + "no": 1300, + "code": "1F918 1F3FC", + "char": "🤘🏼", + "name": "sign of the horns: medium-light skin tone" + }, + { + "no": 1301, + "code": "1F918 1F3FD", + "char": "🤘🏽", + "name": "sign of the horns: medium skin tone" + }, + { + "no": 1302, + "code": "1F918 1F3FE", + "char": "🤘🏾", + "name": "sign of the horns: medium-dark skin tone" + }, + { + "no": 1303, + "code": "1F918 1F3FF", + "char": "🤘🏿", + "name": "sign of the horns: dark skin tone" + }, + { + "no": 1304, + "code": "1F919", + "char": "🤙", + "name": "call me hand" + }, + { + "no": 1305, + "code": "1F919 1F3FB", + "char": "🤙🏻", + "name": "call me hand: light skin tone" + }, + { + "no": 1306, + "code": "1F919 1F3FC", + "char": "🤙🏼", + "name": "call me hand: medium-light skin tone" + }, + { + "no": 1307, + "code": "1F919 1F3FD", + "char": "🤙🏽", + "name": "call me hand: medium skin tone" + }, + { + "no": 1308, + "code": "1F919 1F3FE", + "char": "🤙🏾", + "name": "call me hand: medium-dark skin tone" + }, + { + "no": 1309, + "code": "1F919 1F3FF", + "char": "🤙🏿", + "name": "call me hand: dark skin tone" + }, + { + "no": 1310, + "code": "1F590", + "char": "🖐", + "name": "hand with fingers splayed" + }, + { + "no": 1311, + "code": "1F590 1F3FB", + "char": "🖐🏻", + "name": "hand with fingers splayed: light skin tone" + }, + { + "no": 1312, + "code": "1F590 1F3FC", + "char": "🖐🏼", + "name": "hand with fingers splayed: medium-light skin tone" + }, + { + "no": 1313, + "code": "1F590 1F3FD", + "char": "🖐🏽", + "name": "hand with fingers splayed: medium skin tone" + }, + { + "no": 1314, + "code": "1F590 1F3FE", + "char": "🖐🏾", + "name": "hand with fingers splayed: medium-dark skin tone" + }, + { + "no": 1315, + "code": "1F590 1F3FF", + "char": "🖐🏿", + "name": "hand with fingers splayed: dark skin tone" + }, + { + "no": 1316, + "code": "270B", + "char": "✋", + "name": "raised hand" + }, + { + "no": 1317, + "code": "270B 1F3FB", + "char": "✋🏻", + "name": "raised hand: light skin tone" + }, + { + "no": 1318, + "code": "270B 1F3FC", + "char": "✋🏼", + "name": "raised hand: medium-light skin tone" + }, + { + "no": 1319, + "code": "270B 1F3FD", + "char": "✋🏽", + "name": "raised hand: medium skin tone" + }, + { + "no": 1320, + "code": "270B 1F3FE", + "char": "✋🏾", + "name": "raised hand: medium-dark skin tone" + }, + { + "no": 1321, + "code": "270B 1F3FF", + "char": "✋🏿", + "name": "raised hand: dark skin tone" + }, + { + "no": 1322, + "code": "1F44C", + "char": "👌", + "name": "OK hand" + }, + { + "no": 1323, + "code": "1F44C 1F3FB", + "char": "👌🏻", + "name": "OK hand: light skin tone" + }, + { + "no": 1324, + "code": "1F44C 1F3FC", + "char": "👌🏼", + "name": "OK hand: medium-light skin tone" + }, + { + "no": 1325, + "code": "1F44C 1F3FD", + "char": "👌🏽", + "name": "OK hand: medium skin tone" + }, + { + "no": 1326, + "code": "1F44C 1F3FE", + "char": "👌🏾", + "name": "OK hand: medium-dark skin tone" + }, + { + "no": 1327, + "code": "1F44C 1F3FF", + "char": "👌🏿", + "name": "OK hand: dark skin tone" + }, + { + "no": 1328, + "code": "1F44D", + "char": "👍", + "name": "thumbs up" + }, + { + "no": 1329, + "code": "1F44D 1F3FB", + "char": "👍🏻", + "name": "thumbs up: light skin tone" + }, + { + "no": 1330, + "code": "1F44D 1F3FC", + "char": "👍🏼", + "name": "thumbs up: medium-light skin tone" + }, + { + "no": 1331, + "code": "1F44D 1F3FD", + "char": "👍🏽", + "name": "thumbs up: medium skin tone" + }, + { + "no": 1332, + "code": "1F44D 1F3FE", + "char": "👍🏾", + "name": "thumbs up: medium-dark skin tone" + }, + { + "no": 1333, + "code": "1F44D 1F3FF", + "char": "👍🏿", + "name": "thumbs up: dark skin tone" + }, + { + "no": 1334, + "code": "1F44E", + "char": "👎", + "name": "thumbs down" + }, + { + "no": 1335, + "code": "1F44E 1F3FB", + "char": "👎🏻", + "name": "thumbs down: light skin tone" + }, + { + "no": 1336, + "code": "1F44E 1F3FC", + "char": "👎🏼", + "name": "thumbs down: medium-light skin tone" + }, + { + "no": 1337, + "code": "1F44E 1F3FD", + "char": "👎🏽", + "name": "thumbs down: medium skin tone" + }, + { + "no": 1338, + "code": "1F44E 1F3FE", + "char": "👎🏾", + "name": "thumbs down: medium-dark skin tone" + }, + { + "no": 1339, + "code": "1F44E 1F3FF", + "char": "👎🏿", + "name": "thumbs down: dark skin tone" + }, + { + "no": 1340, + "code": "270A", + "char": "✊", + "name": "raised fist" + }, + { + "no": 1341, + "code": "270A 1F3FB", + "char": "✊🏻", + "name": "raised fist: light skin tone" + }, + { + "no": 1342, + "code": "270A 1F3FC", + "char": "✊🏼", + "name": "raised fist: medium-light skin tone" + }, + { + "no": 1343, + "code": "270A 1F3FD", + "char": "✊🏽", + "name": "raised fist: medium skin tone" + }, + { + "no": 1344, + "code": "270A 1F3FE", + "char": "✊🏾", + "name": "raised fist: medium-dark skin tone" + }, + { + "no": 1345, + "code": "270A 1F3FF", + "char": "✊🏿", + "name": "raised fist: dark skin tone" + }, + { + "no": 1346, + "code": "1F44A", + "char": "👊", + "name": "oncoming fist" + }, + { + "no": 1347, + "code": "1F44A 1F3FB", + "char": "👊🏻", + "name": "oncoming fist: light skin tone" + }, + { + "no": 1348, + "code": "1F44A 1F3FC", + "char": "👊🏼", + "name": "oncoming fist: medium-light skin tone" + }, + { + "no": 1349, + "code": "1F44A 1F3FD", + "char": "👊🏽", + "name": "oncoming fist: medium skin tone" + }, + { + "no": 1350, + "code": "1F44A 1F3FE", + "char": "👊🏾", + "name": "oncoming fist: medium-dark skin tone" + }, + { + "no": 1351, + "code": "1F44A 1F3FF", + "char": "👊🏿", + "name": "oncoming fist: dark skin tone" + }, + { + "no": 1352, + "code": "1F91B", + "char": "🤛", + "name": "left-facing fist" + }, + { + "no": 1353, + "code": "1F91B 1F3FB", + "char": "🤛🏻", + "name": "left-facing fist: light skin tone" + }, + { + "no": 1354, + "code": "1F91B 1F3FC", + "char": "🤛🏼", + "name": "left-facing fist: medium-light skin tone" + }, + { + "no": 1355, + "code": "1F91B 1F3FD", + "char": "🤛🏽", + "name": "left-facing fist: medium skin tone" + }, + { + "no": 1356, + "code": "1F91B 1F3FE", + "char": "🤛🏾", + "name": "left-facing fist: medium-dark skin tone" + }, + { + "no": 1357, + "code": "1F91B 1F3FF", + "char": "🤛🏿", + "name": "left-facing fist: dark skin tone" + }, + { + "no": 1358, + "code": "1F91C", + "char": "🤜", + "name": "right-facing fist" + }, + { + "no": 1359, + "code": "1F91C 1F3FB", + "char": "🤜🏻", + "name": "right-facing fist: light skin tone" + }, + { + "no": 1360, + "code": "1F91C 1F3FC", + "char": "🤜🏼", + "name": "right-facing fist: medium-light skin tone" + }, + { + "no": 1361, + "code": "1F91C 1F3FD", + "char": "🤜🏽", + "name": "right-facing fist: medium skin tone" + }, + { + "no": 1362, + "code": "1F91C 1F3FE", + "char": "🤜🏾", + "name": "right-facing fist: medium-dark skin tone" + }, + { + "no": 1363, + "code": "1F91C 1F3FF", + "char": "🤜🏿", + "name": "right-facing fist: dark skin tone" + }, + { + "no": 1364, + "code": "1F91A", + "char": "🤚", + "name": "raised back of hand" + }, + { + "no": 1365, + "code": "1F91A 1F3FB", + "char": "🤚🏻", + "name": "raised back of hand: light skin tone" + }, + { + "no": 1366, + "code": "1F91A 1F3FC", + "char": "🤚🏼", + "name": "raised back of hand: medium-light skin tone" + }, + { + "no": 1367, + "code": "1F91A 1F3FD", + "char": "🤚🏽", + "name": "raised back of hand: medium skin tone" + }, + { + "no": 1368, + "code": "1F91A 1F3FE", + "char": "🤚🏾", + "name": "raised back of hand: medium-dark skin tone" + }, + { + "no": 1369, + "code": "1F91A 1F3FF", + "char": "🤚🏿", + "name": "raised back of hand: dark skin tone" + }, + { + "no": 1370, + "code": "1F44B", + "char": "👋", + "name": "waving hand" + }, + { + "no": 1371, + "code": "1F44B 1F3FB", + "char": "👋🏻", + "name": "waving hand: light skin tone" + }, + { + "no": 1372, + "code": "1F44B 1F3FC", + "char": "👋🏼", + "name": "waving hand: medium-light skin tone" + }, + { + "no": 1373, + "code": "1F44B 1F3FD", + "char": "👋🏽", + "name": "waving hand: medium skin tone" + }, + { + "no": 1374, + "code": "1F44B 1F3FE", + "char": "👋🏾", + "name": "waving hand: medium-dark skin tone" + }, + { + "no": 1375, + "code": "1F44B 1F3FF", + "char": "👋🏿", + "name": "waving hand: dark skin tone" + }, + { + "no": 1376, + "code": "1F91F", + "char": "🤟", + "name": "⊛ love-you gesture" + }, + { + "no": 1377, + "code": "1F91F 1F3FB", + "char": "🤟🏻", + "name": "⊛ love-you gesture: light skin tone" + }, + { + "no": 1378, + "code": "1F91F 1F3FC", + "char": "🤟🏼", + "name": "⊛ love-you gesture: medium-light skin tone" + }, + { + "no": 1379, + "code": "1F91F 1F3FD", + "char": "🤟🏽", + "name": "⊛ love-you gesture: medium skin tone" + }, + { + "no": 1380, + "code": "1F91F 1F3FE", + "char": "🤟🏾", + "name": "⊛ love-you gesture: medium-dark skin tone" + }, + { + "no": 1381, + "code": "1F91F 1F3FF", + "char": "🤟🏿", + "name": "⊛ love-you gesture: dark skin tone" + }, + { + "no": 1382, + "code": "270D", + "char": "✍", + "name": "writing hand" + }, + { + "no": 1383, + "code": "270D 1F3FB", + "char": "✍🏻", + "name": "writing hand: light skin tone" + }, + { + "no": 1384, + "code": "270D 1F3FC", + "char": "✍🏼", + "name": "writing hand: medium-light skin tone" + }, + { + "no": 1385, + "code": "270D 1F3FD", + "char": "✍🏽", + "name": "writing hand: medium skin tone" + }, + { + "no": 1386, + "code": "270D 1F3FE", + "char": "✍🏾", + "name": "writing hand: medium-dark skin tone" + }, + { + "no": 1387, + "code": "270D 1F3FF", + "char": "✍🏿", + "name": "writing hand: dark skin tone" + }, + { + "no": 1388, + "code": "1F44F", + "char": "👏", + "name": "clapping hands" + }, + { + "no": 1389, + "code": "1F44F 1F3FB", + "char": "👏🏻", + "name": "clapping hands: light skin tone" + }, + { + "no": 1390, + "code": "1F44F 1F3FC", + "char": "👏🏼", + "name": "clapping hands: medium-light skin tone" + }, + { + "no": 1391, + "code": "1F44F 1F3FD", + "char": "👏🏽", + "name": "clapping hands: medium skin tone" + }, + { + "no": 1392, + "code": "1F44F 1F3FE", + "char": "👏🏾", + "name": "clapping hands: medium-dark skin tone" + }, + { + "no": 1393, + "code": "1F44F 1F3FF", + "char": "👏🏿", + "name": "clapping hands: dark skin tone" + }, + { + "no": 1394, + "code": "1F450", + "char": "👐", + "name": "open hands" + }, + { + "no": 1395, + "code": "1F450 1F3FB", + "char": "👐🏻", + "name": "open hands: light skin tone" + }, + { + "no": 1396, + "code": "1F450 1F3FC", + "char": "👐🏼", + "name": "open hands: medium-light skin tone" + }, + { + "no": 1397, + "code": "1F450 1F3FD", + "char": "👐🏽", + "name": "open hands: medium skin tone" + }, + { + "no": 1398, + "code": "1F450 1F3FE", + "char": "👐🏾", + "name": "open hands: medium-dark skin tone" + }, + { + "no": 1399, + "code": "1F450 1F3FF", + "char": "👐🏿", + "name": "open hands: dark skin tone" + }, + { + "no": 1400, + "code": "1F64C", + "char": "🙌", + "name": "raising hands" + }, + { + "no": 1401, + "code": "1F64C 1F3FB", + "char": "🙌🏻", + "name": "raising hands: light skin tone" + }, + { + "no": 1402, + "code": "1F64C 1F3FC", + "char": "🙌🏼", + "name": "raising hands: medium-light skin tone" + }, + { + "no": 1403, + "code": "1F64C 1F3FD", + "char": "🙌🏽", + "name": "raising hands: medium skin tone" + }, + { + "no": 1404, + "code": "1F64C 1F3FE", + "char": "🙌🏾", + "name": "raising hands: medium-dark skin tone" + }, + { + "no": 1405, + "code": "1F64C 1F3FF", + "char": "🙌🏿", + "name": "raising hands: dark skin tone" + }, + { + "no": 1406, + "code": "1F932", + "char": "🤲", + "name": "⊛ palms up together" + }, + { + "no": 1407, + "code": "1F932 1F3FB", + "char": "🤲🏻", + "name": "⊛ palms up together: light skin tone" + }, + { + "no": 1408, + "code": "1F932 1F3FC", + "char": "🤲🏼", + "name": "⊛ palms up together: medium-light skin tone" + }, + { + "no": 1409, + "code": "1F932 1F3FD", + "char": "🤲🏽", + "name": "⊛ palms up together: medium skin tone" + }, + { + "no": 1410, + "code": "1F932 1F3FE", + "char": "🤲🏾", + "name": "⊛ palms up together: medium-dark skin tone" + }, + { + "no": 1411, + "code": "1F932 1F3FF", + "char": "🤲🏿", + "name": "⊛ palms up together: dark skin tone" + }, + { + "no": 1412, + "code": "1F64F", + "char": "🙏", + "name": "folded hands" + }, + { + "no": 1413, + "code": "1F64F 1F3FB", + "char": "🙏🏻", + "name": "folded hands: light skin tone" + }, + { + "no": 1414, + "code": "1F64F 1F3FC", + "char": "🙏🏼", + "name": "folded hands: medium-light skin tone" + }, + { + "no": 1415, + "code": "1F64F 1F3FD", + "char": "🙏🏽", + "name": "folded hands: medium skin tone" + }, + { + "no": 1416, + "code": "1F64F 1F3FE", + "char": "🙏🏾", + "name": "folded hands: medium-dark skin tone" + }, + { + "no": 1417, + "code": "1F64F 1F3FF", + "char": "🙏🏿", + "name": "folded hands: dark skin tone" + }, + { + "no": 1418, + "code": "1F91D", + "char": "🤝", + "name": "handshake" + }, + { + "no": 1419, + "code": "1F485", + "char": "💅", + "name": "nail polish" + }, + { + "no": 1420, + "code": "1F485 1F3FB", + "char": "💅🏻", + "name": "nail polish: light skin tone" + }, + { + "no": 1421, + "code": "1F485 1F3FC", + "char": "💅🏼", + "name": "nail polish: medium-light skin tone" + }, + { + "no": 1422, + "code": "1F485 1F3FD", + "char": "💅🏽", + "name": "nail polish: medium skin tone" + }, + { + "no": 1423, + "code": "1F485 1F3FE", + "char": "💅🏾", + "name": "nail polish: medium-dark skin tone" + }, + { + "no": 1424, + "code": "1F485 1F3FF", + "char": "💅🏿", + "name": "nail polish: dark skin tone" + }, + { + "no": 1425, + "code": "1F442", + "char": "👂", + "name": "ear" + }, + { + "no": 1426, + "code": "1F442 1F3FB", + "char": "👂🏻", + "name": "ear: light skin tone" + }, + { + "no": 1427, + "code": "1F442 1F3FC", + "char": "👂🏼", + "name": "ear: medium-light skin tone" + }, + { + "no": 1428, + "code": "1F442 1F3FD", + "char": "👂🏽", + "name": "ear: medium skin tone" + }, + { + "no": 1429, + "code": "1F442 1F3FE", + "char": "👂🏾", + "name": "ear: medium-dark skin tone" + }, + { + "no": 1430, + "code": "1F442 1F3FF", + "char": "👂🏿", + "name": "ear: dark skin tone" + }, + { + "no": 1431, + "code": "1F443", + "char": "👃", + "name": "nose" + }, + { + "no": 1432, + "code": "1F443 1F3FB", + "char": "👃🏻", + "name": "nose: light skin tone" + }, + { + "no": 1433, + "code": "1F443 1F3FC", + "char": "👃🏼", + "name": "nose: medium-light skin tone" + }, + { + "no": 1434, + "code": "1F443 1F3FD", + "char": "👃🏽", + "name": "nose: medium skin tone" + }, + { + "no": 1435, + "code": "1F443 1F3FE", + "char": "👃🏾", + "name": "nose: medium-dark skin tone" + }, + { + "no": 1436, + "code": "1F443 1F3FF", + "char": "👃🏿", + "name": "nose: dark skin tone" + }, + { + "no": 1437, + "code": "1F463", + "char": "👣", + "name": "footprints" + }, + { + "no": 1438, + "code": "1F440", + "char": "👀", + "name": "eyes" + }, + { + "no": 1439, + "code": "1F441", + "char": "👁", + "name": "eye" + }, + { + "no": 1440, + "code": "1F441 FE0F 200D 1F5E8 FE0F", + "char": "👁️‍🗨️", + "name": "eye in speech bubble" + }, + { + "no": 1441, + "code": "1F9E0", + "char": "🧠", + "name": "⊛ brain" + }, + { + "no": 1442, + "code": "1F445", + "char": "👅", + "name": "tongue" + }, + { + "no": 1443, + "code": "1F444", + "char": "👄", + "name": "mouth" + }, + { + "no": 1444, + "code": "1F48B", + "char": "💋", + "name": "kiss mark" + }, + { + "no": 1445, + "code": "1F498", + "char": "💘", + "name": "heart with arrow" + }, + { + "no": 1446, + "code": "2764", + "char": "❤", + "name": "red heart" + }, + { + "no": 1447, + "code": "1F493", + "char": "💓", + "name": "beating heart" + }, + { + "no": 1448, + "code": "1F494", + "char": "💔", + "name": "broken heart" + }, + { + "no": 1449, + "code": "1F495", + "char": "💕", + "name": "two hearts" + }, + { + "no": 1450, + "code": "1F496", + "char": "💖", + "name": "sparkling heart" + }, + { + "no": 1451, + "code": "1F497", + "char": "💗", + "name": "growing heart" + }, + { + "no": 1452, + "code": "1F499", + "char": "💙", + "name": "blue heart" + }, + { + "no": 1453, + "code": "1F49A", + "char": "💚", + "name": "green heart" + }, + { + "no": 1454, + "code": "1F49B", + "char": "💛", + "name": "yellow heart" + }, + { + "no": 1455, + "code": "1F9E1", + "char": "🧡", + "name": "⊛ orange heart" + }, + { + "no": 1456, + "code": "1F49C", + "char": "💜", + "name": "purple heart" + }, + { + "no": 1457, + "code": "1F5A4", + "char": "🖤", + "name": "black heart" + }, + { + "no": 1458, + "code": "1F49D", + "char": "💝", + "name": "heart with ribbon" + }, + { + "no": 1459, + "code": "1F49E", + "char": "💞", + "name": "revolving hearts" + }, + { + "no": 1460, + "code": "1F49F", + "char": "💟", + "name": "heart decoration" + }, + { + "no": 1461, + "code": "2763", + "char": "❣", + "name": "heavy heart exclamation" + }, + { + "no": 1462, + "code": "1F48C", + "char": "💌", + "name": "love letter" + }, + { + "no": 1463, + "code": "1F4A4", + "char": "💤", + "name": "zzz" + }, + { + "no": 1464, + "code": "1F4A2", + "char": "💢", + "name": "anger symbol" + }, + { + "no": 1465, + "code": "1F4A3", + "char": "💣", + "name": "bomb" + }, + { + "no": 1466, + "code": "1F4A5", + "char": "💥", + "name": "collision" + }, + { + "no": 1467, + "code": "1F4A6", + "char": "💦", + "name": "sweat droplets" + }, + { + "no": 1468, + "code": "1F4A8", + "char": "💨", + "name": "dashing away" + }, + { + "no": 1469, + "code": "1F4AB", + "char": "💫", + "name": "dizzy" + }, + { + "no": 1470, + "code": "1F4AC", + "char": "💬", + "name": "speech balloon" + }, + { + "no": 1471, + "code": "1F5E8", + "char": "🗨", + "name": "left speech bubble" + }, + { + "no": 1472, + "code": "1F5EF", + "char": "🗯", + "name": "right anger bubble" + }, + { + "no": 1473, + "code": "1F4AD", + "char": "💭", + "name": "thought balloon" + }, + { + "no": 1474, + "code": "1F573", + "char": "🕳", + "name": "hole" + }, + { + "no": 1475, + "code": "1F453", + "char": "👓", + "name": "glasses" + }, + { + "no": 1476, + "code": "1F576", + "char": "🕶", + "name": "sunglasses" + }, + { + "no": 1477, + "code": "1F454", + "char": "👔", + "name": "necktie" + }, + { + "no": 1478, + "code": "1F455", + "char": "👕", + "name": "t-shirt" + }, + { + "no": 1479, + "code": "1F456", + "char": "👖", + "name": "jeans" + }, + { + "no": 1480, + "code": "1F9E3", + "char": "🧣", + "name": "⊛ scarf" + }, + { + "no": 1481, + "code": "1F9E4", + "char": "🧤", + "name": "⊛ gloves" + }, + { + "no": 1482, + "code": "1F9E5", + "char": "🧥", + "name": "⊛ coat" + }, + { + "no": 1483, + "code": "1F9E6", + "char": "🧦", + "name": "⊛ socks" + }, + { + "no": 1484, + "code": "1F457", + "char": "👗", + "name": "dress" + }, + { + "no": 1485, + "code": "1F458", + "char": "👘", + "name": "kimono" + }, + { + "no": 1486, + "code": "1F459", + "char": "👙", + "name": "bikini" + }, + { + "no": 1487, + "code": "1F45A", + "char": "👚", + "name": "woman’s clothes" + }, + { + "no": 1488, + "code": "1F45B", + "char": "👛", + "name": "purse" + }, + { + "no": 1489, + "code": "1F45C", + "char": "👜", + "name": "handbag" + }, + { + "no": 1490, + "code": "1F45D", + "char": "👝", + "name": "clutch bag" + }, + { + "no": 1491, + "code": "1F6CD", + "char": "🛍", + "name": "shopping bags" + }, + { + "no": 1492, + "code": "1F392", + "char": "🎒", + "name": "school backpack" + }, + { + "no": 1493, + "code": "1F45E", + "char": "👞", + "name": "man’s shoe" + }, + { + "no": 1494, + "code": "1F45F", + "char": "👟", + "name": "running shoe" + }, + { + "no": 1495, + "code": "1F460", + "char": "👠", + "name": "high-heeled shoe" + }, + { + "no": 1496, + "code": "1F461", + "char": "👡", + "name": "woman’s sandal" + }, + { + "no": 1497, + "code": "1F462", + "char": "👢", + "name": "woman’s boot" + }, + { + "no": 1498, + "code": "1F451", + "char": "👑", + "name": "crown" + }, + { + "no": 1499, + "code": "1F452", + "char": "👒", + "name": "woman’s hat" + }, + { + "no": 1500, + "code": "1F3A9", + "char": "🎩", + "name": "top hat" + }, + { + "no": 1501, + "code": "1F393", + "char": "🎓", + "name": "graduation cap" + }, + { + "no": 1502, + "code": "1F9E2", + "char": "🧢", + "name": "⊛ billed cap" + }, + { + "no": 1503, + "code": "26D1", + "char": "⛑", + "name": "rescue worker’s helmet" + }, + { + "no": 1504, + "code": "1F4FF", + "char": "📿", + "name": "prayer beads" + }, + { + "no": 1505, + "code": "1F484", + "char": "💄", + "name": "lipstick" + }, + { + "no": 1506, + "code": "1F48D", + "char": "💍", + "name": "ring" + }, + { + "no": 1507, + "code": "1F48E", + "char": "💎", + "name": "gem stone" + }, + { + "no": 1508, + "code": "1F435", + "char": "🐵", + "name": "monkey face" + }, + { + "no": 1509, + "code": "1F412", + "char": "🐒", + "name": "monkey" + }, + { + "no": 1510, + "code": "1F98D", + "char": "🦍", + "name": "gorilla" + }, + { + "no": 1511, + "code": "1F436", + "char": "🐶", + "name": "dog face" + }, + { + "no": 1512, + "code": "1F415", + "char": "🐕", + "name": "dog" + }, + { + "no": 1513, + "code": "1F429", + "char": "🐩", + "name": "poodle" + }, + { + "no": 1514, + "code": "1F43A", + "char": "🐺", + "name": "wolf face" + }, + { + "no": 1515, + "code": "1F98A", + "char": "🦊", + "name": "fox face" + }, + { + "no": 1516, + "code": "1F431", + "char": "🐱", + "name": "cat face" + }, + { + "no": 1517, + "code": "1F408", + "char": "🐈", + "name": "cat" + }, + { + "no": 1518, + "code": "1F981", + "char": "🦁", + "name": "lion face" + }, + { + "no": 1519, + "code": "1F42F", + "char": "🐯", + "name": "tiger face" + }, + { + "no": 1520, + "code": "1F405", + "char": "🐅", + "name": "tiger" + }, + { + "no": 1521, + "code": "1F406", + "char": "🐆", + "name": "leopard" + }, + { + "no": 1522, + "code": "1F434", + "char": "🐴", + "name": "horse face" + }, + { + "no": 1523, + "code": "1F40E", + "char": "🐎", + "name": "horse" + }, + { + "no": 1524, + "code": "1F984", + "char": "🦄", + "name": "unicorn face" + }, + { + "no": 1525, + "code": "1F993", + "char": "🦓", + "name": "⊛ zebra" + }, + { + "no": 1526, + "code": "1F98C", + "char": "🦌", + "name": "deer" + }, + { + "no": 1527, + "code": "1F42E", + "char": "🐮", + "name": "cow face" + }, + { + "no": 1528, + "code": "1F402", + "char": "🐂", + "name": "ox" + }, + { + "no": 1529, + "code": "1F403", + "char": "🐃", + "name": "water buffalo" + }, + { + "no": 1530, + "code": "1F404", + "char": "🐄", + "name": "cow" + }, + { + "no": 1531, + "code": "1F437", + "char": "🐷", + "name": "pig face" + }, + { + "no": 1532, + "code": "1F416", + "char": "🐖", + "name": "pig" + }, + { + "no": 1533, + "code": "1F417", + "char": "🐗", + "name": "boar" + }, + { + "no": 1534, + "code": "1F43D", + "char": "🐽", + "name": "pig nose" + }, + { + "no": 1535, + "code": "1F40F", + "char": "🐏", + "name": "ram" + }, + { + "no": 1536, + "code": "1F411", + "char": "🐑", + "name": "ewe" + }, + { + "no": 1537, + "code": "1F410", + "char": "🐐", + "name": "goat" + }, + { + "no": 1538, + "code": "1F42A", + "char": "🐪", + "name": "camel" + }, + { + "no": 1539, + "code": "1F42B", + "char": "🐫", + "name": "two-hump camel" + }, + { + "no": 1540, + "code": "1F992", + "char": "🦒", + "name": "⊛ giraffe" + }, + { + "no": 1541, + "code": "1F418", + "char": "🐘", + "name": "elephant" + }, + { + "no": 1542, + "code": "1F98F", + "char": "🦏", + "name": "rhinoceros" + }, + { + "no": 1543, + "code": "1F42D", + "char": "🐭", + "name": "mouse face" + }, + { + "no": 1544, + "code": "1F401", + "char": "🐁", + "name": "mouse" + }, + { + "no": 1545, + "code": "1F400", + "char": "🐀", + "name": "rat" + }, + { + "no": 1546, + "code": "1F439", + "char": "🐹", + "name": "hamster face" + }, + { + "no": 1547, + "code": "1F430", + "char": "🐰", + "name": "rabbit face" + }, + { + "no": 1548, + "code": "1F407", + "char": "🐇", + "name": "rabbit" + }, + { + "no": 1549, + "code": "1F43F", + "char": "🐿", + "name": "chipmunk" + }, + { + "no": 1550, + "code": "1F994", + "char": "🦔", + "name": "⊛ hedgehog" + }, + { + "no": 1551, + "code": "1F987", + "char": "🦇", + "name": "bat" + }, + { + "no": 1552, + "code": "1F43B", + "char": "🐻", + "name": "bear face" + }, + { + "no": 1553, + "code": "1F428", + "char": "🐨", + "name": "koala" + }, + { + "no": 1554, + "code": "1F43C", + "char": "🐼", + "name": "panda face" + }, + { + "no": 1555, + "code": "1F43E", + "char": "🐾", + "name": "paw prints" + }, + { + "no": 1556, + "code": "1F983", + "char": "🦃", + "name": "turkey" + }, + { + "no": 1557, + "code": "1F414", + "char": "🐔", + "name": "chicken" + }, + { + "no": 1558, + "code": "1F413", + "char": "🐓", + "name": "rooster" + }, + { + "no": 1559, + "code": "1F423", + "char": "🐣", + "name": "hatching chick" + }, + { + "no": 1560, + "code": "1F424", + "char": "🐤", + "name": "baby chick" + }, + { + "no": 1561, + "code": "1F425", + "char": "🐥", + "name": "front-facing baby chick" + }, + { + "no": 1562, + "code": "1F426", + "char": "🐦", + "name": "bird" + }, + { + "no": 1563, + "code": "1F427", + "char": "🐧", + "name": "penguin" + }, + { + "no": 1564, + "code": "1F54A", + "char": "🕊", + "name": "dove" + }, + { + "no": 1565, + "code": "1F985", + "char": "🦅", + "name": "eagle" + }, + { + "no": 1566, + "code": "1F986", + "char": "🦆", + "name": "duck" + }, + { + "no": 1567, + "code": "1F989", + "char": "🦉", + "name": "owl" + }, + { + "no": 1568, + "code": "1F438", + "char": "🐸", + "name": "frog face" + }, + { + "no": 1569, + "code": "1F40A", + "char": "🐊", + "name": "crocodile" + }, + { + "no": 1570, + "code": "1F422", + "char": "🐢", + "name": "turtle" + }, + { + "no": 1571, + "code": "1F98E", + "char": "🦎", + "name": "lizard" + }, + { + "no": 1572, + "code": "1F40D", + "char": "🐍", + "name": "snake" + }, + { + "no": 1573, + "code": "1F432", + "char": "🐲", + "name": "dragon face" + }, + { + "no": 1574, + "code": "1F409", + "char": "🐉", + "name": "dragon" + }, + { + "no": 1575, + "code": "1F995", + "char": "🦕", + "name": "⊛ sauropod" + }, + { + "no": 1576, + "code": "1F996", + "char": "🦖", + "name": "⊛ T-Rex" + }, + { + "no": 1577, + "code": "1F433", + "char": "🐳", + "name": "spouting whale" + }, + { + "no": 1578, + "code": "1F40B", + "char": "🐋", + "name": "whale" + }, + { + "no": 1579, + "code": "1F42C", + "char": "🐬", + "name": "dolphin" + }, + { + "no": 1580, + "code": "1F41F", + "char": "🐟", + "name": "fish" + }, + { + "no": 1581, + "code": "1F420", + "char": "🐠", + "name": "tropical fish" + }, + { + "no": 1582, + "code": "1F421", + "char": "🐡", + "name": "blowfish" + }, + { + "no": 1583, + "code": "1F988", + "char": "🦈", + "name": "shark" + }, + { + "no": 1584, + "code": "1F419", + "char": "🐙", + "name": "octopus" + }, + { + "no": 1585, + "code": "1F41A", + "char": "🐚", + "name": "spiral shell" + }, + { + "no": 1586, + "code": "1F980", + "char": "🦀", + "name": "crab" + }, + { + "no": 1587, + "code": "1F990", + "char": "🦐", + "name": "shrimp" + }, + { + "no": 1588, + "code": "1F991", + "char": "🦑", + "name": "squid" + }, + { + "no": 1589, + "code": "1F40C", + "char": "🐌", + "name": "snail" + }, + { + "no": 1590, + "code": "1F98B", + "char": "🦋", + "name": "butterfly" + }, + { + "no": 1591, + "code": "1F41B", + "char": "🐛", + "name": "bug" + }, + { + "no": 1592, + "code": "1F41C", + "char": "🐜", + "name": "ant" + }, + { + "no": 1593, + "code": "1F41D", + "char": "🐝", + "name": "honeybee" + }, + { + "no": 1594, + "code": "1F41E", + "char": "🐞", + "name": "lady beetle" + }, + { + "no": 1595, + "code": "1F997", + "char": "🦗", + "name": "⊛ cricket" + }, + { + "no": 1596, + "code": "1F577", + "char": "🕷", + "name": "spider" + }, + { + "no": 1597, + "code": "1F578", + "char": "🕸", + "name": "spider web" + }, + { + "no": 1598, + "code": "1F982", + "char": "🦂", + "name": "scorpion" + }, + { + "no": 1599, + "code": "1F490", + "char": "💐", + "name": "bouquet" + }, + { + "no": 1600, + "code": "1F338", + "char": "🌸", + "name": "cherry blossom" + }, + { + "no": 1601, + "code": "1F4AE", + "char": "💮", + "name": "white flower" + }, + { + "no": 1602, + "code": "1F3F5", + "char": "🏵", + "name": "rosette" + }, + { + "no": 1603, + "code": "1F339", + "char": "🌹", + "name": "rose" + }, + { + "no": 1604, + "code": "1F940", + "char": "🥀", + "name": "wilted flower" + }, + { + "no": 1605, + "code": "1F33A", + "char": "🌺", + "name": "hibiscus" + }, + { + "no": 1606, + "code": "1F33B", + "char": "🌻", + "name": "sunflower" + }, + { + "no": 1607, + "code": "1F33C", + "char": "🌼", + "name": "blossom" + }, + { + "no": 1608, + "code": "1F337", + "char": "🌷", + "name": "tulip" + }, + { + "no": 1609, + "code": "1F331", + "char": "🌱", + "name": "seedling" + }, + { + "no": 1610, + "code": "1F332", + "char": "🌲", + "name": "evergreen tree" + }, + { + "no": 1611, + "code": "1F333", + "char": "🌳", + "name": "deciduous tree" + }, + { + "no": 1612, + "code": "1F334", + "char": "🌴", + "name": "palm tree" + }, + { + "no": 1613, + "code": "1F335", + "char": "🌵", + "name": "cactus" + }, + { + "no": 1614, + "code": "1F33E", + "char": "🌾", + "name": "sheaf of rice" + }, + { + "no": 1615, + "code": "1F33F", + "char": "🌿", + "name": "herb" + }, + { + "no": 1616, + "code": "2618", + "char": "☘", + "name": "shamrock" + }, + { + "no": 1617, + "code": "1F340", + "char": "🍀", + "name": "four leaf clover" + }, + { + "no": 1618, + "code": "1F341", + "char": "🍁", + "name": "maple leaf" + }, + { + "no": 1619, + "code": "1F342", + "char": "🍂", + "name": "fallen leaf" + }, + { + "no": 1620, + "code": "1F343", + "char": "🍃", + "name": "leaf fluttering in wind" + }, + { + "no": 1621, + "code": "1F347", + "char": "🍇", + "name": "grapes" + }, + { + "no": 1622, + "code": "1F348", + "char": "🍈", + "name": "melon" + }, + { + "no": 1623, + "code": "1F349", + "char": "🍉", + "name": "watermelon" + }, + { + "no": 1624, + "code": "1F34A", + "char": "🍊", + "name": "tangerine" + }, + { + "no": 1625, + "code": "1F34B", + "char": "🍋", + "name": "lemon" + }, + { + "no": 1626, + "code": "1F34C", + "char": "🍌", + "name": "banana" + }, + { + "no": 1627, + "code": "1F34D", + "char": "🍍", + "name": "pineapple" + }, + { + "no": 1628, + "code": "1F34E", + "char": "🍎", + "name": "red apple" + }, + { + "no": 1629, + "code": "1F34F", + "char": "🍏", + "name": "green apple" + }, + { + "no": 1630, + "code": "1F350", + "char": "🍐", + "name": "pear" + }, + { + "no": 1631, + "code": "1F351", + "char": "🍑", + "name": "peach" + }, + { + "no": 1632, + "code": "1F352", + "char": "🍒", + "name": "cherries" + }, + { + "no": 1633, + "code": "1F353", + "char": "🍓", + "name": "strawberry" + }, + { + "no": 1634, + "code": "1F95D", + "char": "🥝", + "name": "kiwi fruit" + }, + { + "no": 1635, + "code": "1F345", + "char": "🍅", + "name": "tomato" + }, + { + "no": 1636, + "code": "1F965", + "char": "🥥", + "name": "⊛ coconut" + }, + { + "no": 1637, + "code": "1F951", + "char": "🥑", + "name": "avocado" + }, + { + "no": 1638, + "code": "1F346", + "char": "🍆", + "name": "eggplant" + }, + { + "no": 1639, + "code": "1F954", + "char": "🥔", + "name": "potato" + }, + { + "no": 1640, + "code": "1F955", + "char": "🥕", + "name": "carrot" + }, + { + "no": 1641, + "code": "1F33D", + "char": "🌽", + "name": "ear of corn" + }, + { + "no": 1642, + "code": "1F336", + "char": "🌶", + "name": "hot pepper" + }, + { + "no": 1643, + "code": "1F952", + "char": "🥒", + "name": "cucumber" + }, + { + "no": 1644, + "code": "1F966", + "char": "🥦", + "name": "⊛ broccoli" + }, + { + "no": 1645, + "code": "1F344", + "char": "🍄", + "name": "mushroom" + }, + { + "no": 1646, + "code": "1F95C", + "char": "🥜", + "name": "peanuts" + }, + { + "no": 1647, + "code": "1F330", + "char": "🌰", + "name": "chestnut" + }, + { + "no": 1648, + "code": "1F35E", + "char": "🍞", + "name": "bread" + }, + { + "no": 1649, + "code": "1F950", + "char": "🥐", + "name": "croissant" + }, + { + "no": 1650, + "code": "1F956", + "char": "🥖", + "name": "baguette bread" + }, + { + "no": 1651, + "code": "1F968", + "char": "🥨", + "name": "⊛ pretzel" + }, + { + "no": 1652, + "code": "1F95E", + "char": "🥞", + "name": "pancakes" + }, + { + "no": 1653, + "code": "1F9C0", + "char": "🧀", + "name": "cheese wedge" + }, + { + "no": 1654, + "code": "1F356", + "char": "🍖", + "name": "meat on bone" + }, + { + "no": 1655, + "code": "1F357", + "char": "🍗", + "name": "poultry leg" + }, + { + "no": 1656, + "code": "1F969", + "char": "🥩", + "name": "⊛ cut of meat" + }, + { + "no": 1657, + "code": "1F953", + "char": "🥓", + "name": "bacon" + }, + { + "no": 1658, + "code": "1F354", + "char": "🍔", + "name": "hamburger" + }, + { + "no": 1659, + "code": "1F35F", + "char": "🍟", + "name": "french fries" + }, + { + "no": 1660, + "code": "1F355", + "char": "🍕", + "name": "pizza" + }, + { + "no": 1661, + "code": "1F32D", + "char": "🌭", + "name": "hot dog" + }, + { + "no": 1662, + "code": "1F96A", + "char": "🥪", + "name": "⊛ sandwich" + }, + { + "no": 1663, + "code": "1F32E", + "char": "🌮", + "name": "taco" + }, + { + "no": 1664, + "code": "1F32F", + "char": "🌯", + "name": "burrito" + }, + { + "no": 1665, + "code": "1F959", + "char": "🥙", + "name": "stuffed flatbread" + }, + { + "no": 1666, + "code": "1F95A", + "char": "🥚", + "name": "egg" + }, + { + "no": 1667, + "code": "1F373", + "char": "🍳", + "name": "cooking" + }, + { + "no": 1668, + "code": "1F958", + "char": "🥘", + "name": "shallow pan of food" + }, + { + "no": 1669, + "code": "1F372", + "char": "🍲", + "name": "pot of food" + }, + { + "no": 1670, + "code": "1F963", + "char": "🥣", + "name": "⊛ bowl with spoon" + }, + { + "no": 1671, + "code": "1F957", + "char": "🥗", + "name": "green salad" + }, + { + "no": 1672, + "code": "1F37F", + "char": "🍿", + "name": "popcorn" + }, + { + "no": 1673, + "code": "1F96B", + "char": "🥫", + "name": "⊛ canned food" + }, + { + "no": 1674, + "code": "1F371", + "char": "🍱", + "name": "bento box" + }, + { + "no": 1675, + "code": "1F358", + "char": "🍘", + "name": "rice cracker" + }, + { + "no": 1676, + "code": "1F359", + "char": "🍙", + "name": "rice ball" + }, + { + "no": 1677, + "code": "1F35A", + "char": "🍚", + "name": "cooked rice" + }, + { + "no": 1678, + "code": "1F35B", + "char": "🍛", + "name": "curry rice" + }, + { + "no": 1679, + "code": "1F35C", + "char": "🍜", + "name": "steaming bowl" + }, + { + "no": 1680, + "code": "1F35D", + "char": "🍝", + "name": "spaghetti" + }, + { + "no": 1681, + "code": "1F360", + "char": "🍠", + "name": "roasted sweet potato" + }, + { + "no": 1682, + "code": "1F362", + "char": "🍢", + "name": "oden" + }, + { + "no": 1683, + "code": "1F363", + "char": "🍣", + "name": "sushi" + }, + { + "no": 1684, + "code": "1F364", + "char": "🍤", + "name": "fried shrimp" + }, + { + "no": 1685, + "code": "1F365", + "char": "🍥", + "name": "fish cake with swirl" + }, + { + "no": 1686, + "code": "1F361", + "char": "🍡", + "name": "dango" + }, + { + "no": 1687, + "code": "1F95F", + "char": "🥟", + "name": "⊛ dumpling" + }, + { + "no": 1688, + "code": "1F960", + "char": "🥠", + "name": "⊛ fortune cookie" + }, + { + "no": 1689, + "code": "1F961", + "char": "🥡", + "name": "⊛ takeout box" + }, + { + "no": 1690, + "code": "1F366", + "char": "🍦", + "name": "soft ice cream" + }, + { + "no": 1691, + "code": "1F367", + "char": "🍧", + "name": "shaved ice" + }, + { + "no": 1692, + "code": "1F368", + "char": "🍨", + "name": "ice cream" + }, + { + "no": 1693, + "code": "1F369", + "char": "🍩", + "name": "doughnut" + }, + { + "no": 1694, + "code": "1F36A", + "char": "🍪", + "name": "cookie" + }, + { + "no": 1695, + "code": "1F382", + "char": "🎂", + "name": "birthday cake" + }, + { + "no": 1696, + "code": "1F370", + "char": "🍰", + "name": "shortcake" + }, + { + "no": 1697, + "code": "1F967", + "char": "🥧", + "name": "⊛ pie" + }, + { + "no": 1698, + "code": "1F36B", + "char": "🍫", + "name": "chocolate bar" + }, + { + "no": 1699, + "code": "1F36C", + "char": "🍬", + "name": "candy" + }, + { + "no": 1700, + "code": "1F36D", + "char": "🍭", + "name": "lollipop" + }, + { + "no": 1701, + "code": "1F36E", + "char": "🍮", + "name": "custard" + }, + { + "no": 1702, + "code": "1F36F", + "char": "🍯", + "name": "honey pot" + }, + { + "no": 1703, + "code": "1F37C", + "char": "🍼", + "name": "baby bottle" + }, + { + "no": 1704, + "code": "1F95B", + "char": "🥛", + "name": "glass of milk" + }, + { + "no": 1705, + "code": "2615", + "char": "☕", + "name": "hot beverage" + }, + { + "no": 1706, + "code": "1F375", + "char": "🍵", + "name": "teacup without handle" + }, + { + "no": 1707, + "code": "1F376", + "char": "🍶", + "name": "sake" + }, + { + "no": 1708, + "code": "1F37E", + "char": "🍾", + "name": "bottle with popping cork" + }, + { + "no": 1709, + "code": "1F377", + "char": "🍷", + "name": "wine glass" + }, + { + "no": 1710, + "code": "1F378", + "char": "🍸", + "name": "cocktail glass" + }, + { + "no": 1711, + "code": "1F379", + "char": "🍹", + "name": "tropical drink" + }, + { + "no": 1712, + "code": "1F37A", + "char": "🍺", + "name": "beer mug" + }, + { + "no": 1713, + "code": "1F37B", + "char": "🍻", + "name": "clinking beer mugs" + }, + { + "no": 1714, + "code": "1F942", + "char": "🥂", + "name": "clinking glasses" + }, + { + "no": 1715, + "code": "1F943", + "char": "🥃", + "name": "tumbler glass" + }, + { + "no": 1716, + "code": "1F964", + "char": "🥤", + "name": "⊛ cup with straw" + }, + { + "no": 1717, + "code": "1F962", + "char": "🥢", + "name": "⊛ chopsticks" + }, + { + "no": 1718, + "code": "1F37D", + "char": "🍽", + "name": "fork and knife with plate" + }, + { + "no": 1719, + "code": "1F374", + "char": "🍴", + "name": "fork and knife" + }, + { + "no": 1720, + "code": "1F944", + "char": "🥄", + "name": "spoon" + }, + { + "no": 1721, + "code": "1F52A", + "char": "🔪", + "name": "kitchen knife" + }, + { + "no": 1722, + "code": "1F3FA", + "char": "🏺", + "name": "amphora" + }, + { + "no": 1723, + "code": "1F30D", + "char": "🌍", + "name": "globe showing Europe-Africa" + }, + { + "no": 1724, + "code": "1F30E", + "char": "🌎", + "name": "globe showing Americas" + }, + { + "no": 1725, + "code": "1F30F", + "char": "🌏", + "name": "globe showing Asia-Australia" + }, + { + "no": 1726, + "code": "1F310", + "char": "🌐", + "name": "globe with meridians" + }, + { + "no": 1727, + "code": "1F5FA", + "char": "🗺", + "name": "world map" + }, + { + "no": 1728, + "code": "1F5FE", + "char": "🗾", + "name": "map of Japan" + }, + { + "no": 1729, + "code": "1F3D4", + "char": "🏔", + "name": "snow-capped mountain" + }, + { + "no": 1730, + "code": "26F0", + "char": "⛰", + "name": "mountain" + }, + { + "no": 1731, + "code": "1F30B", + "char": "🌋", + "name": "volcano" + }, + { + "no": 1732, + "code": "1F5FB", + "char": "🗻", + "name": "mount fuji" + }, + { + "no": 1733, + "code": "1F3D5", + "char": "🏕", + "name": "camping" + }, + { + "no": 1734, + "code": "1F3D6", + "char": "🏖", + "name": "beach with umbrella" + }, + { + "no": 1735, + "code": "1F3DC", + "char": "🏜", + "name": "desert" + }, + { + "no": 1736, + "code": "1F3DD", + "char": "🏝", + "name": "desert island" + }, + { + "no": 1737, + "code": "1F3DE", + "char": "🏞", + "name": "national park" + }, + { + "no": 1738, + "code": "1F3DF", + "char": "🏟", + "name": "stadium" + }, + { + "no": 1739, + "code": "1F3DB", + "char": "🏛", + "name": "classical building" + }, + { + "no": 1740, + "code": "1F3D7", + "char": "🏗", + "name": "building construction" + }, + { + "no": 1741, + "code": "1F3D8", + "char": "🏘", + "name": "houses" + }, + { + "no": 1742, + "code": "1F3D9", + "char": "🏙", + "name": "cityscape" + }, + { + "no": 1743, + "code": "1F3DA", + "char": "🏚", + "name": "derelict house" + }, + { + "no": 1744, + "code": "1F3E0", + "char": "🏠", + "name": "house" + }, + { + "no": 1745, + "code": "1F3E1", + "char": "🏡", + "name": "house with garden" + }, + { + "no": 1746, + "code": "1F3E2", + "char": "🏢", + "name": "office building" + }, + { + "no": 1747, + "code": "1F3E3", + "char": "🏣", + "name": "Japanese post office" + }, + { + "no": 1748, + "code": "1F3E4", + "char": "🏤", + "name": "post office" + }, + { + "no": 1749, + "code": "1F3E5", + "char": "🏥", + "name": "hospital" + }, + { + "no": 1750, + "code": "1F3E6", + "char": "🏦", + "name": "bank" + }, + { + "no": 1751, + "code": "1F3E8", + "char": "🏨", + "name": "hotel" + }, + { + "no": 1752, + "code": "1F3E9", + "char": "🏩", + "name": "love hotel" + }, + { + "no": 1753, + "code": "1F3EA", + "char": "🏪", + "name": "convenience store" + }, + { + "no": 1754, + "code": "1F3EB", + "char": "🏫", + "name": "school" + }, + { + "no": 1755, + "code": "1F3EC", + "char": "🏬", + "name": "department store" + }, + { + "no": 1756, + "code": "1F3ED", + "char": "🏭", + "name": "factory" + }, + { + "no": 1757, + "code": "1F3EF", + "char": "🏯", + "name": "Japanese castle" + }, + { + "no": 1758, + "code": "1F3F0", + "char": "🏰", + "name": "castle" + }, + { + "no": 1759, + "code": "1F492", + "char": "💒", + "name": "wedding" + }, + { + "no": 1760, + "code": "1F5FC", + "char": "🗼", + "name": "Tokyo tower" + }, + { + "no": 1761, + "code": "1F5FD", + "char": "🗽", + "name": "Statue of Liberty" + }, + { + "no": 1762, + "code": "26EA", + "char": "⛪", + "name": "church" + }, + { + "no": 1763, + "code": "1F54C", + "char": "🕌", + "name": "mosque" + }, + { + "no": 1764, + "code": "1F54D", + "char": "🕍", + "name": "synagogue" + }, + { + "no": 1765, + "code": "26E9", + "char": "⛩", + "name": "shinto shrine" + }, + { + "no": 1766, + "code": "1F54B", + "char": "🕋", + "name": "kaaba" + }, + { + "no": 1767, + "code": "26F2", + "char": "⛲", + "name": "fountain" + }, + { + "no": 1768, + "code": "26FA", + "char": "⛺", + "name": "tent" + }, + { + "no": 1769, + "code": "1F301", + "char": "🌁", + "name": "foggy" + }, + { + "no": 1770, + "code": "1F303", + "char": "🌃", + "name": "night with stars" + }, + { + "no": 1771, + "code": "1F304", + "char": "🌄", + "name": "sunrise over mountains" + }, + { + "no": 1772, + "code": "1F305", + "char": "🌅", + "name": "sunrise" + }, + { + "no": 1773, + "code": "1F306", + "char": "🌆", + "name": "cityscape at dusk" + }, + { + "no": 1774, + "code": "1F307", + "char": "🌇", + "name": "sunset" + }, + { + "no": 1775, + "code": "1F309", + "char": "🌉", + "name": "bridge at night" + }, + { + "no": 1776, + "code": "2668", + "char": "♨", + "name": "hot springs" + }, + { + "no": 1777, + "code": "1F30C", + "char": "🌌", + "name": "milky way" + }, + { + "no": 1778, + "code": "1F3A0", + "char": "🎠", + "name": "carousel horse" + }, + { + "no": 1779, + "code": "1F3A1", + "char": "🎡", + "name": "ferris wheel" + }, + { + "no": 1780, + "code": "1F3A2", + "char": "🎢", + "name": "roller coaster" + }, + { + "no": 1781, + "code": "1F488", + "char": "💈", + "name": "barber pole" + }, + { + "no": 1782, + "code": "1F3AA", + "char": "🎪", + "name": "circus tent" + }, + { + "no": 1783, + "code": "1F3AD", + "char": "🎭", + "name": "performing arts" + }, + { + "no": 1784, + "code": "1F5BC", + "char": "🖼", + "name": "framed picture" + }, + { + "no": 1785, + "code": "1F3A8", + "char": "🎨", + "name": "artist palette" + }, + { + "no": 1786, + "code": "1F3B0", + "char": "🎰", + "name": "slot machine" + }, + { + "no": 1787, + "code": "1F682", + "char": "🚂", + "name": "locomotive" + }, + { + "no": 1788, + "code": "1F683", + "char": "🚃", + "name": "railway car" + }, + { + "no": 1789, + "code": "1F684", + "char": "🚄", + "name": "high-speed train" + }, + { + "no": 1790, + "code": "1F685", + "char": "🚅", + "name": "bullet train" + }, + { + "no": 1791, + "code": "1F686", + "char": "🚆", + "name": "train" + }, + { + "no": 1792, + "code": "1F687", + "char": "🚇", + "name": "metro" + }, + { + "no": 1793, + "code": "1F688", + "char": "🚈", + "name": "light rail" + }, + { + "no": 1794, + "code": "1F689", + "char": "🚉", + "name": "station" + }, + { + "no": 1795, + "code": "1F68A", + "char": "🚊", + "name": "tram" + }, + { + "no": 1796, + "code": "1F69D", + "char": "🚝", + "name": "monorail" + }, + { + "no": 1797, + "code": "1F69E", + "char": "🚞", + "name": "mountain railway" + }, + { + "no": 1798, + "code": "1F68B", + "char": "🚋", + "name": "tram car" + }, + { + "no": 1799, + "code": "1F68C", + "char": "🚌", + "name": "bus" + }, + { + "no": 1800, + "code": "1F68D", + "char": "🚍", + "name": "oncoming bus" + }, + { + "no": 1801, + "code": "1F68E", + "char": "🚎", + "name": "trolleybus" + }, + { + "no": 1802, + "code": "1F690", + "char": "🚐", + "name": "minibus" + }, + { + "no": 1803, + "code": "1F691", + "char": "🚑", + "name": "ambulance" + }, + { + "no": 1804, + "code": "1F692", + "char": "🚒", + "name": "fire engine" + }, + { + "no": 1805, + "code": "1F693", + "char": "🚓", + "name": "police car" + }, + { + "no": 1806, + "code": "1F694", + "char": "🚔", + "name": "oncoming police car" + }, + { + "no": 1807, + "code": "1F695", + "char": "🚕", + "name": "taxi" + }, + { + "no": 1808, + "code": "1F696", + "char": "🚖", + "name": "oncoming taxi" + }, + { + "no": 1809, + "code": "1F697", + "char": "🚗", + "name": "automobile" + }, + { + "no": 1810, + "code": "1F698", + "char": "🚘", + "name": "oncoming automobile" + }, + { + "no": 1811, + "code": "1F699", + "char": "🚙", + "name": "sport utility vehicle" + }, + { + "no": 1812, + "code": "1F69A", + "char": "🚚", + "name": "delivery truck" + }, + { + "no": 1813, + "code": "1F69B", + "char": "🚛", + "name": "articulated lorry" + }, + { + "no": 1814, + "code": "1F69C", + "char": "🚜", + "name": "tractor" + }, + { + "no": 1815, + "code": "1F6B2", + "char": "🚲", + "name": "bicycle" + }, + { + "no": 1816, + "code": "1F6F4", + "char": "🛴", + "name": "kick scooter" + }, + { + "no": 1817, + "code": "1F6F5", + "char": "🛵", + "name": "motor scooter" + }, + { + "no": 1818, + "code": "1F68F", + "char": "🚏", + "name": "bus stop" + }, + { + "no": 1819, + "code": "1F6E3", + "char": "🛣", + "name": "motorway" + }, + { + "no": 1820, + "code": "1F6E4", + "char": "🛤", + "name": "railway track" + }, + { + "no": 1821, + "code": "26FD", + "char": "⛽", + "name": "fuel pump" + }, + { + "no": 1822, + "code": "1F6A8", + "char": "🚨", + "name": "police car light" + }, + { + "no": 1823, + "code": "1F6A5", + "char": "🚥", + "name": "horizontal traffic light" + }, + { + "no": 1824, + "code": "1F6A6", + "char": "🚦", + "name": "vertical traffic light" + }, + { + "no": 1825, + "code": "1F6A7", + "char": "🚧", + "name": "construction" + }, + { + "no": 1826, + "code": "1F6D1", + "char": "🛑", + "name": "stop sign" + }, + { + "no": 1827, + "code": "2693", + "char": "⚓", + "name": "anchor" + }, + { + "no": 1828, + "code": "26F5", + "char": "⛵", + "name": "sailboat" + }, + { + "no": 1829, + "code": "1F6F6", + "char": "🛶", + "name": "canoe" + }, + { + "no": 1830, + "code": "1F6A4", + "char": "🚤", + "name": "speedboat" + }, + { + "no": 1831, + "code": "1F6F3", + "char": "🛳", + "name": "passenger ship" + }, + { + "no": 1832, + "code": "26F4", + "char": "⛴", + "name": "ferry" + }, + { + "no": 1833, + "code": "1F6E5", + "char": "🛥", + "name": "motor boat" + }, + { + "no": 1834, + "code": "1F6A2", + "char": "🚢", + "name": "ship" + }, + { + "no": 1835, + "code": "2708", + "char": "✈", + "name": "airplane" + }, + { + "no": 1836, + "code": "1F6E9", + "char": "🛩", + "name": "small airplane" + }, + { + "no": 1837, + "code": "1F6EB", + "char": "🛫", + "name": "airplane departure" + }, + { + "no": 1838, + "code": "1F6EC", + "char": "🛬", + "name": "airplane arrival" + }, + { + "no": 1839, + "code": "1F4BA", + "char": "💺", + "name": "seat" + }, + { + "no": 1840, + "code": "1F681", + "char": "🚁", + "name": "helicopter" + }, + { + "no": 1841, + "code": "1F69F", + "char": "🚟", + "name": "suspension railway" + }, + { + "no": 1842, + "code": "1F6A0", + "char": "🚠", + "name": "mountain cableway" + }, + { + "no": 1843, + "code": "1F6A1", + "char": "🚡", + "name": "aerial tramway" + }, + { + "no": 1844, + "code": "1F6F0", + "char": "🛰", + "name": "satellite" + }, + { + "no": 1845, + "code": "1F680", + "char": "🚀", + "name": "rocket" + }, + { + "no": 1846, + "code": "1F6F8", + "char": "🛸", + "name": "⊛ flying saucer" + }, + { + "no": 1847, + "code": "1F6CE", + "char": "🛎", + "name": "bellhop bell" + }, + { + "no": 1848, + "code": "1F6AA", + "char": "🚪", + "name": "door" + }, + { + "no": 1849, + "code": "1F6CF", + "char": "🛏", + "name": "bed" + }, + { + "no": 1850, + "code": "1F6CB", + "char": "🛋", + "name": "couch and lamp" + }, + { + "no": 1851, + "code": "1F6BD", + "char": "🚽", + "name": "toilet" + }, + { + "no": 1852, + "code": "1F6BF", + "char": "🚿", + "name": "shower" + }, + { + "no": 1853, + "code": "1F6C1", + "char": "🛁", + "name": "bathtub" + }, + { + "no": 1854, + "code": "231B", + "char": "⌛", + "name": "hourglass done" + }, + { + "no": 1855, + "code": "23F3", + "char": "⏳", + "name": "hourglass not done" + }, + { + "no": 1856, + "code": "231A", + "char": "⌚", + "name": "watch" + }, + { + "no": 1857, + "code": "23F0", + "char": "⏰", + "name": "alarm clock" + }, + { + "no": 1858, + "code": "23F1", + "char": "⏱", + "name": "stopwatch" + }, + { + "no": 1859, + "code": "23F2", + "char": "⏲", + "name": "timer clock" + }, + { + "no": 1860, + "code": "1F570", + "char": "🕰", + "name": "mantelpiece clock" + }, + { + "no": 1861, + "code": "1F55B", + "char": "🕛", + "name": "twelve o’clock" + }, + { + "no": 1862, + "code": "1F567", + "char": "🕧", + "name": "twelve-thirty" + }, + { + "no": 1863, + "code": "1F550", + "char": "🕐", + "name": "one o’clock" + }, + { + "no": 1864, + "code": "1F55C", + "char": "🕜", + "name": "one-thirty" + }, + { + "no": 1865, + "code": "1F551", + "char": "🕑", + "name": "two o’clock" + }, + { + "no": 1866, + "code": "1F55D", + "char": "🕝", + "name": "two-thirty" + }, + { + "no": 1867, + "code": "1F552", + "char": "🕒", + "name": "three o’clock" + }, + { + "no": 1868, + "code": "1F55E", + "char": "🕞", + "name": "three-thirty" + }, + { + "no": 1869, + "code": "1F553", + "char": "🕓", + "name": "four o’clock" + }, + { + "no": 1870, + "code": "1F55F", + "char": "🕟", + "name": "four-thirty" + }, + { + "no": 1871, + "code": "1F554", + "char": "🕔", + "name": "five o’clock" + }, + { + "no": 1872, + "code": "1F560", + "char": "🕠", + "name": "five-thirty" + }, + { + "no": 1873, + "code": "1F555", + "char": "🕕", + "name": "six o’clock" + }, + { + "no": 1874, + "code": "1F561", + "char": "🕡", + "name": "six-thirty" + }, + { + "no": 1875, + "code": "1F556", + "char": "🕖", + "name": "seven o’clock" + }, + { + "no": 1876, + "code": "1F562", + "char": "🕢", + "name": "seven-thirty" + }, + { + "no": 1877, + "code": "1F557", + "char": "🕗", + "name": "eight o’clock" + }, + { + "no": 1878, + "code": "1F563", + "char": "🕣", + "name": "eight-thirty" + }, + { + "no": 1879, + "code": "1F558", + "char": "🕘", + "name": "nine o’clock" + }, + { + "no": 1880, + "code": "1F564", + "char": "🕤", + "name": "nine-thirty" + }, + { + "no": 1881, + "code": "1F559", + "char": "🕙", + "name": "ten o’clock" + }, + { + "no": 1882, + "code": "1F565", + "char": "🕥", + "name": "ten-thirty" + }, + { + "no": 1883, + "code": "1F55A", + "char": "🕚", + "name": "eleven o’clock" + }, + { + "no": 1884, + "code": "1F566", + "char": "🕦", + "name": "eleven-thirty" + }, + { + "no": 1885, + "code": "1F311", + "char": "🌑", + "name": "new moon" + }, + { + "no": 1886, + "code": "1F312", + "char": "🌒", + "name": "waxing crescent moon" + }, + { + "no": 1887, + "code": "1F313", + "char": "🌓", + "name": "first quarter moon" + }, + { + "no": 1888, + "code": "1F314", + "char": "🌔", + "name": "waxing gibbous moon" + }, + { + "no": 1889, + "code": "1F315", + "char": "🌕", + "name": "full moon" + }, + { + "no": 1890, + "code": "1F316", + "char": "🌖", + "name": "waning gibbous moon" + }, + { + "no": 1891, + "code": "1F317", + "char": "🌗", + "name": "last quarter moon" + }, + { + "no": 1892, + "code": "1F318", + "char": "🌘", + "name": "waning crescent moon" + }, + { + "no": 1893, + "code": "1F319", + "char": "🌙", + "name": "crescent moon" + }, + { + "no": 1894, + "code": "1F31A", + "char": "🌚", + "name": "new moon face" + }, + { + "no": 1895, + "code": "1F31B", + "char": "🌛", + "name": "first quarter moon face" + }, + { + "no": 1896, + "code": "1F31C", + "char": "🌜", + "name": "last quarter moon face" + }, + { + "no": 1897, + "code": "1F321", + "char": "🌡", + "name": "thermometer" + }, + { + "no": 1898, + "code": "2600", + "char": "☀", + "name": "sun" + }, + { + "no": 1899, + "code": "1F31D", + "char": "🌝", + "name": "full moon face" + }, + { + "no": 1900, + "code": "1F31E", + "char": "🌞", + "name": "sun with face" + }, + { + "no": 1901, + "code": "2B50", + "char": "⭐", + "name": "white medium star" + }, + { + "no": 1902, + "code": "1F31F", + "char": "🌟", + "name": "glowing star" + }, + { + "no": 1903, + "code": "1F320", + "char": "🌠", + "name": "shooting star" + }, + { + "no": 1904, + "code": "2601", + "char": "☁", + "name": "cloud" + }, + { + "no": 1905, + "code": "26C5", + "char": "⛅", + "name": "sun behind cloud" + }, + { + "no": 1906, + "code": "26C8", + "char": "⛈", + "name": "cloud with lightning and rain" + }, + { + "no": 1907, + "code": "1F324", + "char": "🌤", + "name": "sun behind small cloud" + }, + { + "no": 1908, + "code": "1F325", + "char": "🌥", + "name": "sun behind large cloud" + }, + { + "no": 1909, + "code": "1F326", + "char": "🌦", + "name": "sun behind rain cloud" + }, + { + "no": 1910, + "code": "1F327", + "char": "🌧", + "name": "cloud with rain" + }, + { + "no": 1911, + "code": "1F328", + "char": "🌨", + "name": "cloud with snow" + }, + { + "no": 1912, + "code": "1F329", + "char": "🌩", + "name": "cloud with lightning" + }, + { + "no": 1913, + "code": "1F32A", + "char": "🌪", + "name": "tornado" + }, + { + "no": 1914, + "code": "1F32B", + "char": "🌫", + "name": "fog" + }, + { + "no": 1915, + "code": "1F32C", + "char": "🌬", + "name": "wind face" + }, + { + "no": 1916, + "code": "1F300", + "char": "🌀", + "name": "cyclone" + }, + { + "no": 1917, + "code": "1F308", + "char": "🌈", + "name": "rainbow" + }, + { + "no": 1918, + "code": "1F302", + "char": "🌂", + "name": "closed umbrella" + }, + { + "no": 1919, + "code": "2602", + "char": "☂", + "name": "umbrella" + }, + { + "no": 1920, + "code": "2614", + "char": "☔", + "name": "umbrella with rain drops" + }, + { + "no": 1921, + "code": "26F1", + "char": "⛱", + "name": "umbrella on ground" + }, + { + "no": 1922, + "code": "26A1", + "char": "⚡", + "name": "high voltage" + }, + { + "no": 1923, + "code": "2744", + "char": "❄", + "name": "snowflake" + }, + { + "no": 1924, + "code": "2603", + "char": "☃", + "name": "snowman" + }, + { + "no": 1925, + "code": "26C4", + "char": "⛄", + "name": "snowman without snow" + }, + { + "no": 1926, + "code": "2604", + "char": "☄", + "name": "comet" + }, + { + "no": 1927, + "code": "1F525", + "char": "🔥", + "name": "fire" + }, + { + "no": 1928, + "code": "1F4A7", + "char": "💧", + "name": "droplet" + }, + { + "no": 1929, + "code": "1F30A", + "char": "🌊", + "name": "water wave" + }, + { + "no": 1930, + "code": "1F383", + "char": "🎃", + "name": "jack-o-lantern" + }, + { + "no": 1931, + "code": "1F384", + "char": "🎄", + "name": "Christmas tree" + }, + { + "no": 1932, + "code": "1F386", + "char": "🎆", + "name": "fireworks" + }, + { + "no": 1933, + "code": "1F387", + "char": "🎇", + "name": "sparkler" + }, + { + "no": 1934, + "code": "2728", + "char": "✨", + "name": "sparkles" + }, + { + "no": 1935, + "code": "1F388", + "char": "🎈", + "name": "balloon" + }, + { + "no": 1936, + "code": "1F389", + "char": "🎉", + "name": "party popper" + }, + { + "no": 1937, + "code": "1F38A", + "char": "🎊", + "name": "confetti ball" + }, + { + "no": 1938, + "code": "1F38B", + "char": "🎋", + "name": "tanabata tree" + }, + { + "no": 1939, + "code": "1F38D", + "char": "🎍", + "name": "pine decoration" + }, + { + "no": 1940, + "code": "1F38E", + "char": "🎎", + "name": "Japanese dolls" + }, + { + "no": 1941, + "code": "1F38F", + "char": "🎏", + "name": "carp streamer" + }, + { + "no": 1942, + "code": "1F390", + "char": "🎐", + "name": "wind chime" + }, + { + "no": 1943, + "code": "1F391", + "char": "🎑", + "name": "moon viewing ceremony" + }, + { + "no": 1944, + "code": "1F380", + "char": "🎀", + "name": "ribbon" + }, + { + "no": 1945, + "code": "1F381", + "char": "🎁", + "name": "wrapped gift" + }, + { + "no": 1946, + "code": "1F397", + "char": "🎗", + "name": "reminder ribbon" + }, + { + "no": 1947, + "code": "1F39F", + "char": "🎟", + "name": "admission tickets" + }, + { + "no": 1948, + "code": "1F3AB", + "char": "🎫", + "name": "ticket" + }, + { + "no": 1949, + "code": "1F396", + "char": "🎖", + "name": "military medal" + }, + { + "no": 1950, + "code": "1F3C6", + "char": "🏆", + "name": "trophy" + }, + { + "no": 1951, + "code": "1F3C5", + "char": "🏅", + "name": "sports medal" + }, + { + "no": 1952, + "code": "1F947", + "char": "🥇", + "name": "1st place medal" + }, + { + "no": 1953, + "code": "1F948", + "char": "🥈", + "name": "2nd place medal" + }, + { + "no": 1954, + "code": "1F949", + "char": "🥉", + "name": "3rd place medal" + }, + { + "no": 1955, + "code": "26BD", + "char": "⚽", + "name": "soccer ball" + }, + { + "no": 1956, + "code": "26BE", + "char": "⚾", + "name": "baseball" + }, + { + "no": 1957, + "code": "1F3C0", + "char": "🏀", + "name": "basketball" + }, + { + "no": 1958, + "code": "1F3D0", + "char": "🏐", + "name": "volleyball" + }, + { + "no": 1959, + "code": "1F3C8", + "char": "🏈", + "name": "american football" + }, + { + "no": 1960, + "code": "1F3C9", + "char": "🏉", + "name": "rugby football" + }, + { + "no": 1961, + "code": "1F3BE", + "char": "🎾", + "name": "tennis" + }, + { + "no": 1962, + "code": "1F3B1", + "char": "🎱", + "name": "pool 8 ball" + }, + { + "no": 1963, + "code": "1F3B3", + "char": "🎳", + "name": "bowling" + }, + { + "no": 1964, + "code": "1F3CF", + "char": "🏏", + "name": "cricket game" + }, + { + "no": 1965, + "code": "1F3D1", + "char": "🏑", + "name": "field hockey" + }, + { + "no": 1966, + "code": "1F3D2", + "char": "🏒", + "name": "ice hockey" + }, + { + "no": 1967, + "code": "1F3D3", + "char": "🏓", + "name": "ping pong" + }, + { + "no": 1968, + "code": "1F3F8", + "char": "🏸", + "name": "badminton" + }, + { + "no": 1969, + "code": "1F94A", + "char": "🥊", + "name": "boxing glove" + }, + { + "no": 1970, + "code": "1F94B", + "char": "🥋", + "name": "martial arts uniform" + }, + { + "no": 1971, + "code": "1F945", + "char": "🥅", + "name": "goal net" + }, + { + "no": 1972, + "code": "1F3AF", + "char": "🎯", + "name": "direct hit" + }, + { + "no": 1973, + "code": "26F3", + "char": "⛳", + "name": "flag in hole" + }, + { + "no": 1974, + "code": "26F8", + "char": "⛸", + "name": "ice skate" + }, + { + "no": 1975, + "code": "1F3A3", + "char": "🎣", + "name": "fishing pole" + }, + { + "no": 1976, + "code": "1F3BD", + "char": "🎽", + "name": "running shirt" + }, + { + "no": 1977, + "code": "1F3BF", + "char": "🎿", + "name": "skis" + }, + { + "no": 1978, + "code": "1F6F7", + "char": "🛷", + "name": "⊛ sled" + }, + { + "no": 1979, + "code": "1F94C", + "char": "🥌", + "name": "⊛ curling stone" + }, + { + "no": 1980, + "code": "1F3AE", + "char": "🎮", + "name": "video game" + }, + { + "no": 1981, + "code": "1F579", + "char": "🕹", + "name": "joystick" + }, + { + "no": 1982, + "code": "1F3B2", + "char": "🎲", + "name": "game die" + }, + { + "no": 1983, + "code": "2660", + "char": "♠", + "name": "spade suit" + }, + { + "no": 1984, + "code": "2665", + "char": "♥", + "name": "heart suit" + }, + { + "no": 1985, + "code": "2666", + "char": "♦", + "name": "diamond suit" + }, + { + "no": 1986, + "code": "2663", + "char": "♣", + "name": "club suit" + }, + { + "no": 1987, + "code": "1F0CF", + "char": "🃏", + "name": "joker" + }, + { + "no": 1988, + "code": "1F004", + "char": "🀄", + "name": "mahjong red dragon" + }, + { + "no": 1989, + "code": "1F3B4", + "char": "🎴", + "name": "flower playing cards" + }, + { + "no": 1990, + "code": "1F507", + "char": "🔇", + "name": "muted speaker" + }, + { + "no": 1991, + "code": "1F508", + "char": "🔈", + "name": "speaker low volume" + }, + { + "no": 1992, + "code": "1F509", + "char": "🔉", + "name": "speaker medium volume" + }, + { + "no": 1993, + "code": "1F50A", + "char": "🔊", + "name": "speaker high volume" + }, + { + "no": 1994, + "code": "1F4E2", + "char": "📢", + "name": "loudspeaker" + }, + { + "no": 1995, + "code": "1F4E3", + "char": "📣", + "name": "megaphone" + }, + { + "no": 1996, + "code": "1F4EF", + "char": "📯", + "name": "postal horn" + }, + { + "no": 1997, + "code": "1F514", + "char": "🔔", + "name": "bell" + }, + { + "no": 1998, + "code": "1F515", + "char": "🔕", + "name": "bell with slash" + }, + { + "no": 1999, + "code": "1F3BC", + "char": "🎼", + "name": "musical score" + }, + { + "no": 2000, + "code": "1F3B5", + "char": "🎵", + "name": "musical note" + }, + { + "no": 2001, + "code": "1F3B6", + "char": "🎶", + "name": "musical notes" + }, + { + "no": 2002, + "code": "1F399", + "char": "🎙", + "name": "studio microphone" + }, + { + "no": 2003, + "code": "1F39A", + "char": "🎚", + "name": "level slider" + }, + { + "no": 2004, + "code": "1F39B", + "char": "🎛", + "name": "control knobs" + }, + { + "no": 2005, + "code": "1F3A4", + "char": "🎤", + "name": "microphone" + }, + { + "no": 2006, + "code": "1F3A7", + "char": "🎧", + "name": "headphone" + }, + { + "no": 2007, + "code": "1F4FB", + "char": "📻", + "name": "radio" + }, + { + "no": 2008, + "code": "1F3B7", + "char": "🎷", + "name": "saxophone" + }, + { + "no": 2009, + "code": "1F3B8", + "char": "🎸", + "name": "guitar" + }, + { + "no": 2010, + "code": "1F3B9", + "char": "🎹", + "name": "musical keyboard" + }, + { + "no": 2011, + "code": "1F3BA", + "char": "🎺", + "name": "trumpet" + }, + { + "no": 2012, + "code": "1F3BB", + "char": "🎻", + "name": "violin" + }, + { + "no": 2013, + "code": "1F941", + "char": "🥁", + "name": "drum" + }, + { + "no": 2014, + "code": "1F4F1", + "char": "📱", + "name": "mobile phone" + }, + { + "no": 2015, + "code": "1F4F2", + "char": "📲", + "name": "mobile phone with arrow" + }, + { + "no": 2016, + "code": "260E", + "char": "☎", + "name": "telephone" + }, + { + "no": 2017, + "code": "1F4DE", + "char": "📞", + "name": "telephone receiver" + }, + { + "no": 2018, + "code": "1F4DF", + "char": "📟", + "name": "pager" + }, + { + "no": 2019, + "code": "1F4E0", + "char": "📠", + "name": "fax machine" + }, + { + "no": 2020, + "code": "1F50B", + "char": "🔋", + "name": "battery" + }, + { + "no": 2021, + "code": "1F50C", + "char": "🔌", + "name": "electric plug" + }, + { + "no": 2022, + "code": "1F4BB", + "char": "💻", + "name": "laptop computer" + }, + { + "no": 2023, + "code": "1F5A5", + "char": "🖥", + "name": "desktop computer" + }, + { + "no": 2024, + "code": "1F5A8", + "char": "🖨", + "name": "printer" + }, + { + "no": 2025, + "code": "2328", + "char": "⌨", + "name": "keyboard" + }, + { + "no": 2026, + "code": "1F5B1", + "char": "🖱", + "name": "computer mouse" + }, + { + "no": 2027, + "code": "1F5B2", + "char": "🖲", + "name": "trackball" + }, + { + "no": 2028, + "code": "1F4BD", + "char": "💽", + "name": "computer disk" + }, + { + "no": 2029, + "code": "1F4BE", + "char": "💾", + "name": "floppy disk" + }, + { + "no": 2030, + "code": "1F4BF", + "char": "💿", + "name": "optical disk" + }, + { + "no": 2031, + "code": "1F4C0", + "char": "📀", + "name": "dvd" + }, + { + "no": 2032, + "code": "1F3A5", + "char": "🎥", + "name": "movie camera" + }, + { + "no": 2033, + "code": "1F39E", + "char": "🎞", + "name": "film frames" + }, + { + "no": 2034, + "code": "1F4FD", + "char": "📽", + "name": "film projector" + }, + { + "no": 2035, + "code": "1F3AC", + "char": "🎬", + "name": "clapper board" + }, + { + "no": 2036, + "code": "1F4FA", + "char": "📺", + "name": "television" + }, + { + "no": 2037, + "code": "1F4F7", + "char": "📷", + "name": "camera" + }, + { + "no": 2038, + "code": "1F4F8", + "char": "📸", + "name": "camera with flash" + }, + { + "no": 2039, + "code": "1F4F9", + "char": "📹", + "name": "video camera" + }, + { + "no": 2040, + "code": "1F4FC", + "char": "📼", + "name": "videocassette" + }, + { + "no": 2041, + "code": "1F50D", + "char": "🔍", + "name": "magnifying glass tilted left" + }, + { + "no": 2042, + "code": "1F50E", + "char": "🔎", + "name": "magnifying glass tilted right" + }, + { + "no": 2043, + "code": "1F52C", + "char": "🔬", + "name": "microscope" + }, + { + "no": 2044, + "code": "1F52D", + "char": "🔭", + "name": "telescope" + }, + { + "no": 2045, + "code": "1F4E1", + "char": "📡", + "name": "satellite antenna" + }, + { + "no": 2046, + "code": "1F56F", + "char": "🕯", + "name": "candle" + }, + { + "no": 2047, + "code": "1F4A1", + "char": "💡", + "name": "light bulb" + }, + { + "no": 2048, + "code": "1F526", + "char": "🔦", + "name": "flashlight" + }, + { + "no": 2049, + "code": "1F3EE", + "char": "🏮", + "name": "red paper lantern" + }, + { + "no": 2050, + "code": "1F4D4", + "char": "📔", + "name": "notebook with decorative cover" + }, + { + "no": 2051, + "code": "1F4D5", + "char": "📕", + "name": "closed book" + }, + { + "no": 2052, + "code": "1F4D6", + "char": "📖", + "name": "open book" + }, + { + "no": 2053, + "code": "1F4D7", + "char": "📗", + "name": "green book" + }, + { + "no": 2054, + "code": "1F4D8", + "char": "📘", + "name": "blue book" + }, + { + "no": 2055, + "code": "1F4D9", + "char": "📙", + "name": "orange book" + }, + { + "no": 2056, + "code": "1F4DA", + "char": "📚", + "name": "books" + }, + { + "no": 2057, + "code": "1F4D3", + "char": "📓", + "name": "notebook" + }, + { + "no": 2058, + "code": "1F4D2", + "char": "📒", + "name": "ledger" + }, + { + "no": 2059, + "code": "1F4C3", + "char": "📃", + "name": "page with curl" + }, + { + "no": 2060, + "code": "1F4DC", + "char": "📜", + "name": "scroll" + }, + { + "no": 2061, + "code": "1F4C4", + "char": "📄", + "name": "page facing up" + }, + { + "no": 2062, + "code": "1F4F0", + "char": "📰", + "name": "newspaper" + }, + { + "no": 2063, + "code": "1F5DE", + "char": "🗞", + "name": "rolled-up newspaper" + }, + { + "no": 2064, + "code": "1F4D1", + "char": "📑", + "name": "bookmark tabs" + }, + { + "no": 2065, + "code": "1F516", + "char": "🔖", + "name": "bookmark" + }, + { + "no": 2066, + "code": "1F3F7", + "char": "🏷", + "name": "label" + }, + { + "no": 2067, + "code": "1F4B0", + "char": "💰", + "name": "money bag" + }, + { + "no": 2068, + "code": "1F4B4", + "char": "💴", + "name": "yen banknote" + }, + { + "no": 2069, + "code": "1F4B5", + "char": "💵", + "name": "dollar banknote" + }, + { + "no": 2070, + "code": "1F4B6", + "char": "💶", + "name": "euro banknote" + }, + { + "no": 2071, + "code": "1F4B7", + "char": "💷", + "name": "pound banknote" + }, + { + "no": 2072, + "code": "1F4B8", + "char": "💸", + "name": "money with wings" + }, + { + "no": 2073, + "code": "1F4B3", + "char": "💳", + "name": "credit card" + }, + { + "no": 2074, + "code": "1F4B9", + "char": "💹", + "name": "chart increasing with yen" + }, + { + "no": 2075, + "code": "1F4B1", + "char": "💱", + "name": "currency exchange" + }, + { + "no": 2076, + "code": "1F4B2", + "char": "💲", + "name": "heavy dollar sign" + }, + { + "no": 2077, + "code": "2709", + "char": "✉", + "name": "envelope" + }, + { + "no": 2078, + "code": "1F4E7", + "char": "📧", + "name": "e-mail" + }, + { + "no": 2079, + "code": "1F4E8", + "char": "📨", + "name": "incoming envelope" + }, + { + "no": 2080, + "code": "1F4E9", + "char": "📩", + "name": "envelope with arrow" + }, + { + "no": 2081, + "code": "1F4E4", + "char": "📤", + "name": "outbox tray" + }, + { + "no": 2082, + "code": "1F4E5", + "char": "📥", + "name": "inbox tray" + }, + { + "no": 2083, + "code": "1F4E6", + "char": "📦", + "name": "package" + }, + { + "no": 2084, + "code": "1F4EB", + "char": "📫", + "name": "closed mailbox with raised flag" + }, + { + "no": 2085, + "code": "1F4EA", + "char": "📪", + "name": "closed mailbox with lowered flag" + }, + { + "no": 2086, + "code": "1F4EC", + "char": "📬", + "name": "open mailbox with raised flag" + }, + { + "no": 2087, + "code": "1F4ED", + "char": "📭", + "name": "open mailbox with lowered flag" + }, + { + "no": 2088, + "code": "1F4EE", + "char": "📮", + "name": "postbox" + }, + { + "no": 2089, + "code": "1F5F3", + "char": "🗳", + "name": "ballot box with ballot" + }, + { + "no": 2090, + "code": "270F", + "char": "✏", + "name": "pencil" + }, + { + "no": 2091, + "code": "2712", + "char": "✒", + "name": "black nib" + }, + { + "no": 2092, + "code": "1F58B", + "char": "🖋", + "name": "fountain pen" + }, + { + "no": 2093, + "code": "1F58A", + "char": "🖊", + "name": "pen" + }, + { + "no": 2094, + "code": "1F58C", + "char": "🖌", + "name": "paintbrush" + }, + { + "no": 2095, + "code": "1F58D", + "char": "🖍", + "name": "crayon" + }, + { + "no": 2096, + "code": "1F4DD", + "char": "📝", + "name": "memo" + }, + { + "no": 2097, + "code": "1F4BC", + "char": "💼", + "name": "briefcase" + }, + { + "no": 2098, + "code": "1F4C1", + "char": "📁", + "name": "file folder" + }, + { + "no": 2099, + "code": "1F4C2", + "char": "📂", + "name": "open file folder" + }, + { + "no": 2100, + "code": "1F5C2", + "char": "🗂", + "name": "card index dividers" + }, + { + "no": 2101, + "code": "1F4C5", + "char": "📅", + "name": "calendar" + }, + { + "no": 2102, + "code": "1F4C6", + "char": "📆", + "name": "tear-off calendar" + }, + { + "no": 2103, + "code": "1F5D2", + "char": "🗒", + "name": "spiral notepad" + }, + { + "no": 2104, + "code": "1F5D3", + "char": "🗓", + "name": "spiral calendar" + }, + { + "no": 2105, + "code": "1F4C7", + "char": "📇", + "name": "card index" + }, + { + "no": 2106, + "code": "1F4C8", + "char": "📈", + "name": "chart increasing" + }, + { + "no": 2107, + "code": "1F4C9", + "char": "📉", + "name": "chart decreasing" + }, + { + "no": 2108, + "code": "1F4CA", + "char": "📊", + "name": "bar chart" + }, + { + "no": 2109, + "code": "1F4CB", + "char": "📋", + "name": "clipboard" + }, + { + "no": 2110, + "code": "1F4CC", + "char": "📌", + "name": "pushpin" + }, + { + "no": 2111, + "code": "1F4CD", + "char": "📍", + "name": "round pushpin" + }, + { + "no": 2112, + "code": "1F4CE", + "char": "📎", + "name": "paperclip" + }, + { + "no": 2113, + "code": "1F587", + "char": "🖇", + "name": "linked paperclips" + }, + { + "no": 2114, + "code": "1F4CF", + "char": "📏", + "name": "straight ruler" + }, + { + "no": 2115, + "code": "1F4D0", + "char": "📐", + "name": "triangular ruler" + }, + { + "no": 2116, + "code": "2702", + "char": "✂", + "name": "scissors" + }, + { + "no": 2117, + "code": "1F5C3", + "char": "🗃", + "name": "card file box" + }, + { + "no": 2118, + "code": "1F5C4", + "char": "🗄", + "name": "file cabinet" + }, + { + "no": 2119, + "code": "1F5D1", + "char": "🗑", + "name": "wastebasket" + }, + { + "no": 2120, + "code": "1F512", + "char": "🔒", + "name": "locked" + }, + { + "no": 2121, + "code": "1F513", + "char": "🔓", + "name": "unlocked" + }, + { + "no": 2122, + "code": "1F50F", + "char": "🔏", + "name": "locked with pen" + }, + { + "no": 2123, + "code": "1F510", + "char": "🔐", + "name": "locked with key" + }, + { + "no": 2124, + "code": "1F511", + "char": "🔑", + "name": "key" + }, + { + "no": 2125, + "code": "1F5DD", + "char": "🗝", + "name": "old key" + }, + { + "no": 2126, + "code": "1F528", + "char": "🔨", + "name": "hammer" + }, + { + "no": 2127, + "code": "26CF", + "char": "⛏", + "name": "pick" + }, + { + "no": 2128, + "code": "2692", + "char": "⚒", + "name": "hammer and pick" + }, + { + "no": 2129, + "code": "1F6E0", + "char": "🛠", + "name": "hammer and wrench" + }, + { + "no": 2130, + "code": "1F5E1", + "char": "🗡", + "name": "dagger" + }, + { + "no": 2131, + "code": "2694", + "char": "⚔", + "name": "crossed swords" + }, + { + "no": 2132, + "code": "1F52B", + "char": "🔫", + "name": "pistol" + }, + { + "no": 2133, + "code": "1F3F9", + "char": "🏹", + "name": "bow and arrow" + }, + { + "no": 2134, + "code": "1F6E1", + "char": "🛡", + "name": "shield" + }, + { + "no": 2135, + "code": "1F527", + "char": "🔧", + "name": "wrench" + }, + { + "no": 2136, + "code": "1F529", + "char": "🔩", + "name": "nut and bolt" + }, + { + "no": 2137, + "code": "2699", + "char": "⚙", + "name": "gear" + }, + { + "no": 2138, + "code": "1F5DC", + "char": "🗜", + "name": "clamp" + }, + { + "no": 2139, + "code": "2697", + "char": "⚗", + "name": "alembic" + }, + { + "no": 2140, + "code": "2696", + "char": "⚖", + "name": "balance scale" + }, + { + "no": 2141, + "code": "1F517", + "char": "🔗", + "name": "link" + }, + { + "no": 2142, + "code": "26D3", + "char": "⛓", + "name": "chains" + }, + { + "no": 2143, + "code": "1F489", + "char": "💉", + "name": "syringe" + }, + { + "no": 2144, + "code": "1F48A", + "char": "💊", + "name": "pill" + }, + { + "no": 2145, + "code": "1F6AC", + "char": "🚬", + "name": "cigarette" + }, + { + "no": 2146, + "code": "26B0", + "char": "⚰", + "name": "coffin" + }, + { + "no": 2147, + "code": "26B1", + "char": "⚱", + "name": "funeral urn" + }, + { + "no": 2148, + "code": "1F5FF", + "char": "🗿", + "name": "moai" + }, + { + "no": 2149, + "code": "1F6E2", + "char": "🛢", + "name": "oil drum" + }, + { + "no": 2150, + "code": "1F52E", + "char": "🔮", + "name": "crystal ball" + }, + { + "no": 2151, + "code": "1F6D2", + "char": "🛒", + "name": "shopping cart" + }, + { + "no": 2152, + "code": "1F3E7", + "char": "🏧", + "name": "ATM sign" + }, + { + "no": 2153, + "code": "1F6AE", + "char": "🚮", + "name": "litter in bin sign" + }, + { + "no": 2154, + "code": "1F6B0", + "char": "🚰", + "name": "potable water" + }, + { + "no": 2155, + "code": "267F", + "char": "♿", + "name": "wheelchair symbol" + }, + { + "no": 2156, + "code": "1F6B9", + "char": "🚹", + "name": "men’s room" + }, + { + "no": 2157, + "code": "1F6BA", + "char": "🚺", + "name": "women’s room" + }, + { + "no": 2158, + "code": "1F6BB", + "char": "🚻", + "name": "restroom" + }, + { + "no": 2159, + "code": "1F6BC", + "char": "🚼", + "name": "baby symbol" + }, + { + "no": 2160, + "code": "1F6BE", + "char": "🚾", + "name": "water closet" + }, + { + "no": 2161, + "code": "1F6C2", + "char": "🛂", + "name": "passport control" + }, + { + "no": 2162, + "code": "1F6C3", + "char": "🛃", + "name": "customs" + }, + { + "no": 2163, + "code": "1F6C4", + "char": "🛄", + "name": "baggage claim" + }, + { + "no": 2164, + "code": "1F6C5", + "char": "🛅", + "name": "left luggage" + }, + { + "no": 2165, + "code": "26A0", + "char": "⚠", + "name": "warning" + }, + { + "no": 2166, + "code": "1F6B8", + "char": "🚸", + "name": "children crossing" + }, + { + "no": 2167, + "code": "26D4", + "char": "⛔", + "name": "no entry" + }, + { + "no": 2168, + "code": "1F6AB", + "char": "🚫", + "name": "prohibited" + }, + { + "no": 2169, + "code": "1F6B3", + "char": "🚳", + "name": "no bicycles" + }, + { + "no": 2170, + "code": "1F6AD", + "char": "🚭", + "name": "no smoking" + }, + { + "no": 2171, + "code": "1F6AF", + "char": "🚯", + "name": "no littering" + }, + { + "no": 2172, + "code": "1F6B1", + "char": "🚱", + "name": "non-potable water" + }, + { + "no": 2173, + "code": "1F6B7", + "char": "🚷", + "name": "no pedestrians" + }, + { + "no": 2174, + "code": "1F4F5", + "char": "📵", + "name": "no mobile phones" + }, + { + "no": 2175, + "code": "1F51E", + "char": "🔞", + "name": "no one under eighteen" + }, + { + "no": 2176, + "code": "2622", + "char": "☢", + "name": "radioactive" + }, + { + "no": 2177, + "code": "2623", + "char": "☣", + "name": "biohazard" + }, + { + "no": 2178, + "code": "2B06", + "char": "⬆", + "name": "up arrow" + }, + { + "no": 2179, + "code": "2197", + "char": "↗", + "name": "up-right arrow" + }, + { + "no": 2180, + "code": "27A1", + "char": "➡", + "name": "right arrow" + }, + { + "no": 2181, + "code": "2198", + "char": "↘", + "name": "down-right arrow" + }, + { + "no": 2182, + "code": "2B07", + "char": "⬇", + "name": "down arrow" + }, + { + "no": 2183, + "code": "2199", + "char": "↙", + "name": "down-left arrow" + }, + { + "no": 2184, + "code": "2B05", + "char": "⬅", + "name": "left arrow" + }, + { + "no": 2185, + "code": "2196", + "char": "↖", + "name": "up-left arrow" + }, + { + "no": 2186, + "code": "2195", + "char": "↕", + "name": "up-down arrow" + }, + { + "no": 2187, + "code": "2194", + "char": "↔", + "name": "left-right arrow" + }, + { + "no": 2188, + "code": "21A9", + "char": "↩", + "name": "right arrow curving left" + }, + { + "no": 2189, + "code": "21AA", + "char": "↪", + "name": "left arrow curving right" + }, + { + "no": 2190, + "code": "2934", + "char": "⤴", + "name": "right arrow curving up" + }, + { + "no": 2191, + "code": "2935", + "char": "⤵", + "name": "right arrow curving down" + }, + { + "no": 2192, + "code": "1F503", + "char": "🔃", + "name": "clockwise vertical arrows" + }, + { + "no": 2193, + "code": "1F504", + "char": "🔄", + "name": "counterclockwise arrows button" + }, + { + "no": 2194, + "code": "1F519", + "char": "🔙", + "name": "BACK arrow" + }, + { + "no": 2195, + "code": "1F51A", + "char": "🔚", + "name": "END arrow" + }, + { + "no": 2196, + "code": "1F51B", + "char": "🔛", + "name": "ON! arrow" + }, + { + "no": 2197, + "code": "1F51C", + "char": "🔜", + "name": "SOON arrow" + }, + { + "no": 2198, + "code": "1F51D", + "char": "🔝", + "name": "TOP arrow" + }, + { + "no": 2199, + "code": "1F6D0", + "char": "🛐", + "name": "place of worship" + }, + { + "no": 2200, + "code": "269B", + "char": "⚛", + "name": "atom symbol" + }, + { + "no": 2201, + "code": "1F549", + "char": "🕉", + "name": "om" + }, + { + "no": 2202, + "code": "2721", + "char": "✡", + "name": "star of David" + }, + { + "no": 2203, + "code": "2638", + "char": "☸", + "name": "wheel of dharma" + }, + { + "no": 2204, + "code": "262F", + "char": "☯", + "name": "yin yang" + }, + { + "no": 2205, + "code": "271D", + "char": "✝", + "name": "latin cross" + }, + { + "no": 2206, + "code": "2626", + "char": "☦", + "name": "orthodox cross" + }, + { + "no": 2207, + "code": "262A", + "char": "☪", + "name": "star and crescent" + }, + { + "no": 2208, + "code": "262E", + "char": "☮", + "name": "peace symbol" + }, + { + "no": 2209, + "code": "1F54E", + "char": "🕎", + "name": "menorah" + }, + { + "no": 2210, + "code": "1F52F", + "char": "🔯", + "name": "dotted six-pointed star" + }, + { + "no": 2211, + "code": "2648", + "char": "♈", + "name": "Aries" + }, + { + "no": 2212, + "code": "2649", + "char": "♉", + "name": "Taurus" + }, + { + "no": 2213, + "code": "264A", + "char": "♊", + "name": "Gemini" + }, + { + "no": 2214, + "code": "264B", + "char": "♋", + "name": "Cancer" + }, + { + "no": 2215, + "code": "264C", + "char": "♌", + "name": "Leo" + }, + { + "no": 2216, + "code": "264D", + "char": "♍", + "name": "Virgo" + }, + { + "no": 2217, + "code": "264E", + "char": "♎", + "name": "Libra" + }, + { + "no": 2218, + "code": "264F", + "char": "♏", + "name": "Scorpius" + }, + { + "no": 2219, + "code": "2650", + "char": "♐", + "name": "Sagittarius" + }, + { + "no": 2220, + "code": "2651", + "char": "♑", + "name": "Capricorn" + }, + { + "no": 2221, + "code": "2652", + "char": "♒", + "name": "Aquarius" + }, + { + "no": 2222, + "code": "2653", + "char": "♓", + "name": "Pisces" + }, + { + "no": 2223, + "code": "26CE", + "char": "⛎", + "name": "Ophiuchus" + }, + { + "no": 2224, + "code": "1F500", + "char": "🔀", + "name": "shuffle tracks button" + }, + { + "no": 2225, + "code": "1F501", + "char": "🔁", + "name": "repeat button" + }, + { + "no": 2226, + "code": "1F502", + "char": "🔂", + "name": "repeat single button" + }, + { + "no": 2227, + "code": "25B6", + "char": "▶", + "name": "play button" + }, + { + "no": 2228, + "code": "23E9", + "char": "⏩", + "name": "fast-forward button" + }, + { + "no": 2229, + "code": "23ED", + "char": "⏭", + "name": "next track button" + }, + { + "no": 2230, + "code": "23EF", + "char": "⏯", + "name": "play or pause button" + }, + { + "no": 2231, + "code": "25C0", + "char": "◀", + "name": "reverse button" + }, + { + "no": 2232, + "code": "23EA", + "char": "⏪", + "name": "fast reverse button" + }, + { + "no": 2233, + "code": "23EE", + "char": "⏮", + "name": "last track button" + }, + { + "no": 2234, + "code": "1F53C", + "char": "🔼", + "name": "up button" + }, + { + "no": 2235, + "code": "23EB", + "char": "⏫", + "name": "fast up button" + }, + { + "no": 2236, + "code": "1F53D", + "char": "🔽", + "name": "down button" + }, + { + "no": 2237, + "code": "23EC", + "char": "⏬", + "name": "fast down button" + }, + { + "no": 2238, + "code": "23F8", + "char": "⏸", + "name": "pause button" + }, + { + "no": 2239, + "code": "23F9", + "char": "⏹", + "name": "stop button" + }, + { + "no": 2240, + "code": "23FA", + "char": "⏺", + "name": "record button" + }, + { + "no": 2241, + "code": "23CF", + "char": "⏏", + "name": "eject button" + }, + { + "no": 2242, + "code": "1F3A6", + "char": "🎦", + "name": "cinema" + }, + { + "no": 2243, + "code": "1F505", + "char": "🔅", + "name": "dim button" + }, + { + "no": 2244, + "code": "1F506", + "char": "🔆", + "name": "bright button" + }, + { + "no": 2245, + "code": "1F4F6", + "char": "📶", + "name": "antenna bars" + }, + { + "no": 2246, + "code": "1F4F3", + "char": "📳", + "name": "vibration mode" + }, + { + "no": 2247, + "code": "1F4F4", + "char": "📴", + "name": "mobile phone off" + }, + { + "no": 2248, + "code": "2640", + "char": "♀", + "name": "female sign" + }, + { + "no": 2249, + "code": "2642", + "char": "♂", + "name": "male sign" + }, + { + "no": 2250, + "code": "2695", + "char": "⚕", + "name": "medical symbol" + }, + { + "no": 2251, + "code": "267B", + "char": "♻", + "name": "recycling symbol" + }, + { + "no": 2252, + "code": "269C", + "char": "⚜", + "name": "fleur-de-lis" + }, + { + "no": 2253, + "code": "1F531", + "char": "🔱", + "name": "trident emblem" + }, + { + "no": 2254, + "code": "1F4DB", + "char": "📛", + "name": "name badge" + }, + { + "no": 2255, + "code": "1F530", + "char": "🔰", + "name": "Japanese symbol for beginner" + }, + { + "no": 2256, + "code": "2B55", + "char": "⭕", + "name": "heavy large circle" + }, + { + "no": 2257, + "code": "2705", + "char": "✅", + "name": "white heavy check mark" + }, + { + "no": 2258, + "code": "2611", + "char": "☑", + "name": "ballot box with check" + }, + { + "no": 2259, + "code": "2714", + "char": "✔", + "name": "heavy check mark" + }, + { + "no": 2260, + "code": "2716", + "char": "✖", + "name": "heavy multiplication x" + }, + { + "no": 2261, + "code": "274C", + "char": "❌", + "name": "cross mark" + }, + { + "no": 2262, + "code": "274E", + "char": "❎", + "name": "cross mark button" + }, + { + "no": 2263, + "code": "2795", + "char": "➕", + "name": "heavy plus sign" + }, + { + "no": 2264, + "code": "2796", + "char": "➖", + "name": "heavy minus sign" + }, + { + "no": 2265, + "code": "2797", + "char": "➗", + "name": "heavy division sign" + }, + { + "no": 2266, + "code": "27B0", + "char": "➰", + "name": "curly loop" + }, + { + "no": 2267, + "code": "27BF", + "char": "➿", + "name": "double curly loop" + }, + { + "no": 2268, + "code": "303D", + "char": "〽", + "name": "part alternation mark" + }, + { + "no": 2269, + "code": "2733", + "char": "✳", + "name": "eight-spoked asterisk" + }, + { + "no": 2270, + "code": "2734", + "char": "✴", + "name": "eight-pointed star" + }, + { + "no": 2271, + "code": "2747", + "char": "❇", + "name": "sparkle" + }, + { + "no": 2272, + "code": "203C", + "char": "‼", + "name": "double exclamation mark" + }, + { + "no": 2273, + "code": "2049", + "char": "⁉", + "name": "exclamation question mark" + }, + { + "no": 2274, + "code": "2753", + "char": "❓", + "name": "question mark" + }, + { + "no": 2275, + "code": "2754", + "char": "❔", + "name": "white question mark" + }, + { + "no": 2276, + "code": "2755", + "char": "❕", + "name": "white exclamation mark" + }, + { + "no": 2277, + "code": "2757", + "char": "❗", + "name": "exclamation mark" + }, + { + "no": 2278, + "code": "3030", + "char": "〰", + "name": "wavy dash" + }, + { + "no": 2279, + "code": "00A9", + "char": "©", + "name": "copyright" + }, + { + "no": 2280, + "code": "00AE", + "char": "®", + "name": "registered" + }, + { + "no": 2281, + "code": "2122", + "char": "™", + "name": "trade mark" + }, + { + "no": 2282, + "code": "0023 FE0F 20E3", + "char": "#️⃣", + "name": "keycap: #" + }, + { + "no": 2283, + "code": "002A FE0F 20E3", + "char": "*️⃣", + "name": "keycap: *" + }, + { + "no": 2284, + "code": "0030 FE0F 20E3", + "char": "0️⃣", + "name": "keycap: 0" + }, + { + "no": 2285, + "code": "0031 FE0F 20E3", + "char": "1️⃣", + "name": "keycap: 1" + }, + { + "no": 2286, + "code": "0032 FE0F 20E3", + "char": "2️⃣", + "name": "keycap: 2" + }, + { + "no": 2287, + "code": "0033 FE0F 20E3", + "char": "3️⃣", + "name": "keycap: 3" + }, + { + "no": 2288, + "code": "0034 FE0F 20E3", + "char": "4️⃣", + "name": "keycap: 4" + }, + { + "no": 2289, + "code": "0035 FE0F 20E3", + "char": "5️⃣", + "name": "keycap: 5" + }, + { + "no": 2290, + "code": "0036 FE0F 20E3", + "char": "6️⃣", + "name": "keycap: 6" + }, + { + "no": 2291, + "code": "0037 FE0F 20E3", + "char": "7️⃣", + "name": "keycap: 7" + }, + { + "no": 2292, + "code": "0038 FE0F 20E3", + "char": "8️⃣", + "name": "keycap: 8" + }, + { + "no": 2293, + "code": "0039 FE0F 20E3", + "char": "9️⃣", + "name": "keycap: 9" + }, + { + "no": 2294, + "code": "1F51F", + "char": "🔟", + "name": "keycap 10" + }, + { + "no": 2295, + "code": "1F4AF", + "char": "💯", + "name": "hundred points" + }, + { + "no": 2296, + "code": "1F520", + "char": "🔠", + "name": "input latin uppercase" + }, + { + "no": 2297, + "code": "1F521", + "char": "🔡", + "name": "input latin lowercase" + }, + { + "no": 2298, + "code": "1F522", + "char": "🔢", + "name": "input numbers" + }, + { + "no": 2299, + "code": "1F523", + "char": "🔣", + "name": "input symbols" + }, + { + "no": 2300, + "code": "1F524", + "char": "🔤", + "name": "input latin letters" + }, + { + "no": 2301, + "code": "1F170", + "char": "🅰", + "name": "A button (blood type)" + }, + { + "no": 2302, + "code": "1F18E", + "char": "🆎", + "name": "AB button (blood type)" + }, + { + "no": 2303, + "code": "1F171", + "char": "🅱", + "name": "B button (blood type)" + }, + { + "no": 2304, + "code": "1F191", + "char": "🆑", + "name": "CL button" + }, + { + "no": 2305, + "code": "1F192", + "char": "🆒", + "name": "COOL button" + }, + { + "no": 2306, + "code": "1F193", + "char": "🆓", + "name": "FREE button" + }, + { + "no": 2307, + "code": "2139", + "char": "ℹ", + "name": "information" + }, + { + "no": 2308, + "code": "1F194", + "char": "🆔", + "name": "ID button" + }, + { + "no": 2309, + "code": "24C2", + "char": "Ⓜ", + "name": "circled M" + }, + { + "no": 2310, + "code": "1F195", + "char": "🆕", + "name": "NEW button" + }, + { + "no": 2311, + "code": "1F196", + "char": "🆖", + "name": "NG button" + }, + { + "no": 2312, + "code": "1F17E", + "char": "🅾", + "name": "O button (blood type)" + }, + { + "no": 2313, + "code": "1F197", + "char": "🆗", + "name": "OK button" + }, + { + "no": 2314, + "code": "1F17F", + "char": "🅿", + "name": "P button" + }, + { + "no": 2315, + "code": "1F198", + "char": "🆘", + "name": "SOS button" + }, + { + "no": 2316, + "code": "1F199", + "char": "🆙", + "name": "UP! button" + }, + { + "no": 2317, + "code": "1F19A", + "char": "🆚", + "name": "VS button" + }, + { + "no": 2318, + "code": "1F201", + "char": "🈁", + "name": "Japanese “here” button" + }, + { + "no": 2319, + "code": "1F202", + "char": "🈂", + "name": "Japanese “service charge” button" + }, + { + "no": 2320, + "code": "1F237", + "char": "🈷", + "name": "Japanese “monthly amount” button" + }, + { + "no": 2321, + "code": "1F236", + "char": "🈶", + "name": "Japanese “not free of charge” button" + }, + { + "no": 2322, + "code": "1F22F", + "char": "🈯", + "name": "Japanese “reserved” button" + }, + { + "no": 2323, + "code": "1F250", + "char": "🉐", + "name": "Japanese “bargain” button" + }, + { + "no": 2324, + "code": "1F239", + "char": "🈹", + "name": "Japanese “discount” button" + }, + { + "no": 2325, + "code": "1F21A", + "char": "🈚", + "name": "Japanese “free of charge” button" + }, + { + "no": 2326, + "code": "1F232", + "char": "🈲", + "name": "Japanese “prohibited” button" + }, + { + "no": 2327, + "code": "1F251", + "char": "🉑", + "name": "Japanese “acceptable” button" + }, + { + "no": 2328, + "code": "1F238", + "char": "🈸", + "name": "Japanese “application” button" + }, + { + "no": 2329, + "code": "1F234", + "char": "🈴", + "name": "Japanese “passing grade” button" + }, + { + "no": 2330, + "code": "1F233", + "char": "🈳", + "name": "Japanese “vacancy” button" + }, + { + "no": 2331, + "code": "3297", + "char": "㊗", + "name": "Japanese “congratulations” button" + }, + { + "no": 2332, + "code": "3299", + "char": "㊙", + "name": "Japanese “secret” button" + }, + { + "no": 2333, + "code": "1F23A", + "char": "🈺", + "name": "Japanese “open for business” button" + }, + { + "no": 2334, + "code": "1F235", + "char": "🈵", + "name": "Japanese “no vacancy” button" + }, + { + "no": 2335, + "code": "25AA", + "char": "▪", + "name": "black small square" + }, + { + "no": 2336, + "code": "25AB", + "char": "▫", + "name": "white small square" + }, + { + "no": 2337, + "code": "25FB", + "char": "◻", + "name": "white medium square" + }, + { + "no": 2338, + "code": "25FC", + "char": "◼", + "name": "black medium square" + }, + { + "no": 2339, + "code": "25FD", + "char": "◽", + "name": "white medium-small square" + }, + { + "no": 2340, + "code": "25FE", + "char": "◾", + "name": "black medium-small square" + }, + { + "no": 2341, + "code": "2B1B", + "char": "⬛", + "name": "black large square" + }, + { + "no": 2342, + "code": "2B1C", + "char": "⬜", + "name": "white large square" + }, + { + "no": 2343, + "code": "1F536", + "char": "🔶", + "name": "large orange diamond" + }, + { + "no": 2344, + "code": "1F537", + "char": "🔷", + "name": "large blue diamond" + }, + { + "no": 2345, + "code": "1F538", + "char": "🔸", + "name": "small orange diamond" + }, + { + "no": 2346, + "code": "1F539", + "char": "🔹", + "name": "small blue diamond" + }, + { + "no": 2347, + "code": "1F53A", + "char": "🔺", + "name": "red triangle pointed up" + }, + { + "no": 2348, + "code": "1F53B", + "char": "🔻", + "name": "red triangle pointed down" + }, + { + "no": 2349, + "code": "1F4A0", + "char": "💠", + "name": "diamond with a dot" + }, + { + "no": 2350, + "code": "1F518", + "char": "🔘", + "name": "radio button" + }, + { + "no": 2351, + "code": "1F532", + "char": "🔲", + "name": "black square button" + }, + { + "no": 2352, + "code": "1F533", + "char": "🔳", + "name": "white square button" + }, + { + "no": 2353, + "code": "26AA", + "char": "⚪", + "name": "white circle" + }, + { + "no": 2354, + "code": "26AB", + "char": "⚫", + "name": "black circle" + }, + { + "no": 2355, + "code": "1F534", + "char": "🔴", + "name": "red circle" + }, + { + "no": 2356, + "code": "1F535", + "char": "🔵", + "name": "blue circle" + }, + { + "no": 2357, + "code": "1F3C1", + "char": "🏁", + "name": "chequered flag" + }, + { + "no": 2358, + "code": "1F6A9", + "char": "🚩", + "name": "triangular flag" + }, + { + "no": 2359, + "code": "1F38C", + "char": "🎌", + "name": "crossed flags" + }, + { + "no": 2360, + "code": "1F3F4", + "char": "🏴", + "name": "black flag" + }, + { + "no": 2361, + "code": "1F3F3", + "char": "🏳", + "name": "white flag" + }, + { + "no": 2362, + "code": "1F3F3 FE0F 200D 1F308", + "char": "🏳️‍🌈", + "name": "rainbow flag" + }, + { + "no": 2363, + "code": "1F1E6 1F1E8", + "char": "🇦🇨", + "name": "Ascension Island" + }, + { + "no": 2364, + "code": "1F1E6 1F1E9", + "char": "🇦🇩", + "name": "Andorra" + }, + { + "no": 2365, + "code": "1F1E6 1F1EA", + "char": "🇦🇪", + "name": "United Arab Emirates" + }, + { + "no": 2366, + "code": "1F1E6 1F1EB", + "char": "🇦🇫", + "name": "Afghanistan" + }, + { + "no": 2367, + "code": "1F1E6 1F1EC", + "char": "🇦🇬", + "name": "Antigua & Barbuda" + }, + { + "no": 2368, + "code": "1F1E6 1F1EE", + "char": "🇦🇮", + "name": "Anguilla" + }, + { + "no": 2369, + "code": "1F1E6 1F1F1", + "char": "🇦🇱", + "name": "Albania" + }, + { + "no": 2370, + "code": "1F1E6 1F1F2", + "char": "🇦🇲", + "name": "Armenia" + }, + { + "no": 2371, + "code": "1F1E6 1F1F4", + "char": "🇦🇴", + "name": "Angola" + }, + { + "no": 2372, + "code": "1F1E6 1F1F6", + "char": "🇦🇶", + "name": "Antarctica" + }, + { + "no": 2373, + "code": "1F1E6 1F1F7", + "char": "🇦🇷", + "name": "Argentina" + }, + { + "no": 2374, + "code": "1F1E6 1F1F8", + "char": "🇦🇸", + "name": "American Samoa" + }, + { + "no": 2375, + "code": "1F1E6 1F1F9", + "char": "🇦🇹", + "name": "Austria" + }, + { + "no": 2376, + "code": "1F1E6 1F1FA", + "char": "🇦🇺", + "name": "Australia" + }, + { + "no": 2377, + "code": "1F1E6 1F1FC", + "char": "🇦🇼", + "name": "Aruba" + }, + { + "no": 2378, + "code": "1F1E6 1F1FD", + "char": "🇦🇽", + "name": "Åland Islands" + }, + { + "no": 2379, + "code": "1F1E6 1F1FF", + "char": "🇦🇿", + "name": "Azerbaijan" + }, + { + "no": 2380, + "code": "1F1E7 1F1E6", + "char": "🇧🇦", + "name": "Bosnia & Herzegovina" + }, + { + "no": 2381, + "code": "1F1E7 1F1E7", + "char": "🇧🇧", + "name": "Barbados" + }, + { + "no": 2382, + "code": "1F1E7 1F1E9", + "char": "🇧🇩", + "name": "Bangladesh" + }, + { + "no": 2383, + "code": "1F1E7 1F1EA", + "char": "🇧🇪", + "name": "Belgium" + }, + { + "no": 2384, + "code": "1F1E7 1F1EB", + "char": "🇧🇫", + "name": "Burkina Faso" + }, + { + "no": 2385, + "code": "1F1E7 1F1EC", + "char": "🇧🇬", + "name": "Bulgaria" + }, + { + "no": 2386, + "code": "1F1E7 1F1ED", + "char": "🇧🇭", + "name": "Bahrain" + }, + { + "no": 2387, + "code": "1F1E7 1F1EE", + "char": "🇧🇮", + "name": "Burundi" + }, + { + "no": 2388, + "code": "1F1E7 1F1EF", + "char": "🇧🇯", + "name": "Benin" + }, + { + "no": 2389, + "code": "1F1E7 1F1F1", + "char": "🇧🇱", + "name": "St. Barthélemy" + }, + { + "no": 2390, + "code": "1F1E7 1F1F2", + "char": "🇧🇲", + "name": "Bermuda" + }, + { + "no": 2391, + "code": "1F1E7 1F1F3", + "char": "🇧🇳", + "name": "Brunei" + }, + { + "no": 2392, + "code": "1F1E7 1F1F4", + "char": "🇧🇴", + "name": "Bolivia" + }, + { + "no": 2393, + "code": "1F1E7 1F1F6", + "char": "🇧🇶", + "name": "Caribbean Netherlands" + }, + { + "no": 2394, + "code": "1F1E7 1F1F7", + "char": "🇧🇷", + "name": "Brazil" + }, + { + "no": 2395, + "code": "1F1E7 1F1F8", + "char": "🇧🇸", + "name": "Bahamas" + }, + { + "no": 2396, + "code": "1F1E7 1F1F9", + "char": "🇧🇹", + "name": "Bhutan" + }, + { + "no": 2397, + "code": "1F1E7 1F1FB", + "char": "🇧🇻", + "name": "Bouvet Island" + }, + { + "no": 2398, + "code": "1F1E7 1F1FC", + "char": "🇧🇼", + "name": "Botswana" + }, + { + "no": 2399, + "code": "1F1E7 1F1FE", + "char": "🇧🇾", + "name": "Belarus" + }, + { + "no": 2400, + "code": "1F1E7 1F1FF", + "char": "🇧🇿", + "name": "Belize" + }, + { + "no": 2401, + "code": "1F1E8 1F1E6", + "char": "🇨🇦", + "name": "Canada" + }, + { + "no": 2402, + "code": "1F1E8 1F1E8", + "char": "🇨🇨", + "name": "Cocos (Keeling) Islands" + }, + { + "no": 2403, + "code": "1F1E8 1F1E9", + "char": "🇨🇩", + "name": "Congo - Kinshasa" + }, + { + "no": 2404, + "code": "1F1E8 1F1EB", + "char": "🇨🇫", + "name": "Central African Republic" + }, + { + "no": 2405, + "code": "1F1E8 1F1EC", + "char": "🇨🇬", + "name": "Congo - Brazzaville" + }, + { + "no": 2406, + "code": "1F1E8 1F1ED", + "char": "🇨🇭", + "name": "Switzerland" + }, + { + "no": 2407, + "code": "1F1E8 1F1EE", + "char": "🇨🇮", + "name": "Côte d’Ivoire" + }, + { + "no": 2408, + "code": "1F1E8 1F1F0", + "char": "🇨🇰", + "name": "Cook Islands" + }, + { + "no": 2409, + "code": "1F1E8 1F1F1", + "char": "🇨🇱", + "name": "Chile" + }, + { + "no": 2410, + "code": "1F1E8 1F1F2", + "char": "🇨🇲", + "name": "Cameroon" + }, + { + "no": 2411, + "code": "1F1E8 1F1F3", + "char": "🇨🇳", + "name": "China" + }, + { + "no": 2412, + "code": "1F1E8 1F1F4", + "char": "🇨🇴", + "name": "Colombia" + }, + { + "no": 2413, + "code": "1F1E8 1F1F5", + "char": "🇨🇵", + "name": "Clipperton Island" + }, + { + "no": 2414, + "code": "1F1E8 1F1F7", + "char": "🇨🇷", + "name": "Costa Rica" + }, + { + "no": 2415, + "code": "1F1E8 1F1FA", + "char": "🇨🇺", + "name": "Cuba" + }, + { + "no": 2416, + "code": "1F1E8 1F1FB", + "char": "🇨🇻", + "name": "Cape Verde" + }, + { + "no": 2417, + "code": "1F1E8 1F1FC", + "char": "🇨🇼", + "name": "Curaçao" + }, + { + "no": 2418, + "code": "1F1E8 1F1FD", + "char": "🇨🇽", + "name": "Christmas Island" + }, + { + "no": 2419, + "code": "1F1E8 1F1FE", + "char": "🇨🇾", + "name": "Cyprus" + }, + { + "no": 2420, + "code": "1F1E8 1F1FF", + "char": "🇨🇿", + "name": "Czechia" + }, + { + "no": 2421, + "code": "1F1E9 1F1EA", + "char": "🇩🇪", + "name": "Germany" + }, + { + "no": 2422, + "code": "1F1E9 1F1EC", + "char": "🇩🇬", + "name": "Diego Garcia" + }, + { + "no": 2423, + "code": "1F1E9 1F1EF", + "char": "🇩🇯", + "name": "Djibouti" + }, + { + "no": 2424, + "code": "1F1E9 1F1F0", + "char": "🇩🇰", + "name": "Denmark" + }, + { + "no": 2425, + "code": "1F1E9 1F1F2", + "char": "🇩🇲", + "name": "Dominica" + }, + { + "no": 2426, + "code": "1F1E9 1F1F4", + "char": "🇩🇴", + "name": "Dominican Republic" + }, + { + "no": 2427, + "code": "1F1E9 1F1FF", + "char": "🇩🇿", + "name": "Algeria" + }, + { + "no": 2428, + "code": "1F1EA 1F1E6", + "char": "🇪🇦", + "name": "Ceuta & Melilla" + }, + { + "no": 2429, + "code": "1F1EA 1F1E8", + "char": "🇪🇨", + "name": "Ecuador" + }, + { + "no": 2430, + "code": "1F1EA 1F1EA", + "char": "🇪🇪", + "name": "Estonia" + }, + { + "no": 2431, + "code": "1F1EA 1F1EC", + "char": "🇪🇬", + "name": "Egypt" + }, + { + "no": 2432, + "code": "1F1EA 1F1ED", + "char": "🇪🇭", + "name": "Western Sahara" + }, + { + "no": 2433, + "code": "1F1EA 1F1F7", + "char": "🇪🇷", + "name": "Eritrea" + }, + { + "no": 2434, + "code": "1F1EA 1F1F8", + "char": "🇪🇸", + "name": "Spain" + }, + { + "no": 2435, + "code": "1F1EA 1F1F9", + "char": "🇪🇹", + "name": "Ethiopia" + }, + { + "no": 2436, + "code": "1F1EA 1F1FA", + "char": "🇪🇺", + "name": "European Union" + }, + { + "no": 2437, + "code": "1F1EB 1F1EE", + "char": "🇫🇮", + "name": "Finland" + }, + { + "no": 2438, + "code": "1F1EB 1F1EF", + "char": "🇫🇯", + "name": "Fiji" + }, + { + "no": 2439, + "code": "1F1EB 1F1F0", + "char": "🇫🇰", + "name": "Falkland Islands" + }, + { + "no": 2440, + "code": "1F1EB 1F1F2", + "char": "🇫🇲", + "name": "Micronesia" + }, + { + "no": 2441, + "code": "1F1EB 1F1F4", + "char": "🇫🇴", + "name": "Faroe Islands" + }, + { + "no": 2442, + "code": "1F1EB 1F1F7", + "char": "🇫🇷", + "name": "France" + }, + { + "no": 2443, + "code": "1F1EC 1F1E6", + "char": "🇬🇦", + "name": "Gabon" + }, + { + "no": 2444, + "code": "1F1EC 1F1E7", + "char": "🇬🇧", + "name": "United Kingdom" + }, + { + "no": 2445, + "code": "1F1EC 1F1E9", + "char": "🇬🇩", + "name": "Grenada" + }, + { + "no": 2446, + "code": "1F1EC 1F1EA", + "char": "🇬🇪", + "name": "Georgia" + }, + { + "no": 2447, + "code": "1F1EC 1F1EB", + "char": "🇬🇫", + "name": "French Guiana" + }, + { + "no": 2448, + "code": "1F1EC 1F1EC", + "char": "🇬🇬", + "name": "Guernsey" + }, + { + "no": 2449, + "code": "1F1EC 1F1ED", + "char": "🇬🇭", + "name": "Ghana" + }, + { + "no": 2450, + "code": "1F1EC 1F1EE", + "char": "🇬🇮", + "name": "Gibraltar" + }, + { + "no": 2451, + "code": "1F1EC 1F1F1", + "char": "🇬🇱", + "name": "Greenland" + }, + { + "no": 2452, + "code": "1F1EC 1F1F2", + "char": "🇬🇲", + "name": "Gambia" + }, + { + "no": 2453, + "code": "1F1EC 1F1F3", + "char": "🇬🇳", + "name": "Guinea" + }, + { + "no": 2454, + "code": "1F1EC 1F1F5", + "char": "🇬🇵", + "name": "Guadeloupe" + }, + { + "no": 2455, + "code": "1F1EC 1F1F6", + "char": "🇬🇶", + "name": "Equatorial Guinea" + }, + { + "no": 2456, + "code": "1F1EC 1F1F7", + "char": "🇬🇷", + "name": "Greece" + }, + { + "no": 2457, + "code": "1F1EC 1F1F8", + "char": "🇬🇸", + "name": "South Georgia & South Sandwich Islands" + }, + { + "no": 2458, + "code": "1F1EC 1F1F9", + "char": "🇬🇹", + "name": "Guatemala" + }, + { + "no": 2459, + "code": "1F1EC 1F1FA", + "char": "🇬🇺", + "name": "Guam" + }, + { + "no": 2460, + "code": "1F1EC 1F1FC", + "char": "🇬🇼", + "name": "Guinea-Bissau" + }, + { + "no": 2461, + "code": "1F1EC 1F1FE", + "char": "🇬🇾", + "name": "Guyana" + }, + { + "no": 2462, + "code": "1F1ED 1F1F0", + "char": "🇭🇰", + "name": "Hong Kong SAR China" + }, + { + "no": 2463, + "code": "1F1ED 1F1F2", + "char": "🇭🇲", + "name": "Heard & McDonald Islands" + }, + { + "no": 2464, + "code": "1F1ED 1F1F3", + "char": "🇭🇳", + "name": "Honduras" + }, + { + "no": 2465, + "code": "1F1ED 1F1F7", + "char": "🇭🇷", + "name": "Croatia" + }, + { + "no": 2466, + "code": "1F1ED 1F1F9", + "char": "🇭🇹", + "name": "Haiti" + }, + { + "no": 2467, + "code": "1F1ED 1F1FA", + "char": "🇭🇺", + "name": "Hungary" + }, + { + "no": 2468, + "code": "1F1EE 1F1E8", + "char": "🇮🇨", + "name": "Canary Islands" + }, + { + "no": 2469, + "code": "1F1EE 1F1E9", + "char": "🇮🇩", + "name": "Indonesia" + }, + { + "no": 2470, + "code": "1F1EE 1F1EA", + "char": "🇮🇪", + "name": "Ireland" + }, + { + "no": 2471, + "code": "1F1EE 1F1F1", + "char": "🇮🇱", + "name": "Israel" + }, + { + "no": 2472, + "code": "1F1EE 1F1F2", + "char": "🇮🇲", + "name": "Isle of Man" + }, + { + "no": 2473, + "code": "1F1EE 1F1F3", + "char": "🇮🇳", + "name": "India" + }, + { + "no": 2474, + "code": "1F1EE 1F1F4", + "char": "🇮🇴", + "name": "British Indian Ocean Territory" + }, + { + "no": 2475, + "code": "1F1EE 1F1F6", + "char": "🇮🇶", + "name": "Iraq" + }, + { + "no": 2476, + "code": "1F1EE 1F1F7", + "char": "🇮🇷", + "name": "Iran" + }, + { + "no": 2477, + "code": "1F1EE 1F1F8", + "char": "🇮🇸", + "name": "Iceland" + }, + { + "no": 2478, + "code": "1F1EE 1F1F9", + "char": "🇮🇹", + "name": "Italy" + }, + { + "no": 2479, + "code": "1F1EF 1F1EA", + "char": "🇯🇪", + "name": "Jersey" + }, + { + "no": 2480, + "code": "1F1EF 1F1F2", + "char": "🇯🇲", + "name": "Jamaica" + }, + { + "no": 2481, + "code": "1F1EF 1F1F4", + "char": "🇯🇴", + "name": "Jordan" + }, + { + "no": 2482, + "code": "1F1EF 1F1F5", + "char": "🇯🇵", + "name": "Japan" + }, + { + "no": 2483, + "code": "1F1F0 1F1EA", + "char": "🇰🇪", + "name": "Kenya" + }, + { + "no": 2484, + "code": "1F1F0 1F1EC", + "char": "🇰🇬", + "name": "Kyrgyzstan" + }, + { + "no": 2485, + "code": "1F1F0 1F1ED", + "char": "🇰🇭", + "name": "Cambodia" + }, + { + "no": 2486, + "code": "1F1F0 1F1EE", + "char": "🇰🇮", + "name": "Kiribati" + }, + { + "no": 2487, + "code": "1F1F0 1F1F2", + "char": "🇰🇲", + "name": "Comoros" + }, + { + "no": 2488, + "code": "1F1F0 1F1F3", + "char": "🇰🇳", + "name": "St. Kitts & Nevis" + }, + { + "no": 2489, + "code": "1F1F0 1F1F5", + "char": "🇰🇵", + "name": "North Korea" + }, + { + "no": 2490, + "code": "1F1F0 1F1F7", + "char": "🇰🇷", + "name": "South Korea" + }, + { + "no": 2491, + "code": "1F1F0 1F1FC", + "char": "🇰🇼", + "name": "Kuwait" + }, + { + "no": 2492, + "code": "1F1F0 1F1FE", + "char": "🇰🇾", + "name": "Cayman Islands" + }, + { + "no": 2493, + "code": "1F1F0 1F1FF", + "char": "🇰🇿", + "name": "Kazakhstan" + }, + { + "no": 2494, + "code": "1F1F1 1F1E6", + "char": "🇱🇦", + "name": "Laos" + }, + { + "no": 2495, + "code": "1F1F1 1F1E7", + "char": "🇱🇧", + "name": "Lebanon" + }, + { + "no": 2496, + "code": "1F1F1 1F1E8", + "char": "🇱🇨", + "name": "St. Lucia" + }, + { + "no": 2497, + "code": "1F1F1 1F1EE", + "char": "🇱🇮", + "name": "Liechtenstein" + }, + { + "no": 2498, + "code": "1F1F1 1F1F0", + "char": "🇱🇰", + "name": "Sri Lanka" + }, + { + "no": 2499, + "code": "1F1F1 1F1F7", + "char": "🇱🇷", + "name": "Liberia" + }, + { + "no": 2500, + "code": "1F1F1 1F1F8", + "char": "🇱🇸", + "name": "Lesotho" + }, + { + "no": 2501, + "code": "1F1F1 1F1F9", + "char": "🇱🇹", + "name": "Lithuania" + }, + { + "no": 2502, + "code": "1F1F1 1F1FA", + "char": "🇱🇺", + "name": "Luxembourg" + }, + { + "no": 2503, + "code": "1F1F1 1F1FB", + "char": "🇱🇻", + "name": "Latvia" + }, + { + "no": 2504, + "code": "1F1F1 1F1FE", + "char": "🇱🇾", + "name": "Libya" + }, + { + "no": 2505, + "code": "1F1F2 1F1E6", + "char": "🇲🇦", + "name": "Morocco" + }, + { + "no": 2506, + "code": "1F1F2 1F1E8", + "char": "🇲🇨", + "name": "Monaco" + }, + { + "no": 2507, + "code": "1F1F2 1F1E9", + "char": "🇲🇩", + "name": "Moldova" + }, + { + "no": 2508, + "code": "1F1F2 1F1EA", + "char": "🇲🇪", + "name": "Montenegro" + }, + { + "no": 2509, + "code": "1F1F2 1F1EB", + "char": "🇲🇫", + "name": "St. Martin" + }, + { + "no": 2510, + "code": "1F1F2 1F1EC", + "char": "🇲🇬", + "name": "Madagascar" + }, + { + "no": 2511, + "code": "1F1F2 1F1ED", + "char": "🇲🇭", + "name": "Marshall Islands" + }, + { + "no": 2512, + "code": "1F1F2 1F1F0", + "char": "🇲🇰", + "name": "Macedonia" + }, + { + "no": 2513, + "code": "1F1F2 1F1F1", + "char": "🇲🇱", + "name": "Mali" + }, + { + "no": 2514, + "code": "1F1F2 1F1F2", + "char": "🇲🇲", + "name": "Myanmar (Burma)" + }, + { + "no": 2515, + "code": "1F1F2 1F1F3", + "char": "🇲🇳", + "name": "Mongolia" + }, + { + "no": 2516, + "code": "1F1F2 1F1F4", + "char": "🇲🇴", + "name": "Macau SAR China" + }, + { + "no": 2517, + "code": "1F1F2 1F1F5", + "char": "🇲🇵", + "name": "Northern Mariana Islands" + }, + { + "no": 2518, + "code": "1F1F2 1F1F6", + "char": "🇲🇶", + "name": "Martinique" + }, + { + "no": 2519, + "code": "1F1F2 1F1F7", + "char": "🇲🇷", + "name": "Mauritania" + }, + { + "no": 2520, + "code": "1F1F2 1F1F8", + "char": "🇲🇸", + "name": "Montserrat" + }, + { + "no": 2521, + "code": "1F1F2 1F1F9", + "char": "🇲🇹", + "name": "Malta" + }, + { + "no": 2522, + "code": "1F1F2 1F1FA", + "char": "🇲🇺", + "name": "Mauritius" + }, + { + "no": 2523, + "code": "1F1F2 1F1FB", + "char": "🇲🇻", + "name": "Maldives" + }, + { + "no": 2524, + "code": "1F1F2 1F1FC", + "char": "🇲🇼", + "name": "Malawi" + }, + { + "no": 2525, + "code": "1F1F2 1F1FD", + "char": "🇲🇽", + "name": "Mexico" + }, + { + "no": 2526, + "code": "1F1F2 1F1FE", + "char": "🇲🇾", + "name": "Malaysia" + }, + { + "no": 2527, + "code": "1F1F2 1F1FF", + "char": "🇲🇿", + "name": "Mozambique" + }, + { + "no": 2528, + "code": "1F1F3 1F1E6", + "char": "🇳🇦", + "name": "Namibia" + }, + { + "no": 2529, + "code": "1F1F3 1F1E8", + "char": "🇳🇨", + "name": "New Caledonia" + }, + { + "no": 2530, + "code": "1F1F3 1F1EA", + "char": "🇳🇪", + "name": "Niger" + }, + { + "no": 2531, + "code": "1F1F3 1F1EB", + "char": "🇳🇫", + "name": "Norfolk Island" + }, + { + "no": 2532, + "code": "1F1F3 1F1EC", + "char": "🇳🇬", + "name": "Nigeria" + }, + { + "no": 2533, + "code": "1F1F3 1F1EE", + "char": "🇳🇮", + "name": "Nicaragua" + }, + { + "no": 2534, + "code": "1F1F3 1F1F1", + "char": "🇳🇱", + "name": "Netherlands" + }, + { + "no": 2535, + "code": "1F1F3 1F1F4", + "char": "🇳🇴", + "name": "Norway" + }, + { + "no": 2536, + "code": "1F1F3 1F1F5", + "char": "🇳🇵", + "name": "Nepal" + }, + { + "no": 2537, + "code": "1F1F3 1F1F7", + "char": "🇳🇷", + "name": "Nauru" + }, + { + "no": 2538, + "code": "1F1F3 1F1FA", + "char": "🇳🇺", + "name": "Niue" + }, + { + "no": 2539, + "code": "1F1F3 1F1FF", + "char": "🇳🇿", + "name": "New Zealand" + }, + { + "no": 2540, + "code": "1F1F4 1F1F2", + "char": "🇴🇲", + "name": "Oman" + }, + { + "no": 2541, + "code": "1F1F5 1F1E6", + "char": "🇵🇦", + "name": "Panama" + }, + { + "no": 2542, + "code": "1F1F5 1F1EA", + "char": "🇵🇪", + "name": "Peru" + }, + { + "no": 2543, + "code": "1F1F5 1F1EB", + "char": "🇵🇫", + "name": "French Polynesia" + }, + { + "no": 2544, + "code": "1F1F5 1F1EC", + "char": "🇵🇬", + "name": "Papua New Guinea" + }, + { + "no": 2545, + "code": "1F1F5 1F1ED", + "char": "🇵🇭", + "name": "Philippines" + }, + { + "no": 2546, + "code": "1F1F5 1F1F0", + "char": "🇵🇰", + "name": "Pakistan" + }, + { + "no": 2547, + "code": "1F1F5 1F1F1", + "char": "🇵🇱", + "name": "Poland" + }, + { + "no": 2548, + "code": "1F1F5 1F1F2", + "char": "🇵🇲", + "name": "St. Pierre & Miquelon" + }, + { + "no": 2549, + "code": "1F1F5 1F1F3", + "char": "🇵🇳", + "name": "Pitcairn Islands" + }, + { + "no": 2550, + "code": "1F1F5 1F1F7", + "char": "🇵🇷", + "name": "Puerto Rico" + }, + { + "no": 2551, + "code": "1F1F5 1F1F8", + "char": "🇵🇸", + "name": "Palestinian Territories" + }, + { + "no": 2552, + "code": "1F1F5 1F1F9", + "char": "🇵🇹", + "name": "Portugal" + }, + { + "no": 2553, + "code": "1F1F5 1F1FC", + "char": "🇵🇼", + "name": "Palau" + }, + { + "no": 2554, + "code": "1F1F5 1F1FE", + "char": "🇵🇾", + "name": "Paraguay" + }, + { + "no": 2555, + "code": "1F1F6 1F1E6", + "char": "🇶🇦", + "name": "Qatar" + }, + { + "no": 2556, + "code": "1F1F7 1F1EA", + "char": "🇷🇪", + "name": "Réunion" + }, + { + "no": 2557, + "code": "1F1F7 1F1F4", + "char": "🇷🇴", + "name": "Romania" + }, + { + "no": 2558, + "code": "1F1F7 1F1F8", + "char": "🇷🇸", + "name": "Serbia" + }, + { + "no": 2559, + "code": "1F1F7 1F1FA", + "char": "🇷🇺", + "name": "Russia" + }, + { + "no": 2560, + "code": "1F1F7 1F1FC", + "char": "🇷🇼", + "name": "Rwanda" + }, + { + "no": 2561, + "code": "1F1F8 1F1E6", + "char": "🇸🇦", + "name": "Saudi Arabia" + }, + { + "no": 2562, + "code": "1F1F8 1F1E7", + "char": "🇸🇧", + "name": "Solomon Islands" + }, + { + "no": 2563, + "code": "1F1F8 1F1E8", + "char": "🇸🇨", + "name": "Seychelles" + }, + { + "no": 2564, + "code": "1F1F8 1F1E9", + "char": "🇸🇩", + "name": "Sudan" + }, + { + "no": 2565, + "code": "1F1F8 1F1EA", + "char": "🇸🇪", + "name": "Sweden" + }, + { + "no": 2566, + "code": "1F1F8 1F1EC", + "char": "🇸🇬", + "name": "Singapore" + }, + { + "no": 2567, + "code": "1F1F8 1F1ED", + "char": "🇸🇭", + "name": "St. Helena" + }, + { + "no": 2568, + "code": "1F1F8 1F1EE", + "char": "🇸🇮", + "name": "Slovenia" + }, + { + "no": 2569, + "code": "1F1F8 1F1EF", + "char": "🇸🇯", + "name": "Svalbard & Jan Mayen" + }, + { + "no": 2570, + "code": "1F1F8 1F1F0", + "char": "🇸🇰", + "name": "Slovakia" + }, + { + "no": 2571, + "code": "1F1F8 1F1F1", + "char": "🇸🇱", + "name": "Sierra Leone" + }, + { + "no": 2572, + "code": "1F1F8 1F1F2", + "char": "🇸🇲", + "name": "San Marino" + }, + { + "no": 2573, + "code": "1F1F8 1F1F3", + "char": "🇸🇳", + "name": "Senegal" + }, + { + "no": 2574, + "code": "1F1F8 1F1F4", + "char": "🇸🇴", + "name": "Somalia" + }, + { + "no": 2575, + "code": "1F1F8 1F1F7", + "char": "🇸🇷", + "name": "Suriname" + }, + { + "no": 2576, + "code": "1F1F8 1F1F8", + "char": "🇸🇸", + "name": "South Sudan" + }, + { + "no": 2577, + "code": "1F1F8 1F1F9", + "char": "🇸🇹", + "name": "São Tomé & Príncipe" + }, + { + "no": 2578, + "code": "1F1F8 1F1FB", + "char": "🇸🇻", + "name": "El Salvador" + }, + { + "no": 2579, + "code": "1F1F8 1F1FD", + "char": "🇸🇽", + "name": "Sint Maarten" + }, + { + "no": 2580, + "code": "1F1F8 1F1FE", + "char": "🇸🇾", + "name": "Syria" + }, + { + "no": 2581, + "code": "1F1F8 1F1FF", + "char": "🇸🇿", + "name": "Swaziland" + }, + { + "no": 2582, + "code": "1F1F9 1F1E6", + "char": "🇹🇦", + "name": "Tristan da Cunha" + }, + { + "no": 2583, + "code": "1F1F9 1F1E8", + "char": "🇹🇨", + "name": "Turks & Caicos Islands" + }, + { + "no": 2584, + "code": "1F1F9 1F1E9", + "char": "🇹🇩", + "name": "Chad" + }, + { + "no": 2585, + "code": "1F1F9 1F1EB", + "char": "🇹🇫", + "name": "French Southern Territories" + }, + { + "no": 2586, + "code": "1F1F9 1F1EC", + "char": "🇹🇬", + "name": "Togo" + }, + { + "no": 2587, + "code": "1F1F9 1F1ED", + "char": "🇹🇭", + "name": "Thailand" + }, + { + "no": 2588, + "code": "1F1F9 1F1EF", + "char": "🇹🇯", + "name": "Tajikistan" + }, + { + "no": 2589, + "code": "1F1F9 1F1F0", + "char": "🇹🇰", + "name": "Tokelau" + }, + { + "no": 2590, + "code": "1F1F9 1F1F1", + "char": "🇹🇱", + "name": "Timor-Leste" + }, + { + "no": 2591, + "code": "1F1F9 1F1F2", + "char": "🇹🇲", + "name": "Turkmenistan" + }, + { + "no": 2592, + "code": "1F1F9 1F1F3", + "char": "🇹🇳", + "name": "Tunisia" + }, + { + "no": 2593, + "code": "1F1F9 1F1F4", + "char": "🇹🇴", + "name": "Tonga" + }, + { + "no": 2594, + "code": "1F1F9 1F1F7", + "char": "🇹🇷", + "name": "Turkey" + }, + { + "no": 2595, + "code": "1F1F9 1F1F9", + "char": "🇹🇹", + "name": "Trinidad & Tobago" + }, + { + "no": 2596, + "code": "1F1F9 1F1FB", + "char": "🇹🇻", + "name": "Tuvalu" + }, + { + "no": 2597, + "code": "1F1F9 1F1FC", + "char": "🇹🇼", + "name": "Taiwan" + }, + { + "no": 2598, + "code": "1F1F9 1F1FF", + "char": "🇹🇿", + "name": "Tanzania" + }, + { + "no": 2599, + "code": "1F1FA 1F1E6", + "char": "🇺🇦", + "name": "Ukraine" + }, + { + "no": 2600, + "code": "1F1FA 1F1EC", + "char": "🇺🇬", + "name": "Uganda" + }, + { + "no": 2601, + "code": "1F1FA 1F1F2", + "char": "🇺🇲", + "name": "U.S. Outlying Islands" + }, + { + "no": 2602, + "code": "1F1FA 1F1F3", + "char": "🇺🇳", + "name": "United Nations" + }, + { + "no": 2603, + "code": "1F1FA 1F1F8", + "char": "🇺🇸", + "name": "United States" + }, + { + "no": 2604, + "code": "1F1FA 1F1FE", + "char": "🇺🇾", + "name": "Uruguay" + }, + { + "no": 2605, + "code": "1F1FA 1F1FF", + "char": "🇺🇿", + "name": "Uzbekistan" + }, + { + "no": 2606, + "code": "1F1FB 1F1E6", + "char": "🇻🇦", + "name": "Vatican City" + }, + { + "no": 2607, + "code": "1F1FB 1F1E8", + "char": "🇻🇨", + "name": "St. Vincent & Grenadines" + }, + { + "no": 2608, + "code": "1F1FB 1F1EA", + "char": "🇻🇪", + "name": "Venezuela" + }, + { + "no": 2609, + "code": "1F1FB 1F1EC", + "char": "🇻🇬", + "name": "British Virgin Islands" + }, + { + "no": 2610, + "code": "1F1FB 1F1EE", + "char": "🇻🇮", + "name": "U.S. Virgin Islands" + }, + { + "no": 2611, + "code": "1F1FB 1F1F3", + "char": "🇻🇳", + "name": "Vietnam" + }, + { + "no": 2612, + "code": "1F1FB 1F1FA", + "char": "🇻🇺", + "name": "Vanuatu" + }, + { + "no": 2613, + "code": "1F1FC 1F1EB", + "char": "🇼🇫", + "name": "Wallis & Futuna" + }, + { + "no": 2614, + "code": "1F1FC 1F1F8", + "char": "🇼🇸", + "name": "Samoa" + }, + { + "no": 2615, + "code": "1F1FD 1F1F0", + "char": "🇽🇰", + "name": "Kosovo" + }, + { + "no": 2616, + "code": "1F1FE 1F1EA", + "char": "🇾🇪", + "name": "Yemen" + }, + { + "no": 2617, + "code": "1F1FE 1F1F9", + "char": "🇾🇹", + "name": "Mayotte" + }, + { + "no": 2618, + "code": "1F1FF 1F1E6", + "char": "🇿🇦", + "name": "South Africa" + }, + { + "no": 2619, + "code": "1F1FF 1F1F2", + "char": "🇿🇲", + "name": "Zambia" + }, + { + "no": 2620, + "code": "1F1FF 1F1FC", + "char": "🇿🇼", + "name": "Zimbabwe" + }, + { + "no": 2621, + "code": "1F3F4 E0067 E0062 E0065 E006E E0067 E007F", + "char": "🏴󠁧󠁢󠁥󠁮󠁧󠁿", + "name": "⊛ England" + }, + { + "no": 2622, + "code": "1F3F4 E0067 E0062 E0073 E0063 E0074 E007F", + "char": "🏴󠁧󠁢󠁳󠁣󠁴󠁿", + "name": "⊛ Scotland" + }, + { + "no": 2623, + "code": "1F3F4 E0067 E0062 E0077 E006C E0073 E007F", + "char": "🏴󠁧󠁢󠁷󠁬󠁳󠁿", + "name": "⊛ Wales" + } +] diff --git a/data/gnome-shell-dbus-interfaces.gresource.xml b/data/gnome-shell-dbus-interfaces.gresource.xml new file mode 100644 index 0000000..6682c46 --- /dev/null +++ b/data/gnome-shell-dbus-interfaces.gresource.xml @@ -0,0 +1,60 @@ + + + + net.hadess.PowerProfiles.xml + net.hadess.SensorProxy.xml + net.reactivated.Fprint.Device.xml + net.reactivated.Fprint.Manager.xml + org.freedesktop.Application.xml + org.freedesktop.bolt1.Device.xml + org.freedesktop.bolt1.Manager.xml + org.freedesktop.DBus.xml + org.freedesktop.GeoClue2.Agent.xml + org.freedesktop.GeoClue2.Manager.xml + org.freedesktop.impl.portal.Access.xml + org.freedesktop.impl.portal.PermissionStore.xml + org.freedesktop.impl.portal.Request.xml + org.freedesktop.login1.Manager.xml + org.freedesktop.login1.Session.xml + org.freedesktop.login1.User.xml + org.freedesktop.ModemManager1.Modem.Modem3gpp.xml + org.freedesktop.ModemManager1.Modem.ModemCdma.xml + org.freedesktop.ModemManager1.Modem.xml + org.freedesktop.ModemManager.Modem.Cdma.xml + org.freedesktop.ModemManager.Modem.Gsm.Network.xml + org.freedesktop.Notifications.xml + org.freedesktop.PackageKit.Offline.xml + org.freedesktop.realmd.Provider.xml + org.freedesktop.realmd.Realm.xml + org.freedesktop.realmd.Service.xml + org.freedesktop.UPower.Device.xml + org.freedesktop.UPower.xml + org.gnome.Mutter.ScreenCast.xml + org.gnome.ScreenSaver.xml + org.gnome.SessionManager.EndSessionDialog.xml + org.gnome.SessionManager.Inhibitor.xml + org.gnome.SessionManager.Presence.xml + org.gnome.SessionManager.xml + org.gnome.SettingsDaemon.Color.xml + org.gnome.SettingsDaemon.Power.Screen.xml + org.gnome.SettingsDaemon.Rfkill.xml + org.gnome.SettingsDaemon.Wacom.xml + org.gnome.Shell.AudioDeviceSelection.xml + org.gnome.Shell.CalendarServer.xml + org.gnome.Shell.ClocksIntegration.xml + org.gnome.Shell.Extensions.xml + org.gnome.Shell.Introspect.xml + org.gnome.Shell.HotplugSniffer.xml + org.gnome.Shell.PerfHelper.xml + org.gnome.Shell.PortalHelper.xml + org.gnome.Shell.Screencast.xml + org.gnome.Shell.Screenshot.xml + org.gnome.Shell.Wacom.PadOsd.xml + org.gnome.Shell.WeatherIntegration.xml + org.gnome.Shell.xml + org.Gtk.MountOperationHandler.xml + org.gtk.Notifications.xml + org.mpris.MediaPlayer2.Player.xml + org.mpris.MediaPlayer2.xml + + diff --git a/data/gnome-shell-icons.gresource.xml b/data/gnome-shell-icons.gresource.xml new file mode 100644 index 0000000..9b4e6f3 --- /dev/null +++ b/data/gnome-shell-icons.gresource.xml @@ -0,0 +1,33 @@ + + + + scalable/actions/color-pick.svg + scalable/actions/carousel-arrow-next-symbolic.svg + scalable/actions/carousel-arrow-previous-symbolic.svg + scalable/actions/dark-mode-symbolic.svg + scalable/actions/pointer-double-click-symbolic.svg + scalable/actions/pointer-drag-symbolic.svg + scalable/actions/pointer-primary-click-symbolic.svg + scalable/actions/pointer-secondary-click-symbolic.svg + scalable/actions/preview-close-symbolic.svg + scalable/actions/screenshot-ui-area-symbolic.svg + scalable/actions/screenshot-ui-display-symbolic.svg + scalable/actions/screenshot-ui-show-pointer-symbolic.svg + scalable/actions/screenshot-ui-window-symbolic.svg + scalable/actions/record-screen-symbolic.svg + scalable/actions/screencast-recorded-symbolic.svg + scalable/actions/screenshot-recorded-symbolic.svg + scalable/status/keyboard-caps-lock-symbolic.svg + scalable/status/keyboard-enter-symbolic.svg + scalable/status/keyboard-hide-symbolic.svg + scalable/status/keyboard-layout-symbolic.svg + scalable/status/keyboard-shift-symbolic.svg + scalable/status/message-indicator-symbolic.svg + scalable/status/no-events-symbolic.svg + scalable/status/no-notifications-symbolic.svg + scalable/status/screen-privacy-disabled-symbolic.svg + scalable/status/screen-privacy-symbolic.svg + scalable/status/stop-symbolic.svg + + + diff --git a/data/gnome-shell-osk-layouts.gresource.xml b/data/gnome-shell-osk-layouts.gresource.xml new file mode 100644 index 0000000..b511291 --- /dev/null +++ b/data/gnome-shell-osk-layouts.gresource.xml @@ -0,0 +1,65 @@ + + + + am.json + ara.json + at.json + be.json + bg.json + by.json + ca.json + ch.json + ch+fr.json + cz.json + de.json + dk.json + ee.json + epo.json + es+cat.json + es.json + fi.json + fr.json + ge.json + gr.json + hr.json + hu.json + id.json + il.json + in+bolnagri.json + in+mal.json + ir.json + is.json + it.json + ke.json + kg.json + kh.json + kr.json + la.json + latam.json + lt.json + lv.json + mk.json + mn.json + my.json + nl.json + no.json + ph.json + pl.json + pt.json + ro.json + rs.json + ru.json + se.json + si.json + sk.json + th.json + tr.json + ua.json + uk.json + us.json + us-extended.json + vn.json + za.json + emoji.json + + diff --git a/data/gnome-shell-overrides-migration.desktop.in b/data/gnome-shell-overrides-migration.desktop.in new file mode 100644 index 0000000..99452e6 --- /dev/null +++ b/data/gnome-shell-overrides-migration.desktop.in @@ -0,0 +1,5 @@ +[Desktop Entry] +Type=Application +Name=GNOME settings overrides migration +NoDisplay=true +Exec=@libexecdir@/gnome-shell-overrides-migration.sh diff --git a/data/gnome-shell-theme.gresource.xml b/data/gnome-shell-theme.gresource.xml new file mode 100644 index 0000000..24b3be8 --- /dev/null +++ b/data/gnome-shell-theme.gresource.xml @@ -0,0 +1,25 @@ + + + + calendar-today.svg + calendar-today-light.svg + checkbox.svg + checkbox-focused.svg + checkbox-off-focused-light.svg + checkbox-off-focused.svg + checkbox-off-light.svg + checkbox-off.svg + gnome-shell.css + gnome-shell-high-contrast.css + gnome-shell-start.svg + pad-osd.css + process-working.svg + toggle-off.svg + toggle-off-hc.svg + toggle-off-light.svg + toggle-on.svg + toggle-on-hc.svg + toggle-on-light.svg + workspace-placeholder.svg + + diff --git a/data/gnome-shell.portal b/data/gnome-shell.portal new file mode 100644 index 0000000..a7cd0d5 --- /dev/null +++ b/data/gnome-shell.portal @@ -0,0 +1,4 @@ +[portal] +DBusName=org.gnome.Shell.Portal +Interfaces=org.freedesktop.impl.portal.Access +UseIn=gnome diff --git a/data/icons/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg b/data/icons/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg new file mode 100644 index 0000000..496be6b --- /dev/null +++ b/data/icons/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/icons/hicolor/symbolic/apps/org.gnome.Shell.Extensions-symbolic.svg b/data/icons/hicolor/symbolic/apps/org.gnome.Shell.Extensions-symbolic.svg new file mode 100644 index 0000000..4208a4d --- /dev/null +++ b/data/icons/hicolor/symbolic/apps/org.gnome.Shell.Extensions-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/icons/meson.build b/data/icons/meson.build new file mode 100644 index 0000000..eff6e4b --- /dev/null +++ b/data/icons/meson.build @@ -0,0 +1 @@ +install_subdir('hicolor', install_dir: icondir) diff --git a/data/icons/scalable/actions/carousel-arrow-next-symbolic.svg b/data/icons/scalable/actions/carousel-arrow-next-symbolic.svg new file mode 100644 index 0000000..c8091b2 --- /dev/null +++ b/data/icons/scalable/actions/carousel-arrow-next-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/actions/carousel-arrow-previous-symbolic.svg b/data/icons/scalable/actions/carousel-arrow-previous-symbolic.svg new file mode 100644 index 0000000..85ad3ae --- /dev/null +++ b/data/icons/scalable/actions/carousel-arrow-previous-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/actions/color-pick.svg b/data/icons/scalable/actions/color-pick.svg new file mode 100644 index 0000000..d9af690 --- /dev/null +++ b/data/icons/scalable/actions/color-pick.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/data/icons/scalable/actions/dark-mode-symbolic.svg b/data/icons/scalable/actions/dark-mode-symbolic.svg new file mode 100644 index 0000000..94eee23 --- /dev/null +++ b/data/icons/scalable/actions/dark-mode-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/data/icons/scalable/actions/pointer-double-click-symbolic.svg b/data/icons/scalable/actions/pointer-double-click-symbolic.svg new file mode 100644 index 0000000..f249aaa --- /dev/null +++ b/data/icons/scalable/actions/pointer-double-click-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/actions/pointer-drag-symbolic.svg b/data/icons/scalable/actions/pointer-drag-symbolic.svg new file mode 100644 index 0000000..7ad8121 --- /dev/null +++ b/data/icons/scalable/actions/pointer-drag-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/actions/pointer-primary-click-symbolic.svg b/data/icons/scalable/actions/pointer-primary-click-symbolic.svg new file mode 100644 index 0000000..7a99169 --- /dev/null +++ b/data/icons/scalable/actions/pointer-primary-click-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/actions/pointer-secondary-click-symbolic.svg b/data/icons/scalable/actions/pointer-secondary-click-symbolic.svg new file mode 100644 index 0000000..4fccfb8 --- /dev/null +++ b/data/icons/scalable/actions/pointer-secondary-click-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/actions/preview-close-symbolic.svg b/data/icons/scalable/actions/preview-close-symbolic.svg new file mode 100644 index 0000000..34f0823 --- /dev/null +++ b/data/icons/scalable/actions/preview-close-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/actions/record-screen-symbolic.svg b/data/icons/scalable/actions/record-screen-symbolic.svg new file mode 100644 index 0000000..5e817ce --- /dev/null +++ b/data/icons/scalable/actions/record-screen-symbolic.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/data/icons/scalable/actions/screencast-recorded-symbolic.svg b/data/icons/scalable/actions/screencast-recorded-symbolic.svg new file mode 100644 index 0000000..cf522fd --- /dev/null +++ b/data/icons/scalable/actions/screencast-recorded-symbolic.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/data/icons/scalable/actions/screenshot-recorded-symbolic.svg b/data/icons/scalable/actions/screenshot-recorded-symbolic.svg new file mode 100644 index 0000000..db9338b --- /dev/null +++ b/data/icons/scalable/actions/screenshot-recorded-symbolic.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/data/icons/scalable/actions/screenshot-ui-area-symbolic.svg b/data/icons/scalable/actions/screenshot-ui-area-symbolic.svg new file mode 100644 index 0000000..6cf5870 --- /dev/null +++ b/data/icons/scalable/actions/screenshot-ui-area-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/actions/screenshot-ui-display-symbolic.svg b/data/icons/scalable/actions/screenshot-ui-display-symbolic.svg new file mode 100644 index 0000000..b8b3f4a --- /dev/null +++ b/data/icons/scalable/actions/screenshot-ui-display-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/actions/screenshot-ui-show-pointer-symbolic.svg b/data/icons/scalable/actions/screenshot-ui-show-pointer-symbolic.svg new file mode 100644 index 0000000..36fab00 --- /dev/null +++ b/data/icons/scalable/actions/screenshot-ui-show-pointer-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/actions/screenshot-ui-window-symbolic.svg b/data/icons/scalable/actions/screenshot-ui-window-symbolic.svg new file mode 100644 index 0000000..b667bed --- /dev/null +++ b/data/icons/scalable/actions/screenshot-ui-window-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/status/keyboard-caps-lock-symbolic.svg b/data/icons/scalable/status/keyboard-caps-lock-symbolic.svg new file mode 100644 index 0000000..9efd394 --- /dev/null +++ b/data/icons/scalable/status/keyboard-caps-lock-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/status/keyboard-enter-symbolic.svg b/data/icons/scalable/status/keyboard-enter-symbolic.svg new file mode 100644 index 0000000..7fe839b --- /dev/null +++ b/data/icons/scalable/status/keyboard-enter-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/status/keyboard-hide-symbolic.svg b/data/icons/scalable/status/keyboard-hide-symbolic.svg new file mode 100644 index 0000000..d18bfab --- /dev/null +++ b/data/icons/scalable/status/keyboard-hide-symbolic.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/data/icons/scalable/status/keyboard-layout-symbolic.svg b/data/icons/scalable/status/keyboard-layout-symbolic.svg new file mode 100644 index 0000000..c93f935 --- /dev/null +++ b/data/icons/scalable/status/keyboard-layout-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/status/keyboard-shift-symbolic.svg b/data/icons/scalable/status/keyboard-shift-symbolic.svg new file mode 100644 index 0000000..7255259 --- /dev/null +++ b/data/icons/scalable/status/keyboard-shift-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/status/message-indicator-symbolic.svg b/data/icons/scalable/status/message-indicator-symbolic.svg new file mode 100644 index 0000000..9873de5 --- /dev/null +++ b/data/icons/scalable/status/message-indicator-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/status/no-events-symbolic.svg b/data/icons/scalable/status/no-events-symbolic.svg new file mode 100644 index 0000000..9c7c889 --- /dev/null +++ b/data/icons/scalable/status/no-events-symbolic.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/data/icons/scalable/status/no-notifications-symbolic.svg b/data/icons/scalable/status/no-notifications-symbolic.svg new file mode 100644 index 0000000..d30f7e1 --- /dev/null +++ b/data/icons/scalable/status/no-notifications-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/status/screen-privacy-disabled-symbolic.svg b/data/icons/scalable/status/screen-privacy-disabled-symbolic.svg new file mode 100644 index 0000000..f64ee0b --- /dev/null +++ b/data/icons/scalable/status/screen-privacy-disabled-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/status/screen-privacy-symbolic.svg b/data/icons/scalable/status/screen-privacy-symbolic.svg new file mode 100644 index 0000000..c14da9d --- /dev/null +++ b/data/icons/scalable/status/screen-privacy-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/data/icons/scalable/status/stop-symbolic.svg b/data/icons/scalable/status/stop-symbolic.svg new file mode 100644 index 0000000..256276a --- /dev/null +++ b/data/icons/scalable/status/stop-symbolic.svg @@ -0,0 +1,2 @@ + + diff --git a/data/meson.build b/data/meson.build new file mode 100644 index 0000000..30d4917 --- /dev/null +++ b/data/meson.build @@ -0,0 +1,138 @@ +desktop_files = [ + 'org.gnome.Shell.desktop', + 'org.gnome.Shell.Extensions.desktop', +] +service_files = [] + +if have_networkmanager + desktop_files += 'org.gnome.Shell.PortalHelper.desktop' + service_files += 'org.gnome.Shell.PortalHelper.service' +endif + +desktopconf = configuration_data() +# We substitute in bindir so it works as an autostart +# file when built in a non-system prefix +desktopconf.set('bindir', bindir) +desktopconf.set('systemd_hidden', have_systemd ? 'true' : 'false') + +foreach desktop_file : desktop_files + i18n.merge_file( + input: configure_file( + input: desktop_file + '.in.in', + output: desktop_file + '.in', + configuration: desktopconf + ), + output: desktop_file, + po_dir: po_dir, + install: true, + install_dir: desktopdir, + type: 'desktop' + ) +endforeach + +serviceconf = configuration_data() +serviceconf.set('libexecdir', libexecdir) +foreach service_file : service_files + configure_file( + input: service_file + '.in', + output: service_file, + configuration: serviceconf, + install_dir: servicedir + ) +endforeach + +theme_deps = [] + +subdir('dbus-interfaces') +subdir('icons') +subdir('theme') + +data_resources = [ + {'name': 'dbus-interfaces'}, + {'name': 'icons'}, + {'name': 'osk-layouts'}, + {'name': 'theme', 'deps': theme_deps} +] +foreach resource : data_resources + name = resource.get('name') + deps = resource.get('deps', []) + + gnome.compile_resources( + 'gnome-shell-' + name, + 'gnome-shell-@0@.gresource.xml'.format(name), + source_dir: name, + dependencies: deps, + gresource_bundle: true, + install: true, + install_dir: pkgdatadir + ) +endforeach + +perfconf = configuration_data() +perfconf.set('datadir', datadir) +configure_file( + input: 'perf-background.xml.in', + output: 'perf-background.xml', + configuration: perfconf, + install_dir: pkgdatadir +) + +keybinding_files = [ + '50-gnome-shell-launchers.xml', + '50-gnome-shell-screenshots.xml', + '50-gnome-shell-system.xml', +] + +install_data('gnome-shell.portal', install_dir: portaldir) +install_data(keybinding_files, install_dir: keysdir) + + +schemaconf = configuration_data() +schemaconf.set('GETTEXT_PACKAGE', meson.project_name()) +schema = configure_file( + input: 'org.gnome.shell.gschema.xml.in', + output: 'org.gnome.shell.gschema.xml', + configuration: schemaconf, + install_dir: schemadir +) +install_data('00_org.gnome.shell.gschema.override', install_dir: schemadir) + +overrides_migration_conf = configuration_data() +overrides_migration_conf.set('libexecdir', libexecdir) +overrides_migration = configure_file( + input: 'gnome-shell-overrides-migration.desktop.in', + output: 'gnome-shell-overrides-migration.desktop', + configuration: overrides_migration_conf, + install_dir: autostartdir +) + +if have_systemd + unitconf = configuration_data() + unitconf.set('bindir', bindir) + + configure_file( + input: 'org.gnome.Shell@x11.service.in', + output: 'org.gnome.Shell@x11.service', + configuration: unitconf, + install_dir: systemduserunitdir + ) + + configure_file( + input: 'org.gnome.Shell@wayland.service.in', + output: 'org.gnome.Shell@wayland.service', + configuration: unitconf, + install_dir: systemduserunitdir + ) + + units = files('org.gnome.Shell.target', + 'org.gnome.Shell-disable-extensions.service') + + install_data(units, install_dir: systemduserunitdir) +endif + +# for unit tests - gnome.compile_schemas() only looks in srcdir +custom_target('compile-schemas', + input: schema, + output: 'gschemas.compiled', + command: [find_program('glib-compile-schemas'), meson.current_build_dir()], + build_by_default: true) diff --git a/data/org.gnome.Shell-disable-extensions.service b/data/org.gnome.Shell-disable-extensions.service new file mode 100644 index 0000000..de91167 --- /dev/null +++ b/data/org.gnome.Shell-disable-extensions.service @@ -0,0 +1,15 @@ +[Unit] +Description=Disable GNOME Shell extensions after failure +# Note that this unit must not conflict with anything, and must +# be able to run in parallel with the gnome-session-shutdown.target. +DefaultDependencies=no + +# We want to disable extensions only if gnome-shell has flagged the extensions +# to be a likely cause of trouble. +ConditionPathExists=%t/gnome-shell-disable-extensions + +[Service] +Type=simple +# Disable extensions +ExecStart=gsettings set org.gnome.shell disable-user-extensions true +Restart=no diff --git a/data/org.gnome.Shell-symbolic.Source.svg b/data/org.gnome.Shell-symbolic.Source.svg new file mode 100644 index 0000000..b017734 --- /dev/null +++ b/data/org.gnome.Shell-symbolic.Source.svg @@ -0,0 +1,511 @@ + + + + + + + + + + status + + no-notifications + + + + + message-indicator + + + + + screen-privacy + + + + + screen-privacy-disabled + + + + + no-events + + + + + + keyboard-shift + + + + + keyboard-caps-lock + + + + + keyboard-layout + + + + + keyboard-hide + + + + + keyboard-enter + + + + + + actions + + carousel-arrow-previous + + + + + carousel-arrow-next + + + + + pointer-secondary-click + + + + + pointer-primary-click + + + + + pointer-drag + + + + + pointer-double-click + + + + + screenshot-ui-area + + + + + screenshot-ui-display + + + + + screenshot-ui-window + + + + + screenshot-ui-window + + + + + screenshot-ui-show-pointer + + + + + preview-close + + + + + diff --git a/data/org.gnome.Shell.Extensions.desktop.in.in b/data/org.gnome.Shell.Extensions.desktop.in.in new file mode 100644 index 0000000..9c3b6bc --- /dev/null +++ b/data/org.gnome.Shell.Extensions.desktop.in.in @@ -0,0 +1,10 @@ +[Desktop Entry] +Type=Application +# Keep in sync with subprojects/extensions-app +Name=Extensions +# Translators: Do NOT translate or transliterate this text (this is an icon file name)! +Icon=org.gnome.Shell.Extensions +# Never launch this, just provide name+icon to portal dialog +Exec=false +OnlyShowIn=GNOME; +NoDisplay=true diff --git a/data/org.gnome.Shell.PortalHelper.desktop.in.in b/data/org.gnome.Shell.PortalHelper.desktop.in.in new file mode 100644 index 0000000..269669e --- /dev/null +++ b/data/org.gnome.Shell.PortalHelper.desktop.in.in @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Network Login +Type=Application +Exec=gapplication launch org.gnome.Shell.PortalHelper +DBusActivatable=true +NoDisplay=true +# Translators: Do NOT translate or transliterate this text (this is an icon file name)! +Icon=network-workgroup +StartupNotify=true +OnlyShowIn=GNOME; diff --git a/data/org.gnome.Shell.PortalHelper.service.in b/data/org.gnome.Shell.PortalHelper.service.in new file mode 100644 index 0000000..5465a32 --- /dev/null +++ b/data/org.gnome.Shell.PortalHelper.service.in @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=org.gnome.Shell.PortalHelper +Exec=@libexecdir@/gnome-shell-portal-helper diff --git a/data/org.gnome.Shell.desktop.in.in b/data/org.gnome.Shell.desktop.in.in new file mode 100644 index 0000000..59d1cd2 --- /dev/null +++ b/data/org.gnome.Shell.desktop.in.in @@ -0,0 +1,13 @@ +[Desktop Entry] +Type=Application +Name=GNOME Shell +Comment=Window management and application launching +Exec=@bindir@/gnome-shell +Categories=GNOME;GTK;Core; +OnlyShowIn=GNOME; +NoDisplay=true +X-GNOME-Autostart-Phase=DisplayServer +X-GNOME-Provides=panel;windowmanager; +X-GNOME-Autostart-Notify=true +X-GNOME-AutoRestart=false +X-GNOME-HiddenUnderSystemd=@systemd_hidden@ diff --git a/data/org.gnome.Shell.target b/data/org.gnome.Shell.target new file mode 100644 index 0000000..55f9539 --- /dev/null +++ b/data/org.gnome.Shell.target @@ -0,0 +1,10 @@ +[Unit] +Description=GNOME Shell +DefaultDependencies=no + +Requisite=gnome-session-initialized.target +PartOf=gnome-session-initialized.target +Before=gnome-session-initialized.target + +Wants=org.gnome.Shell@wayland.service +Wants=org.gnome.Shell@x11.service diff --git a/data/org.gnome.Shell@wayland.service.in b/data/org.gnome.Shell@wayland.service.in new file mode 100644 index 0000000..76d5ccb --- /dev/null +++ b/data/org.gnome.Shell@wayland.service.in @@ -0,0 +1,37 @@ +[Unit] +Description=GNOME Shell on Wayland +# On wayland, force a session shutdown +OnFailure=org.gnome.Shell-disable-extensions.service gnome-session-shutdown.target +OnFailureJobMode=replace-irreversibly +CollectMode=inactive-or-failed +RefuseManualStart=on +RefuseManualStop=on + +After=gnome-session-manager.target + +Requisite=gnome-session-initialized.target +PartOf=gnome-session-initialized.target +Before=gnome-session-initialized.target + +[Service] +Slice=session.slice +Type=notify +# NOTE: This can be replaced with ConditionEnvironment=XDG_SESSION_TYPE=%I in +# the [Unit] section with systemd >= 246. Also, the current solution is +# kind of painful as systemd had a bug where it retries the condition. +# Only start if the template instance matches the session type. +ExecCondition=/bin/sh -c 'test "$XDG_SESSION_TYPE" = "%I" || exit 2' +ExecStart=@bindir@/gnome-shell +# Exit code 1 means we are probably *not* dealing with an extension failure +SuccessExitStatus=1 + +# unset some environment variables that were set by the shell and won't work now that the shell is gone +ExecStopPost=-/bin/sh -c 'test "$SERVICE_RESULT" != "exec-condition" && systemctl --user unset-environment GNOME_SETUP_DISPLAY WAYLAND_DISPLAY DISPLAY XAUTHORITY' + +# On wayland we cannot restart +Restart=no +# Kill any stubborn child processes after this long +TimeoutStopSec=5 + +# Lower down gnome-shell's OOM score to avoid being killed by OOM-killer too early +OOMScoreAdjust=-1000 diff --git a/data/org.gnome.Shell@x11.service.in b/data/org.gnome.Shell@x11.service.in new file mode 100644 index 0000000..078d87a --- /dev/null +++ b/data/org.gnome.Shell@x11.service.in @@ -0,0 +1,42 @@ +[Unit] +Description=GNOME Shell on X11 +# On X11, try to show the GNOME Session Failed screen +OnFailure=org.gnome.Shell-disable-extensions.service gnome-session-failed.target +OnFailureJobMode=replace +CollectMode=inactive-or-failed +RefuseManualStart=on +RefuseManualStop=on + +After=gnome-session-manager.target + +Requisite=gnome-session-initialized.target +PartOf=gnome-session-initialized.target +Before=gnome-session-initialized.target + +# Limit startup frequency more than the default +StartLimitIntervalSec=15s +StartLimitBurst=3 + +[Service] +Slice=session.slice +Type=notify +# NOTE: This can be replaced with ConditionEnvironment=XDG_SESSION_TYPE=%I in +# the [Unit] section with systemd >= 246. Also, the current solution is +# kind of painful as systemd had a bug where it retries the condition. +# Only start if the template instance matches the session type. +ExecCondition=/bin/sh -c 'test "$XDG_SESSION_TYPE" = "%I" || exit 2' +ExecStart=@bindir@/gnome-shell +# Exit code 1 means we are probably *not* dealing with an extension failure +SuccessExitStatus=1 + +# On X11 we do not need to unset any variables + +# On X11 we want to restart on-success (Alt+F2 + r) and on-failure. +Restart=always +# Do not wait before restarting the shell +RestartSec=0ms +# Kill any stubborn child processes after this long +TimeoutStopSec=5 + +# Lower down gnome-shell's OOM score to avoid being killed by OOM-killer too early +OOMScoreAdjust=-1000 diff --git a/data/org.gnome.shell.gschema.xml.in b/data/org.gnome.shell.gschema.xml.in new file mode 100644 index 0000000..86ad1b2 --- /dev/null +++ b/data/org.gnome.shell.gschema.xml.in @@ -0,0 +1,364 @@ + + + + true + + Enable internal tools useful for developers and testers from Alt-F2 + + + Allows access to internal debugging and monitoring tools + using the Alt-F2 dialog. + + + + [] + UUIDs of extensions to enable + + GNOME Shell extensions have a UUID property; this key lists extensions + which should be loaded. Any extension that wants to be loaded needs + to be in this list. You can also manipulate this list with the + EnableExtension and DisableExtension D-Bus methods on org.gnome.Shell. + + + + [] + UUIDs of extensions to force disabling + + GNOME Shell extensions have a UUID property; this key lists extensions + which should be disabled, even if loaded as part of the current mode. + You can also manipulate this list with the EnableExtension and + DisableExtension D-Bus methods on org.gnome.Shell. + This key takes precedence over the “enabled-extensions” setting. + + + + false + Disable user extensions + + Disable all extensions the user has enabled without affecting + the “enabled-extension” setting. + + + + false + Disables the validation of extension version compatibility + + GNOME Shell will only load extensions that claim to support the current + running version. Enabling this option will disable this check and try to + load all extensions regardless of the versions they claim to support. + + + + [ 'org.gnome.Epiphany.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ] + List of desktop file IDs for favorite applications + + The applications corresponding to these identifiers + will be displayed in the favorites area. + + + + [] + History for command (Alt-F2) dialog + + + [] + + History for the looking glass dialog + + + false + Always show the “Log out” menu item in the user menu. + + This key overrides the automatic hiding of the “Log out” + menu item in single-user, single-session situations. + + + + false + Whether to remember password for mounting encrypted or remote filesystems + + The shell will request a password when an encrypted device or a + remote filesystem is mounted. If the password can be saved for + future use a “Remember Password” checkbox will be present. + This key sets the default state of the checkbox. + + + + "power-saver" + The last selected non-default power profile + + Some systems support more than two power profiles. In order to still support + toggling between two profiles, this key records the last selected non-default + profile. + + + + '' + The last version the “Welcome to GNOME” dialog was shown for + + This key determines for which version the “Welcome to GNOME” dialog was + last shown. An empty string represents the oldest possible version, and + a huge number will represent versions that do not exist yet. This huge + number can be used to effectively disable the dialog. + + + + }>, + 'org.gnome.Contacts.desktop': <{'position': <1>}>, + 'org.gnome.Weather.desktop': <{'position': <2>}>, + 'org.gnome.clocks.desktop': <{'position': <3>}>, + 'org.gnome.Maps.desktop': <{'position': <4>}>, + 'org.gnome.Books.desktop': <{'position': <5>}>, + 'org.gnome.Photos.desktop': <{'position': <6>}>, + 'org.gnome.Totem.desktop': <{'position': <7>}>, + 'org.gnome.Calculator.desktop': <{'position': <8>}>, + 'org.gnome.gedit.desktop': <{'position': <9>}>, + 'simple-scan.desktop': <{'position': <10>}>, + 'org.gnome.Settings.desktop': <{'position': <11>}>, + 'gnome-system-monitor.desktop': <{'position': <12>}>, + 'org.gnome.Boxes.desktop': <{'position': <13>}>, + 'org.gnome.Terminal.desktop': <{'position': <14>}>, + 'Utilities': <{'position': <15>}>, + 'org.gnome.Characters.desktop': <{'position': <16>}>, + 'yelp.desktop': <{'position': <17>}>, + 'org.gnome.Screenshot.desktop': <{'position': <18>}>, + 'org.gnome.Cheese.desktop': <{'position': <19>}>, + 'org.gnome.font-viewer.desktop': <{'position': <20>}> + }] + ]]> + Layout of the app picker + + Layout of the app picker. Each entry in the array is a page. Pages are + stored in the order they appear in GNOME Shell. Each page contains an + “application id” → 'data' pair. Currently, the following values are + stored as 'data': + • “position”: the position of the application icon in the page + + + + + + + + ["<Super>F10"] + Keybinding to open the application menu + + Keybinding to open the application menu. + + + + ["<Super><Alt>Up"] + Keybinding to shift between overview states + + Keybinding to shift between session, window picker and app grid + + + + ["<Super><Alt>Down"] + Keybinding to shift between overview states + + Keybinding to shift between app grid, window picker and session + + + + ["<Super>a"] + Keybinding to open the “Show Applications” view + + Keybinding to open the “Show Applications” view of the Activities + Overview. + + + + ["<Super>s"] + Keybinding to open the overview + + Keybinding to open the Activities Overview. + + + + ["<Super>v","<Super>m"] + Keybinding to toggle the visibility of the notification list + + Keybinding to toggle the visibility of the notification list. + + + + ["<Super>n"] + Keybinding to focus the active notification + + Keybinding to focus the active notification. + + + + ["<Super>1"] + Switch to application 1 + + + ["<Super>2"] + Switch to application 2 + + + ["<Super>3"] + Switch to application 3 + + + ["<Super>4"] + Switch to application 4 + + + ["<Super>5"] + Switch to application 5 + + + ["<Super>6"] + Switch to application 6 + + + ["<Super>7"] + Switch to application 7 + + + ["<Super>8"] + Switch to application 8 + + + ["<Super>9"] + Switch to application 9 + + + ["Print"] + Take a screenshot interactively + + + ["<Ctrl><Shift><Alt>R"] + Record a screencast interactively + + + ["<Alt>Print"] + Take a screenshot of a window + + + ["<Shift>Print"] + Take a screenshot + + + + + + false + Limit switcher to current workspace. + + If true, only applications that have windows on the current workspace are shown in the switcher. + Otherwise, all applications are included. + + + + + + + + + + + + 'both' + The application icon mode. + + Configures how the windows are shown in the switcher. Valid possibilities + are “thumbnail-only” (shows a thumbnail of the window), “app-icon-only” + (shows only the application icon) or “both”. + + + + true + Limit switcher to current workspace. + + If true, only windows from the current workspace are shown in the switcher. + Otherwise, all windows are included. + + + + + + + Locations + + The locations to show in world clocks + + [] + + + + + + Automatic location + + Whether to fetch the current location or not + + false + + + + Location + + The location for which to show a forecast + + [] + + + + + + + true + Attach modal dialog to the parent window + + This key overrides the key in org.gnome.mutter when running + GNOME Shell. + + + + + true + Enable edge tiling when dropping windows on screen edges + + This key overrides the key in org.gnome.mutter when running GNOME Shell. + + + + + true + Workspaces are managed dynamically + + This key overrides the key in org.gnome.mutter when running GNOME Shell. + + + + + true + Workspaces only on primary monitor + + This key overrides the key in org.gnome.mutter when running GNOME Shell. + + + + + true + Delay focus changes in mouse mode until the pointer stops moving + + This key overrides the key in org.gnome.mutter when running GNOME Shell. + + + + diff --git a/data/osk-layouts/am.json b/data/osk-layouts/am.json new file mode 100644 index 0000000..8316774 --- /dev/null +++ b/data/osk-layouts/am.json @@ -0,0 +1,1051 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "է" + ] + }, + { + "strings": [ + "թ" + ] + }, + { + "strings": [ + "փ" + ] + }, + { + "strings": [ + "ձ" + ] + }, + { + "strings": [ + "ջ" + ] + }, + { + "strings": [ + "ր" + ] + }, + { + "strings": [ + "չ" + ] + }, + { + "strings": [ + "ճ" + ] + }, + { + "strings": [ + "ժ" + ] + }, + { + "strings": [ + "ծ" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ք" + ] + }, + { + "strings": [ + "ո" + ] + }, + { + "strings": [ + "ե", + "և" + ] + }, + { + "strings": [ + "ռ" + ] + }, + { + "strings": [ + "տ" + ] + }, + { + "strings": [ + "ը" + ] + }, + { + "strings": [ + "ւ" + ] + }, + { + "strings": [ + "ի" + ] + }, + { + "strings": [ + "օ" + ] + }, + { + "strings": [ + "պ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ա" + ] + }, + { + "strings": [ + "ս" + ] + }, + { + "strings": [ + "դ" + ] + }, + { + "strings": [ + "ֆ" + ] + }, + { + "strings": [ + "գ" + ] + }, + { + "strings": [ + "հ" + ] + }, + { + "strings": [ + "յ" + ] + }, + { + "strings": [ + "կ" + ] + }, + { + "strings": [ + "լ" + ] + }, + { + "strings": [ + "խ" + ] + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + }, + { + "strings": [ + "զ" + ] + }, + { + "strings": [ + "ղ" + ] + }, + { + "strings": [ + "ց" + ] + }, + { + "strings": [ + "վ" + ] + }, + { + "strings": [ + "բ" + ] + }, + { + "strings": [ + "ն" + ] + }, + { + "strings": [ + "մ" + ] + }, + { + "strings": [ + "շ" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "strings": [ + "։" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Է" + ] + }, + { + "strings": [ + "Թ" + ] + }, + { + "strings": [ + "Փ" + ] + }, + { + "strings": [ + "Ձ" + ] + }, + { + "strings": [ + "Ջ" + ] + }, + { + "strings": [ + "Ր" + ] + }, + { + "strings": [ + "Չ" + ] + }, + { + "strings": [ + "Ճ" + ] + }, + { + "strings": [ + "Ժ" + ] + }, + { + "strings": [ + "Ծ" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "Ք" + ] + }, + { + "strings": [ + "Ո" + ] + }, + { + "strings": [ + "Ե", + "ԵՒ" + ] + }, + { + "strings": [ + "Ռ" + ] + }, + { + "strings": [ + "Տ" + ] + }, + { + "strings": [ + "Ը" + ] + }, + { + "strings": [ + "Ւ" + ] + }, + { + "strings": [ + "Ի" + ] + }, + { + "strings": [ + "Օ" + ] + }, + { + "strings": [ + "Պ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "strings": [ + "Ա" + ] + }, + { + "strings": [ + "Ս" + ] + }, + { + "strings": [ + "Դ" + ] + }, + { + "strings": [ + "Ֆ" + ] + }, + { + "strings": [ + "Գ" + ] + }, + { + "strings": [ + "Հ" + ] + }, + { + "strings": [ + "Յ" + ] + }, + { + "strings": [ + "Կ" + ] + }, + { + "strings": [ + "Լ" + ] + }, + { + "strings": [ + "Խ" + ] + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "Զ" + ] + }, + { + "strings": [ + "Ղ" + ] + }, + { + "strings": [ + "Ց" + ] + }, + { + "strings": [ + "Վ" + ] + }, + { + "strings": [ + "Բ" + ] + }, + { + "strings": [ + "Ն" + ] + }, + { + "strings": [ + "Մ" + ] + }, + { + "strings": [ + "Շ" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "strings": [ + "։" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "՜", + "¡" + ] + }, + { + "strings": [ + "?", + "՞", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "՝" + ] + }, + { + "strings": [ + "։", + "!", + "?", + ",", + ".", + "֊", + "՜", + "՝", + "՞", + ":", + ";", + "@", + "ՙ", + "՚", + "՛", + "՟" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "՝" + ] + }, + { + "strings": [ + "։", + "!", + "?", + ",", + ".", + "֊", + "՜", + "՝", + "՞", + ":", + ";", + "@", + "ՙ", + "՚", + "՛", + "՟" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "hy", + "name": "Armenian" +} \ No newline at end of file diff --git a/data/osk-layouts/ara.json b/data/osk-layouts/ara.json new file mode 100644 index 0000000..10095ce --- /dev/null +++ b/data/osk-layouts/ara.json @@ -0,0 +1,793 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "ض" + ] + }, + { + "strings": [ + "ص" + ] + }, + { + "strings": [ + "ث" + ] + }, + { + "strings": [ + "ق", + "ڨ" + ] + }, + { + "strings": [ + "ف", + "ڤ", + "ڢ", + "ڥ" + ] + }, + { + "strings": [ + "غ" + ] + }, + { + "strings": [ + "ع" + ] + }, + { + "strings": [ + "ه", + "ه‍" + ] + }, + { + "strings": [ + "خ" + ] + }, + { + "strings": [ + "ح" + ] + }, + { + "strings": [ + "ج", + "چ" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ش", + "ڜ" + ] + }, + { + "strings": [ + "س" + ] + }, + { + "strings": [ + "ي", + "ئ", + "ى" + ] + }, + { + "strings": [ + "ب", + "پ" + ] + }, + { + "strings": [ + "ل", + "لا", + "لأ", + "لإ", + "لآ" + ] + }, + { + "strings": [ + "ا", + "آ", + "ء", + "أ", + "إ", + "ٱ" + ] + }, + { + "strings": [ + "ت" + ] + }, + { + "strings": [ + "ن" + ] + }, + { + "strings": [ + "م" + ] + }, + { + "strings": [ + "ك", + "گ", + "ک" + ] + }, + { + "strings": [ + "ط" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ذ" + ] + }, + { + "strings": [ + "ء" + ] + }, + { + "strings": [ + "ؤ" + ] + }, + { + "strings": [ + "ر" + ] + }, + { + "strings": [ + "ى", + "ئ" + ] + }, + { + "strings": [ + "ة" + ] + }, + { + "strings": [ + "و" + ] + }, + { + "strings": [ + "ز", + "ژ" + ] + }, + { + "strings": [ + "ظ" + ] + }, + { + "strings": [ + "د" + ] + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "،" + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "\"", + "'", + "#", + "-", + ":", + "!", + "،", + "؟", + "@", + "&", + "%", + "+", + "؛", + "/", + ")", + "(" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "١", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "٢", + "²", + "⅔" + ] + }, + { + "strings": [ + "٣", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "٤", + "⁴" + ] + }, + { + "strings": [ + "٥", + "⅝" + ] + }, + { + "strings": [ + "٦" + ] + }, + { + "strings": [ + "٧", + "⅞" + ] + }, + { + "strings": [ + "٨" + ] + }, + { + "strings": [ + "٩" + ] + }, + { + "strings": [ + "٠", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "٪", + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "﴿", + ">", + "}", + "]" + ] + }, + { + "strings": [ + ")", + "﴾", + "<", + "{", + "[" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "★", + "٭" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + "؛", + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "؟", + "?" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "،", + "؟", + "؛", + "!", + ":", + "-", + "/", + "'", + "\"" + ] + }, + { + "strings": [ + ".", + "ٕ", + "ٔ", + "ْ", + "ٍ", + "ٌ", + "ً", + "ّ", + "ٖ", + "ٰ", + "ٓ", + "ِ", + "ُ", + "َ", + "ـ" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + ">", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "،", + "؟", + "؛", + "!", + ":", + "-", + "/", + "'", + "\"" + ] + }, + { + "strings": [ + ".", + "ٕ", + "ٔ", + "ْ", + "ٍ", + "ٌ", + "ً", + "ّ", + "ٖ", + "ٰ", + "ٓ", + "ِ", + "ُ", + "َ", + "ـ" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "ar", + "name": "Arabic" +} \ No newline at end of file diff --git a/data/osk-layouts/at.json b/data/osk-layouts/at.json new file mode 100644 index 0000000..511dc90 --- /dev/null +++ b/data/osk-layouts/at.json @@ -0,0 +1,978 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "è", + "ê", + "ë", + "ė" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "u", + "ü", + "û", + "ù", + "ú", + "ū" + ] + }, + { + "strings": [ + "i" + ] + }, + { + "strings": [ + "o", + "ö", + "ô", + "ò", + "ó", + "õ", + "œ", + "ø", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "ä", + "â", + "à", + "á", + "æ", + "ã", + "å", + "ā" + ] + }, + { + "strings": [ + "s", + "ß", + "ś", + "š" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "È", + "Ê", + "Ë", + "Ė" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "U", + "Ü", + "Û", + "Ù", + "Ú", + "Ū" + ] + }, + { + "strings": [ + "I" + ] + }, + { + "strings": [ + "O", + "Ö", + "Ô", + "Ò", + "Ó", + "Õ", + "Œ", + "Ø", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Ä", + "Â", + "À", + "Á", + "Æ", + "Ã", + "Å", + "Ā" + ] + }, + { + "strings": [ + "S", + "SS", + "Ś", + "Š" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "de-AT", + "name": "Austrian German" +} diff --git a/data/osk-layouts/be.json b/data/osk-layouts/be.json new file mode 100644 index 0000000..6e4f75d --- /dev/null +++ b/data/osk-layouts/be.json @@ -0,0 +1,1021 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "a", + "á", + "ä", + "â", + "à", + "æ", + "ã", + "å", + "ā" + ] + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "e", + "é", + "ë", + "ê", + "è", + "ę", + "ė", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y", + "ÿ", + "ij" + ] + }, + { + "strings": [ + "u", + "ú", + "ü", + "û", + "ù", + "ū" + ] + }, + { + "strings": [ + "i", + "í", + "ï", + "ì", + "î", + "į", + "ī", + "ij" + ] + }, + { + "strings": [ + "o", + "ó", + "ö", + "ô", + "ò", + "õ", + "œ", + "ø", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "s", + "ß" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "ç", + "ć", + "č" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ", + "ń" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "A", + "Á", + "Ä", + "Â", + "À", + "Æ", + "Ã", + "Å", + "Ā" + ] + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "E", + "É", + "Ë", + "Ê", + "È", + "Ę", + "Ė", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y", + "Ÿ", + "IJ" + ] + }, + { + "strings": [ + "U", + "Ú", + "Ü", + "Û", + "Ù", + "Ū" + ] + }, + { + "strings": [ + "I", + "Í", + "Ï", + "Ì", + "Î", + "Į", + "Ī", + "IJ" + ] + }, + { + "strings": [ + "O", + "Ó", + "Ö", + "Ô", + "Ò", + "Õ", + "Œ", + "Ø", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "S", + "ẞ" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Ç", + "Ć", + "Č" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ", + "Ń" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "nl-BE", + "name": "Dutch (Belgium)" +} diff --git a/data/osk-layouts/bg.json b/data/osk-layouts/bg.json new file mode 100644 index 0000000..fb7385d --- /dev/null +++ b/data/osk-layouts/bg.json @@ -0,0 +1,955 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "я" + ] + }, + { + "strings": [ + "в" + ] + }, + { + "strings": [ + "е" + ] + }, + { + "strings": [ + "р" + ] + }, + { + "strings": [ + "т" + ] + }, + { + "strings": [ + "ъ" + ] + }, + { + "strings": [ + "у" + ] + }, + { + "strings": [ + "и", + "ѝ" + ] + }, + { + "strings": [ + "о" + ] + }, + { + "strings": [ + "п" + ] + }, + { + "strings": [ + "ч" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "а" + ] + }, + { + "strings": [ + "с" + ] + }, + { + "strings": [ + "д" + ] + }, + { + "strings": [ + "ф" + ] + }, + { + "strings": [ + "г" + ] + }, + { + "strings": [ + "х" + ] + }, + { + "strings": [ + "й" + ] + }, + { + "strings": [ + "к" + ] + }, + { + "strings": [ + "л" + ] + }, + { + "strings": [ + "ш" + ] + }, + { + "strings": [ + "щ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "з" + ] + }, + { + "strings": [ + "ь" + ] + }, + { + "strings": [ + "ц" + ] + }, + { + "strings": [ + "ж" + ] + }, + { + "strings": [ + "б" + ] + }, + { + "strings": [ + "н" + ] + }, + { + "strings": [ + "м" + ] + }, + { + "strings": [ + "ю" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Я" + ] + }, + { + "strings": [ + "В" + ] + }, + { + "strings": [ + "Е" + ] + }, + { + "strings": [ + "Р" + ] + }, + { + "strings": [ + "Т" + ] + }, + { + "strings": [ + "Ъ" + ] + }, + { + "strings": [ + "У" + ] + }, + { + "strings": [ + "И", + "Ѝ" + ] + }, + { + "strings": [ + "О" + ] + }, + { + "strings": [ + "П" + ] + }, + { + "strings": [ + "Ч" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "А" + ] + }, + { + "strings": [ + "С" + ] + }, + { + "strings": [ + "Д" + ] + }, + { + "strings": [ + "Ф" + ] + }, + { + "strings": [ + "Г" + ] + }, + { + "strings": [ + "Х" + ] + }, + { + "strings": [ + "Й" + ] + }, + { + "strings": [ + "К" + ] + }, + { + "strings": [ + "Л" + ] + }, + { + "strings": [ + "Ш" + ] + }, + { + "strings": [ + "Щ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "З" + ] + }, + { + "strings": [ + "Ь" + ] + }, + { + "strings": [ + "Ц" + ] + }, + { + "strings": [ + "Ж" + ] + }, + { + "strings": [ + "Б" + ] + }, + { + "strings": [ + "Н" + ] + }, + { + "strings": [ + "М" + ] + }, + { + "strings": [ + "Ю" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "bg", + "name": "Bulgarian" +} diff --git a/data/osk-layouts/by.json b/data/osk-layouts/by.json new file mode 100644 index 0000000..25543eb --- /dev/null +++ b/data/osk-layouts/by.json @@ -0,0 +1,965 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "й" + ] + }, + { + "strings": [ + "ц" + ] + }, + { + "strings": [ + "у" + ] + }, + { + "strings": [ + "к" + ] + }, + { + "strings": [ + "е", + "ё" + ] + }, + { + "strings": [ + "н" + ] + }, + { + "strings": [ + "г" + ] + }, + { + "strings": [ + "ш" + ] + }, + { + "strings": [ + "ў" + ] + }, + { + "strings": [ + "з" + ] + }, + { + "strings": [ + "х" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ф" + ] + }, + { + "strings": [ + "ы" + ] + }, + { + "strings": [ + "в" + ] + }, + { + "strings": [ + "а" + ] + }, + { + "strings": [ + "п" + ] + }, + { + "strings": [ + "р" + ] + }, + { + "strings": [ + "о" + ] + }, + { + "strings": [ + "л" + ] + }, + { + "strings": [ + "д" + ] + }, + { + "strings": [ + "ж" + ] + }, + { + "strings": [ + "э" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + }, + { + "strings": [ + "я" + ] + }, + { + "strings": [ + "ч" + ] + }, + { + "strings": [ + "с" + ] + }, + { + "strings": [ + "м" + ] + }, + { + "strings": [ + "і" + ] + }, + { + "strings": [ + "т" + ] + }, + { + "strings": [ + "ь", + "ъ" + ] + }, + { + "strings": [ + "б" + ] + }, + { + "strings": [ + "ю" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Й" + ] + }, + { + "strings": [ + "Ц" + ] + }, + { + "strings": [ + "У" + ] + }, + { + "strings": [ + "К" + ] + }, + { + "strings": [ + "Е", + "Ё" + ] + }, + { + "strings": [ + "Н" + ] + }, + { + "strings": [ + "Г" + ] + }, + { + "strings": [ + "Ш" + ] + }, + { + "strings": [ + "Ў" + ] + }, + { + "strings": [ + "З" + ] + }, + { + "strings": [ + "Х" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "Ф" + ] + }, + { + "strings": [ + "Ы" + ] + }, + { + "strings": [ + "В" + ] + }, + { + "strings": [ + "А" + ] + }, + { + "strings": [ + "П" + ] + }, + { + "strings": [ + "Р" + ] + }, + { + "strings": [ + "О" + ] + }, + { + "strings": [ + "Л" + ] + }, + { + "strings": [ + "Д" + ] + }, + { + "strings": [ + "Ж" + ] + }, + { + "strings": [ + "Э" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "Я" + ] + }, + { + "strings": [ + "Ч" + ] + }, + { + "strings": [ + "С" + ] + }, + { + "strings": [ + "М" + ] + }, + { + "strings": [ + "І" + ] + }, + { + "strings": [ + "Т" + ] + }, + { + "strings": [ + "Ь", + "Ъ" + ] + }, + { + "strings": [ + "Б" + ] + }, + { + "strings": [ + "Ю" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "be", + "name": "Belarusian" +} \ No newline at end of file diff --git a/data/osk-layouts/ca.json b/data/osk-layouts/ca.json new file mode 100644 index 0000000..230a6ba --- /dev/null +++ b/data/osk-layouts/ca.json @@ -0,0 +1,1007 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "è", + "ê", + "ë", + "%", + "ę", + "ė", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y", + "%", + "ÿ" + ] + }, + { + "strings": [ + "u", + "ù", + "û", + "%", + "ü", + "ú", + "ū" + ] + }, + { + "strings": [ + "i", + "î", + "%", + "ï", + "ì", + "í", + "į", + "ī" + ] + }, + { + "strings": [ + "o", + "ô", + "œ", + "%", + "ö", + "ò", + "ó", + "õ", + "ø", + "ō", + "º" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "à", + "â", + "%", + "æ", + "á", + "ä", + "ã", + "å", + "ā", + "ª" + ] + }, + { + "strings": [ + "s" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "ç", + "ć", + "č" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "È", + "Ê", + "Ë", + "%", + "Ę", + "Ė", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y", + "%", + "Ÿ" + ] + }, + { + "strings": [ + "U", + "Ù", + "Û", + "%", + "Ü", + "Ú", + "Ū" + ] + }, + { + "strings": [ + "I", + "Î", + "%", + "Ï", + "Ì", + "Í", + "Į", + "Ī" + ] + }, + { + "strings": [ + "O", + "Ô", + "Œ", + "%", + "Ö", + "Ò", + "Ó", + "Õ", + "Ø", + "Ō", + "º" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "À", + "Â", + "%", + "Æ", + "Á", + "Ä", + "Ã", + "Å", + "Ā", + "ª" + ] + }, + { + "strings": [ + "S" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Ç", + "Ć", + "Č" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "fr-CA", + "name": "French Canada" +} diff --git a/data/osk-layouts/ch+fr.json b/data/osk-layouts/ch+fr.json new file mode 100644 index 0000000..7735c2e --- /dev/null +++ b/data/osk-layouts/ch+fr.json @@ -0,0 +1,978 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "è", + "ê", + "ë", + "ė" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "u", + "ü", + "û", + "ù", + "ú", + "ū" + ] + }, + { + "strings": [ + "i" + ] + }, + { + "strings": [ + "o", + "ö", + "ô", + "ò", + "ó", + "õ", + "œ", + "ø", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "ä", + "â", + "à", + "á", + "æ", + "ã", + "å", + "ā" + ] + }, + { + "strings": [ + "s", + "ß", + "ś", + "š" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "È", + "Ê", + "Ë", + "Ė" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "U", + "Ü", + "Û", + "Ù", + "Ú", + "Ū" + ] + }, + { + "strings": [ + "I" + ] + }, + { + "strings": [ + "O", + "Ö", + "Ô", + "Ò", + "Ó", + "Õ", + "Œ", + "Ø", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Ä", + "Â", + "À", + "Á", + "Æ", + "Ã", + "Å", + "Ā" + ] + }, + { + "strings": [ + "S", + "SS", + "Ś", + "Š" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "fr-CH", + "name": "Swiss French" +} diff --git a/data/osk-layouts/ch.json b/data/osk-layouts/ch.json new file mode 100644 index 0000000..aa062b0 --- /dev/null +++ b/data/osk-layouts/ch.json @@ -0,0 +1,978 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "è", + "ê", + "ë", + "ė" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "u", + "ü", + "û", + "ù", + "ú", + "ū" + ] + }, + { + "strings": [ + "i" + ] + }, + { + "strings": [ + "o", + "ö", + "ô", + "ò", + "ó", + "õ", + "œ", + "ø", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "ä", + "â", + "à", + "á", + "æ", + "ã", + "å", + "ā" + ] + }, + { + "strings": [ + "s", + "ß", + "ś", + "š" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "È", + "Ê", + "Ë", + "Ė" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "U", + "Ü", + "Û", + "Ù", + "Ú", + "Ū" + ] + }, + { + "strings": [ + "I" + ] + }, + { + "strings": [ + "O", + "Ö", + "Ô", + "Ò", + "Ó", + "Õ", + "Œ", + "Ø", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Ä", + "Â", + "À", + "Á", + "Æ", + "Ã", + "Å", + "Ā" + ] + }, + { + "strings": [ + "S", + "SS", + "Ś", + "Š" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "de-CH", + "name": "Swiss German" +} diff --git a/data/osk-layouts/cz.json b/data/osk-layouts/cz.json new file mode 100644 index 0000000..7a3d09a --- /dev/null +++ b/data/osk-layouts/cz.json @@ -0,0 +1,1021 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "ě", + "è", + "ê", + "ë", + "ę", + "ė", + "ē" + ] + }, + { + "strings": [ + "r", + "ř" + ] + }, + { + "strings": [ + "t", + "ť" + ] + }, + { + "strings": [ + "z", + "ž", + "ź", + "ż" + ] + }, + { + "strings": [ + "u", + "ú", + "ů", + "û", + "ü", + "ù", + "ū" + ] + }, + { + "strings": [ + "i", + "í", + "î", + "ï", + "ì", + "į", + "ī" + ] + }, + { + "strings": [ + "o", + "ó", + "ö", + "ô", + "ò", + "õ", + "œ", + "ø", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "á", + "à", + "â", + "ä", + "æ", + "ã", + "å", + "ā" + ] + }, + { + "strings": [ + "s", + "š", + "ß", + "ś" + ] + }, + { + "strings": [ + "d", + "ď" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "y", + "ý", + "ÿ" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "č", + "ç", + "ć" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ň", + "ñ", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "Ě", + "È", + "Ê", + "Ë", + "Ę", + "Ė", + "Ē" + ] + }, + { + "strings": [ + "R", + "Ř" + ] + }, + { + "strings": [ + "T", + "Ť" + ] + }, + { + "strings": [ + "Z", + "Ž", + "Ź", + "Ż" + ] + }, + { + "strings": [ + "U", + "Ú", + "Ů", + "Û", + "Ü", + "Ù", + "Ū" + ] + }, + { + "strings": [ + "I", + "Í", + "Î", + "Ï", + "Ì", + "Į", + "Ī" + ] + }, + { + "strings": [ + "O", + "Ó", + "Ö", + "Ô", + "Ò", + "Õ", + "Œ", + "Ø", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Á", + "À", + "Â", + "Ä", + "Æ", + "Ã", + "Å", + "Ā" + ] + }, + { + "strings": [ + "S", + "Š", + "SS", + "Ś" + ] + }, + { + "strings": [ + "D", + "Ď" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Y", + "Ý", + "Ÿ" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Č", + "Ç", + "Ć" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ň", + "Ñ", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "cs", + "name": "Czech" +} diff --git a/data/osk-layouts/de.json b/data/osk-layouts/de.json new file mode 100644 index 0000000..d36e399 --- /dev/null +++ b/data/osk-layouts/de.json @@ -0,0 +1,978 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "è", + "ê", + "ë", + "ė" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "u", + "ü", + "û", + "ù", + "ú", + "ū" + ] + }, + { + "strings": [ + "i" + ] + }, + { + "strings": [ + "o", + "ö", + "ô", + "ò", + "ó", + "õ", + "œ", + "ø", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "ä", + "â", + "à", + "á", + "æ", + "ã", + "å", + "ā" + ] + }, + { + "strings": [ + "s", + "ß", + "ś", + "š" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "È", + "Ê", + "Ë", + "Ė" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "U", + "Ü", + "Û", + "Ù", + "Ú", + "Ū" + ] + }, + { + "strings": [ + "I" + ] + }, + { + "strings": [ + "O", + "Ö", + "Ô", + "Ò", + "Ó", + "Õ", + "Œ", + "Ø", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Ä", + "Â", + "À", + "Á", + "Æ", + "Ã", + "Å", + "Ā" + ] + }, + { + "strings": [ + "S", + "SS", + "Ś", + "Š" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "de", + "name": "German" +} diff --git a/data/osk-layouts/dk.json b/data/osk-layouts/dk.json new file mode 100644 index 0000000..3b01ac8 --- /dev/null +++ b/data/osk-layouts/dk.json @@ -0,0 +1,1012 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "ë" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y", + "ý", + "ÿ" + ] + }, + { + "strings": [ + "u", + "ú", + "ü", + "û", + "ù", + "ū" + ] + }, + { + "strings": [ + "i", + "í", + "ï" + ] + }, + { + "strings": [ + "o", + "ó", + "ô", + "ò", + "õ", + "œ", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "strings": [ + "å" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "á", + "ä", + "à", + "â", + "ã", + "ā" + ] + }, + { + "strings": [ + "s", + "ß", + "ś", + "š" + ] + }, + { + "strings": [ + "d", + "ð" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l", + "ł" + ] + }, + { + "strings": [ + "æ", + "ä" + ] + }, + { + "strings": [ + "ø", + "ö" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "Ë" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y", + "Ý", + "Ÿ" + ] + }, + { + "strings": [ + "U", + "Ú", + "Ü", + "Û", + "Ù", + "Ū" + ] + }, + { + "strings": [ + "I", + "Í", + "Ï" + ] + }, + { + "strings": [ + "O", + "Ó", + "Ô", + "Ò", + "Õ", + "Œ", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "strings": [ + "Å" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Á", + "Ä", + "À", + "Â", + "Ã", + "Ā" + ] + }, + { + "strings": [ + "S", + "SS", + "Ś", + "Š" + ] + }, + { + "strings": [ + "D", + "Ð" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L", + "Ł" + ] + }, + { + "strings": [ + "Æ", + "Ä" + ] + }, + { + "strings": [ + "Ø", + "Ö" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "da", + "name": "Danish" +} diff --git a/data/osk-layouts/ee.json b/data/osk-layouts/ee.json new file mode 100644 index 0000000..f858a62 --- /dev/null +++ b/data/osk-layouts/ee.json @@ -0,0 +1,1088 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "ē", + "è", + "ė", + "é", + "ê", + "ë", + "ę", + "ě" + ] + }, + { + "strings": [ + "r", + "ŗ", + "ř", + "ŕ" + ] + }, + { + "strings": [ + "t", + "ţ", + "ť" + ] + }, + { + "strings": [ + "y", + "ý", + "ÿ" + ] + }, + { + "strings": [ + "u", + "ü", + "ū", + "ų", + "ù", + "ú", + "û", + "ů", + "ű" + ] + }, + { + "strings": [ + "i", + "ī", + "ì", + "į", + "í", + "î", + "ï", + "ı" + ] + }, + { + "strings": [ + "o", + "ö", + "õ", + "ò", + "ó", + "ô", + "œ", + "ő", + "ø" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "strings": [ + "ü" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "ä", + "ā", + "à", + "á", + "â", + "ã", + "å", + "æ", + "ą" + ] + }, + { + "strings": [ + "s", + "š", + "ß", + "ś", + "ş" + ] + }, + { + "strings": [ + "d", + "ď" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g", + "ģ", + "ğ" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k", + "ķ" + ] + }, + { + "strings": [ + "l", + "ļ", + "ł", + "ĺ", + "ľ" + ] + }, + { + "strings": [ + "ö", + "õ" + ] + }, + { + "strings": [ + "ä" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + }, + { + "strings": [ + "z", + "ž", + "ż", + "ź" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "č", + "ç", + "ć" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ņ", + "ñ", + "ń", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "Ē", + "È", + "Ė", + "É", + "Ê", + "Ë", + "Ę", + "Ě" + ] + }, + { + "strings": [ + "R", + "Ŗ", + "Ř", + "Ŕ" + ] + }, + { + "strings": [ + "T", + "Ţ", + "Ť" + ] + }, + { + "strings": [ + "Y", + "Ý", + "Ÿ" + ] + }, + { + "strings": [ + "U", + "Ü", + "Ū", + "Ų", + "Ù", + "Ú", + "Û", + "Ů", + "Ű" + ] + }, + { + "strings": [ + "I", + "Ī", + "Ì", + "Į", + "Í", + "Î", + "Ï", + "I" + ] + }, + { + "strings": [ + "O", + "Ö", + "Õ", + "Ò", + "Ó", + "Ô", + "Œ", + "Ő", + "Ø" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "strings": [ + "Ü" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Ä", + "Ā", + "À", + "Á", + "Â", + "Ã", + "Å", + "Æ", + "Ą" + ] + }, + { + "strings": [ + "S", + "Š", + "SS", + "Ś", + "Ş" + ] + }, + { + "strings": [ + "D", + "Ď" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G", + "Ģ", + "Ğ" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K", + "Ķ" + ] + }, + { + "strings": [ + "L", + "Ļ", + "Ł", + "Ĺ", + "Ľ" + ] + }, + { + "strings": [ + "Ö", + "Õ" + ] + }, + { + "strings": [ + "Ä" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "Z", + "Ž", + "Ż", + "Ź" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Č", + "Ç", + "Ć" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ņ", + "Ñ", + "Ń", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "et", + "name": "Estonian" +} diff --git a/data/osk-layouts/epo.json b/data/osk-layouts/epo.json new file mode 100644 index 0000000..a6d262c --- /dev/null +++ b/data/osk-layouts/epo.json @@ -0,0 +1,1123 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "ŝ", + "q" + ] + }, + { + "strings": [ + "ĝ", + "w", + "ŵ" + ] + }, + { + "strings": [ + "e", + "é", + "ě", + "è", + "ê", + "ë", + "ę", + "ė", + "ē" + ] + }, + { + "strings": [ + "r", + "ř", + "ŕ", + "ŗ" + ] + }, + { + "strings": [ + "t", + "ť", + "ț", + "ţ", + "ŧ" + ] + }, + { + "strings": [ + "ŭ", + "y", + "ý", + "ŷ", + "ÿ", + "þ" + ] + }, + { + "strings": [ + "u", + "ú", + "ů", + "û", + "ü", + "ù", + "ū", + "ũ", + "ű", + "ų", + "µ" + ] + }, + { + "strings": [ + "i", + "í", + "î", + "ï", + "ĩ", + "ì", + "į", + "ī", + "ı", + "ij" + ] + }, + { + "strings": [ + "o", + "ó", + "ö", + "ô", + "ò", + "õ", + "œ", + "ø", + "ō", + "ő", + "º" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "á", + "à", + "â", + "ä", + "æ", + "ã", + "å", + "ā", + "ă", + "ą", + "ª" + ] + }, + { + "strings": [ + "s", + "ß", + "š", + "ś", + "ș", + "ş" + ] + }, + { + "strings": [ + "d", + "ð", + "ď", + "đ" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g", + "ğ", + "ġ", + "ģ" + ] + }, + { + "strings": [ + "h", + "ĥ", + "ħ" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k", + "ķ", + "ĸ" + ] + }, + { + "strings": [ + "l", + "ĺ", + "ļ", + "ľ", + "ŀ", + "ł" + ] + }, + { + "strings": [ + "ĵ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z", + "ź", + "ż", + "ž" + ] + }, + { + "strings": [ + "ĉ", + "x" + ] + }, + { + "strings": [ + "c", + "ć", + "č", + "ç", + "ċ" + ] + }, + { + "strings": [ + "v", + "w", + "ŵ" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ", + "ń", + "ņ", + "ň", + "ʼn", + "ŋ" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Ŝ", + "Q" + ] + }, + { + "strings": [ + "Ĝ", + "W", + "Ŵ" + ] + }, + { + "strings": [ + "E", + "É", + "Ě", + "È", + "Ê", + "Ë", + "Ę", + "Ė", + "Ē" + ] + }, + { + "strings": [ + "R", + "Ř", + "Ŕ", + "Ŗ" + ] + }, + { + "strings": [ + "T", + "Ť", + "Ț", + "Ţ", + "Ŧ" + ] + }, + { + "strings": [ + "Ŭ", + "Y", + "Ý", + "Ŷ", + "Ÿ", + "Þ" + ] + }, + { + "strings": [ + "U", + "Ú", + "Ů", + "Û", + "Ü", + "Ù", + "Ū", + "Ũ", + "Ű", + "Ų", + "Μ" + ] + }, + { + "strings": [ + "I", + "Í", + "Î", + "Ï", + "Ĩ", + "Ì", + "Į", + "Ī", + "I", + "IJ" + ] + }, + { + "strings": [ + "O", + "Ó", + "Ö", + "Ô", + "Ò", + "Õ", + "Œ", + "Ø", + "Ō", + "Ő", + "º" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Á", + "À", + "Â", + "Ä", + "Æ", + "Ã", + "Å", + "Ā", + "Ă", + "Ą", + "ª" + ] + }, + { + "strings": [ + "S", + "SS", + "Š", + "Ś", + "Ș", + "Ş" + ] + }, + { + "strings": [ + "D", + "Ð", + "Ď", + "Đ" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G", + "Ğ", + "Ġ", + "Ģ" + ] + }, + { + "strings": [ + "H", + "Ĥ", + "Ħ" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K", + "Ķ", + "ĸ" + ] + }, + { + "strings": [ + "L", + "Ĺ", + "Ļ", + "Ľ", + "Ŀ", + "Ł" + ] + }, + { + "strings": [ + "Ĵ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z", + "Ź", + "Ż", + "Ž" + ] + }, + { + "strings": [ + "Ĉ", + "X" + ] + }, + { + "strings": [ + "C", + "Ć", + "Č", + "Ç", + "Ċ" + ] + }, + { + "strings": [ + "V", + "W", + "Ŵ" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ", + "Ń", + "Ņ", + "Ň", + "ʼN", + "Ŋ" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "eo", + "name": "Esperanto" +} diff --git a/data/osk-layouts/es+cat.json b/data/osk-layouts/es+cat.json new file mode 100644 index 0000000..fab8d4e --- /dev/null +++ b/data/osk-layouts/es+cat.json @@ -0,0 +1,1014 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "è", + "é", + "ë", + "ê", + "ę", + "ė", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u", + "ú", + "ü", + "ù", + "û", + "ū" + ] + }, + { + "strings": [ + "i", + "í", + "ï", + "ì", + "î", + "į", + "ī" + ] + }, + { + "strings": [ + "o", + "ò", + "ó", + "ö", + "ô", + "õ", + "ø", + "œ", + "ō", + "º" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "à", + "á", + "ä", + "â", + "ã", + "å", + "ą", + "æ", + "ā", + "ª" + ] + }, + { + "strings": [ + "s" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l", + "l·l", + "ł" + ] + }, + { + "strings": [ + "ç" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "ç", + "ć", + "č" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "·", + "!", + ",", + "?", + ":", + ";", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "È", + "É", + "Ë", + "Ê", + "Ę", + "Ė", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U", + "Ú", + "Ü", + "Ù", + "Û", + "Ū" + ] + }, + { + "strings": [ + "I", + "Í", + "Ï", + "Ì", + "Î", + "Į", + "Ī" + ] + }, + { + "strings": [ + "O", + "Ò", + "Ó", + "Ö", + "Ô", + "Õ", + "Ø", + "Œ", + "Ō", + "º" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "À", + "Á", + "Ä", + "Â", + "Ã", + "Å", + "Ą", + "Æ", + "Ā", + "ª" + ] + }, + { + "strings": [ + "S" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L", + "L·L", + "Ł" + ] + }, + { + "strings": [ + "Ç" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Ç", + "Ć", + "Č" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "·", + "!", + ",", + "?", + ":", + ";", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "?", + "·" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "?", + "·" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "ca", + "name": "Catalan" +} diff --git a/data/osk-layouts/es.json b/data/osk-layouts/es.json new file mode 100644 index 0000000..652c07f --- /dev/null +++ b/data/osk-layouts/es.json @@ -0,0 +1,1016 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "è", + "ë", + "ê", + "ę", + "ė", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u", + "ú", + "ü", + "ù", + "û", + "ū" + ] + }, + { + "strings": [ + "i", + "í", + "ï", + "ì", + "î", + "į", + "ī" + ] + }, + { + "strings": [ + "o", + "ó", + "ò", + "ö", + "ô", + "õ", + "ø", + "œ", + "ō", + "º" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "á", + "à", + "ä", + "â", + "ã", + "å", + "ą", + "æ", + "ā", + "ª" + ] + }, + { + "strings": [ + "s" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "strings": [ + "ñ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "ç", + "ć", + "č" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + ";", + "!", + ",", + "?", + ":", + "¡", + "@", + "¿" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "È", + "Ë", + "Ê", + "Ę", + "Ė", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U", + "Ú", + "Ü", + "Ù", + "Û", + "Ū" + ] + }, + { + "strings": [ + "I", + "Í", + "Ï", + "Ì", + "Î", + "Į", + "Ī" + ] + }, + { + "strings": [ + "O", + "Ó", + "Ò", + "Ö", + "Ô", + "Õ", + "Ø", + "Œ", + "Ō", + "º" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Á", + "À", + "Ä", + "Â", + "Ã", + "Å", + "Ą", + "Æ", + "Ā", + "ª" + ] + }, + { + "strings": [ + "S" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "strings": [ + "Ñ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Ç", + "Ć", + "Č" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + ";", + "!", + ",", + "?", + ":", + "¡", + "@", + "¿" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + ",", + "!", + "¡" + ] + }, + { + "strings": [ + ".", + "?", + "¿" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + ",", + "!", + "¡" + ] + }, + { + "strings": [ + ".", + "?", + "¿" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "es", + "name": "Spanish" +} diff --git a/data/osk-layouts/fi.json b/data/osk-layouts/fi.json new file mode 100644 index 0000000..b7d0d81 --- /dev/null +++ b/data/osk-layouts/fi.json @@ -0,0 +1,992 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u", + "ü" + ] + }, + { + "strings": [ + "i" + ] + }, + { + "strings": [ + "o", + "ø", + "ô", + "ò", + "ó", + "õ", + "œ", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "strings": [ + "å" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "æ", + "à", + "á", + "â", + "ã", + "ā" + ] + }, + { + "strings": [ + "s", + "š", + "ß", + "ś" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "strings": [ + "ö", + "ø" + ] + }, + { + "strings": [ + "ä", + "æ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + }, + { + "strings": [ + "z", + "ž", + "ź", + "ż" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U", + "Ü" + ] + }, + { + "strings": [ + "I" + ] + }, + { + "strings": [ + "O", + "Ø", + "Ô", + "Ò", + "Ó", + "Õ", + "Œ", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "strings": [ + "Å" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Æ", + "À", + "Á", + "Â", + "Ã", + "Ā" + ] + }, + { + "strings": [ + "S", + "Š", + "SS", + "Ś" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "strings": [ + "Ö", + "Ø" + ] + }, + { + "strings": [ + "Ä", + "Æ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "Z", + "Ž", + "Ź", + "Ż" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "fi", + "name": "Finnish" +} diff --git a/data/osk-layouts/fr.json b/data/osk-layouts/fr.json new file mode 100644 index 0000000..bf1ba86 --- /dev/null +++ b/data/osk-layouts/fr.json @@ -0,0 +1,1026 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "a", + "à", + "â", + "%", + "æ", + "á", + "ä", + "ã", + "å", + "ā", + "ª" + ] + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "e", + "é", + "è", + "ê", + "ë", + "%", + "ę", + "ė", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y", + "%", + "ÿ" + ] + }, + { + "strings": [ + "u", + "ù", + "û", + "%", + "ü", + "ú", + "ū" + ] + }, + { + "strings": [ + "i", + "î", + "%", + "ï", + "ì", + "í", + "į", + "ī" + ] + }, + { + "strings": [ + "o", + "ô", + "œ", + "%", + "ö", + "ò", + "ó", + "õ", + "ø", + "ō", + "º" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "s" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "ç", + "ć", + "č" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "A", + "À", + "Â", + "%", + "Æ", + "Á", + "Ä", + "Ã", + "Å", + "Ā", + "ª" + ] + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "E", + "É", + "È", + "Ê", + "Ë", + "%", + "Ę", + "Ė", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y", + "%", + "Ÿ" + ] + }, + { + "strings": [ + "U", + "Ù", + "Û", + "%", + "Ü", + "Ú", + "Ū" + ] + }, + { + "strings": [ + "I", + "Î", + "%", + "Ï", + "Ì", + "Í", + "Į", + "Ī" + ] + }, + { + "strings": [ + "O", + "Ô", + "Œ", + "%", + "Ö", + "Ò", + "Ó", + "Õ", + "Ø", + "Ō", + "º" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "S" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Ç", + "Ć", + "Č" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "fr", + "name": "French" +} diff --git a/data/osk-layouts/ge.json b/data/osk-layouts/ge.json new file mode 100644 index 0000000..7bc88d5 --- /dev/null +++ b/data/osk-layouts/ge.json @@ -0,0 +1,705 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "ქ" + ] + }, + { + "strings": [ + "წ" + ] + }, + { + "strings": [ + "ე", + "ჱ" + ] + }, + { + "strings": [ + "რ" + ] + }, + { + "strings": [ + "ტ" + ] + }, + { + "strings": [ + "ყ", + "ჸ" + ] + }, + { + "strings": [ + "უ" + ] + }, + { + "strings": [ + "ი", + "ჲ" + ] + }, + { + "strings": [ + "ო" + ] + }, + { + "strings": [ + "პ" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ა", + "ჺ" + ] + }, + { + "strings": [ + "ს" + ] + }, + { + "strings": [ + "დ" + ] + }, + { + "strings": [ + "ფ", + "ჶ" + ] + }, + { + "strings": [ + "გ", + "ჹ" + ] + }, + { + "strings": [ + "ჰ", + "ჵ" + ] + }, + { + "strings": [ + "ჯ", + "ჷ" + ] + }, + { + "strings": [ + "კ" + ] + }, + { + "strings": [ + "ლ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2.5 + } + ], + [ + { + "strings": [ + "ზ" + ] + }, + { + "strings": [ + "ხ", + "ჴ" + ] + }, + { + "strings": [ + "ც" + ] + }, + { + "strings": [ + "ვ", + "ჳ" + ] + }, + { + "strings": [ + "ბ" + ] + }, + { + "strings": [ + "ნ", + "ჼ" + ] + }, + { + "strings": [ + "მ" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "ka", + "name": "Georgian" +} diff --git a/data/osk-layouts/gr.json b/data/osk-layouts/gr.json new file mode 100644 index 0000000..a60a186 --- /dev/null +++ b/data/osk-layouts/gr.json @@ -0,0 +1,940 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + ";", + ":" + ] + }, + { + "strings": [ + "ς" + ] + }, + { + "strings": [ + "ε", + "έ" + ] + }, + { + "strings": [ + "ρ" + ] + }, + { + "strings": [ + "τ" + ] + }, + { + "strings": [ + "υ", + "ύ", + "ϋ", + "ΰ" + ] + }, + { + "strings": [ + "θ" + ] + }, + { + "strings": [ + "ι", + "ί", + "ϊ", + "ΐ" + ] + }, + { + "strings": [ + "ο", + "ό" + ] + }, + { + "strings": [ + "π" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "α", + "ά" + ] + }, + { + "strings": [ + "σ" + ] + }, + { + "strings": [ + "δ" + ] + }, + { + "strings": [ + "φ" + ] + }, + { + "strings": [ + "γ" + ] + }, + { + "strings": [ + "η", + "ή" + ] + }, + { + "strings": [ + "ξ" + ] + }, + { + "strings": [ + "κ" + ] + }, + { + "strings": [ + "λ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "ζ" + ] + }, + { + "strings": [ + "χ" + ] + }, + { + "strings": [ + "ψ" + ] + }, + { + "strings": [ + "ω", + "ώ" + ] + }, + { + "strings": [ + "β" + ] + }, + { + "strings": [ + "ν" + ] + }, + { + "strings": [ + "μ" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + ";", + ":" + ] + }, + { + "strings": [ + "Σ" + ] + }, + { + "strings": [ + "Ε", + "Έ" + ] + }, + { + "strings": [ + "Ρ" + ] + }, + { + "strings": [ + "Τ" + ] + }, + { + "strings": [ + "Υ", + "Ύ", + "Ϋ", + "Ϋ́" + ] + }, + { + "strings": [ + "Θ" + ] + }, + { + "strings": [ + "Ι", + "Ί", + "Ϊ", + "Ϊ́" + ] + }, + { + "strings": [ + "Ο", + "Ό" + ] + }, + { + "strings": [ + "Π" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "Α", + "Ά" + ] + }, + { + "strings": [ + "Σ" + ] + }, + { + "strings": [ + "Δ" + ] + }, + { + "strings": [ + "Φ" + ] + }, + { + "strings": [ + "Γ" + ] + }, + { + "strings": [ + "Η", + "Ή" + ] + }, + { + "strings": [ + "Ξ" + ] + }, + { + "strings": [ + "Κ" + ] + }, + { + "strings": [ + "Λ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Ζ" + ] + }, + { + "strings": [ + "Χ" + ] + }, + { + "strings": [ + "Ψ" + ] + }, + { + "strings": [ + "Ω", + "Ώ" + ] + }, + { + "strings": [ + "Β" + ] + }, + { + "strings": [ + "Ν" + ] + }, + { + "strings": [ + "Μ" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "el", + "name": "Greek" +} diff --git a/data/osk-layouts/hr.json b/data/osk-layouts/hr.json new file mode 100644 index 0000000..444014b --- /dev/null +++ b/data/osk-layouts/hr.json @@ -0,0 +1,939 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "z", + "ž", + "ź", + "ż" + ] + }, + { + "strings": [ + "u" + ] + }, + { + "strings": [ + "i" + ] + }, + { + "strings": [ + "o" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a" + ] + }, + { + "strings": [ + "s", + "š", + "ś", + "ß" + ] + }, + { + "strings": [ + "d", + "đ" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "č", + "ć", + "ç" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Z", + "Ž", + "Ź", + "Ż" + ] + }, + { + "strings": [ + "U" + ] + }, + { + "strings": [ + "I" + ] + }, + { + "strings": [ + "O" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A" + ] + }, + { + "strings": [ + "S", + "Š", + "Ś", + "SS" + ] + }, + { + "strings": [ + "D", + "Đ" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Č", + "Ć", + "Ç" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "hr", + "name": "Croatian" +} diff --git a/data/osk-layouts/hu.json b/data/osk-layouts/hu.json new file mode 100644 index 0000000..f45f31c --- /dev/null +++ b/data/osk-layouts/hu.json @@ -0,0 +1,987 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "è", + "ê", + "ë", + "ę", + "ė", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "u", + "ú", + "ü", + "ű", + "û", + "ù", + "ū" + ] + }, + { + "strings": [ + "i", + "í", + "î", + "ï", + "ì", + "į", + "ī" + ] + }, + { + "strings": [ + "o", + "ó", + "ö", + "ő", + "ô", + "ò", + "õ", + "œ", + "ø", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "á", + "à", + "â", + "ä", + "æ", + "ã", + "å", + "ā" + ] + }, + { + "strings": [ + "s" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "È", + "Ê", + "Ë", + "Ę", + "Ė", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "U", + "Ú", + "Ü", + "Ű", + "Û", + "Ù", + "Ū" + ] + }, + { + "strings": [ + "I", + "Í", + "Î", + "Ï", + "Ì", + "Į", + "Ī" + ] + }, + { + "strings": [ + "O", + "Ó", + "Ö", + "Ő", + "Ô", + "Ò", + "Õ", + "Œ", + "Ø", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Á", + "À", + "Â", + "Ä", + "Æ", + "Ã", + "Å", + "Ā" + ] + }, + { + "strings": [ + "S" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "hu", + "name": "Hungarian" +} diff --git a/data/osk-layouts/id.json b/data/osk-layouts/id.json new file mode 100644 index 0000000..6d57095 --- /dev/null +++ b/data/osk-layouts/id.json @@ -0,0 +1,915 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u" + ] + }, + { + "strings": [ + "i" + ] + }, + { + "strings": [ + "o" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a" + ] + }, + { + "strings": [ + "s" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U" + ] + }, + { + "strings": [ + "I" + ] + }, + { + "strings": [ + "O" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A" + ] + }, + { + "strings": [ + "S" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "id", + "name": "Indonesian" +} diff --git a/data/osk-layouts/il.json b/data/osk-layouts/il.json new file mode 100644 index 0000000..d797b74 --- /dev/null +++ b/data/osk-layouts/il.json @@ -0,0 +1,718 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "'", + "\"" + ] + }, + { + "strings": [ + "-", + "_" + ] + }, + { + "strings": [ + "ק" + ] + }, + { + "strings": [ + "ר" + ] + }, + { + "strings": [ + "א" + ] + }, + { + "strings": [ + "ט" + ] + }, + { + "strings": [ + "ו" + ] + }, + { + "strings": [ + "ן" + ] + }, + { + "strings": [ + "ם" + ] + }, + { + "strings": [ + "פ" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ש" + ] + }, + { + "strings": [ + "ד" + ] + }, + { + "strings": [ + "ג", + "ג׳" + ] + }, + { + "strings": [ + "כ" + ] + }, + { + "strings": [ + "ע" + ] + }, + { + "strings": [ + "י", + "ײַ" + ] + }, + { + "strings": [ + "ח", + "ח׳" + ] + }, + { + "strings": [ + "ל" + ] + }, + { + "strings": [ + "ך" + ] + }, + { + "strings": [ + "ף" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ז", + "ז׳" + ] + }, + { + "strings": [ + "ס" + ] + }, + { + "strings": [ + "ב" + ] + }, + { + "strings": [ + "ה" + ] + }, + { + "strings": [ + "נ" + ] + }, + { + "strings": [ + "מ" + ] + }, + { + "strings": [ + "צ", + "צ׳" + ] + }, + { + "strings": [ + "ת", + "ת׳" + ] + }, + { + "strings": [ + "ץ", + "ץ׳" + ] + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "₪", + "$", + "¢", + "€", + "£", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±", + "﬩" + ] + }, + { + "strings": [ + "(", + ">", + "}", + "]" + ] + }, + { + "strings": [ + ")", + "<", + "{", + "[" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + ",", + "!" + ] + }, + { + "strings": [ + ".", + "?" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + ">", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + ",", + "!" + ] + }, + { + "strings": [ + ".", + "?" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "he", + "name": "Hebrew" +} \ No newline at end of file diff --git a/data/osk-layouts/in+bolnagri.json b/data/osk-layouts/in+bolnagri.json new file mode 100644 index 0000000..e280633 --- /dev/null +++ b/data/osk-layouts/in+bolnagri.json @@ -0,0 +1,745 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "◌ौ" + ] + }, + { + "strings": [ + "◌ै" + ] + }, + { + "strings": [ + "◌ा" + ] + }, + { + "strings": [ + "◌ी" + ] + }, + { + "strings": [ + "◌ू" + ] + }, + { + "strings": [ + "ब", + "ब॒", + "%" + ] + }, + { + "strings": [ + "ह" + ] + }, + { + "strings": [ + "ग", + "ज्ञ", + "ग़", + "ग॒", + "%" + ] + }, + { + "strings": [ + "द" + ] + }, + { + "strings": [ + "ज", + "ज॒", + "ज्ञ", + "ज़", + "%" + ] + }, + { + "strings": [ + "ड", + "ड॒", + "ड़" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "◌ो" + ] + }, + { + "strings": [ + "◌े" + ] + }, + { + "strings": [ + "◌्" + ] + }, + { + "strings": [ + "◌ि" + ] + }, + { + "strings": [ + "◌ु" + ] + }, + { + "strings": [ + "प" + ] + }, + { + "strings": [ + "र", + "ऋ", + "ऱ", + "ॠ" + ] + }, + { + "strings": [ + "क", + "क़" + ] + }, + { + "strings": [ + "त", + "त्र" + ] + }, + { + "strings": [ + "च" + ] + }, + { + "strings": [ + "ट" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "strings": [ + "◌ॉ" + ] + }, + { + "strings": [ + "◌ं" + ] + }, + { + "strings": [ + "म", + "ॐ" + ] + }, + { + "strings": [ + "न", + "ञ", + "ङ", + "ऩ" + ] + }, + { + "strings": [ + "व" + ] + }, + { + "strings": [ + "ल", + "ऌ", + "ॡ" + ] + }, + { + "strings": [ + "स" + ] + }, + { + "strings": [ + "य", + "य़" + ] + }, + { + "strings": [ + "◌़" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "१", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "२", + "²", + "⅔" + ] + }, + { + "strings": [ + "३", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "४", + "⁴" + ] + }, + { + "strings": [ + "५", + "⅝" + ] + }, + { + "strings": [ + "६" + ] + }, + { + "strings": [ + "७", + "⅞" + ] + }, + { + "strings": [ + "८" + ] + }, + { + "strings": [ + "९" + ] + }, + { + "strings": [ + "०", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "₹", + "$", + "¢", + "€", + "£", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "hi", + "name": "Hindi" +} diff --git a/data/osk-layouts/in+mal.json b/data/osk-layouts/in+mal.json new file mode 100644 index 0000000..49dcd6b --- /dev/null +++ b/data/osk-layouts/in+mal.json @@ -0,0 +1,986 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "ൌ" + ] + }, + { + "strings": [ + "ൈ" + ] + }, + { + "strings": [ + "ാ" + ] + }, + { + "strings": [ + "ീ" + ] + }, + { + "strings": [ + "ൂ" + ] + }, + { + "strings": [ + "ബ" + ] + }, + { + "strings": [ + "ഹ" + ] + }, + { + "strings": [ + "ഗ" + ] + }, + { + "strings": [ + "ദ" + ] + }, + { + "strings": [ + "ജ" + ] + }, + { + "strings": [ + "ഡ" + ] + }, + { + "label": "ZWJ", + "strings": [ + "‍" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ോ" + ] + }, + { + "strings": [ + "േ" + ] + }, + { + "strings": [ + "്" + ] + }, + { + "strings": [ + "ി" + ] + }, + { + "strings": [ + "ു" + ] + }, + { + "strings": [ + "പ" + ] + }, + { + "strings": [ + "ര" + ] + }, + { + "strings": [ + "ക" + ] + }, + { + "strings": [ + "ത" + ] + }, + { + "strings": [ + "ച" + ] + }, + { + "strings": [ + "ട" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1 + }, + { + "strings": [ + "െ" + ] + }, + { + "strings": [ + "ം" + ] + }, + { + "strings": [ + "മ", + "ç" + ] + }, + { + "strings": [ + "ന" + ] + }, + { + "strings": [ + "വ" + ] + }, + { + "strings": [ + "ല", + "ñ" + ] + }, + { + "strings": [ + "സ" + ] + }, + { + "strings": [ + "ഷ" + ] + }, + { + "strings": [ + "യ" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 7 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "ഐ" + ] + }, + { + "strings": [ + "ആ" + ] + }, + { + "strings": [ + "ഈ" + ] + }, + { + "strings": [ + "ഊ" + ] + }, + { + "strings": [ + "ഭ" + ] + }, + { + "strings": [ + "ങ" + ] + }, + { + "strings": [ + "ഘ" + ] + }, + { + "strings": [ + "ധ" + ] + }, + { + "strings": [ + "ഝ" + ] + }, + { + "strings": [ + "ഢ" + ] + }, + { + "strings": [ + "ഞ" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 2.5 + } + ], + [ + { + "strings": [ + "ഓ" + ] + }, + { + "strings": [ + "ഏ" + ] + }, + { + "strings": [ + "അ" + ] + }, + { + "strings": [ + "ഇ" + ] + }, + { + "strings": [ + "ഉ" + ] + }, + { + "strings": [ + "ഫ" + ] + }, + { + "strings": [ + "റ" + ] + }, + { + "strings": [ + "ഖ" + ] + }, + { + "strings": [ + "ഥ" + ] + }, + { + "strings": [ + "ഛ" + ] + }, + { + "strings": [ + "ഠ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "എ" + ] + }, + { + "label": "ZWJ", + "strings": [ + "​" + ] + }, + { + "strings": [ + "ണ" + ] + }, + { + "strings": [ + "ന" + ] + }, + { + "strings": [ + "ഴ" + ] + }, + { + "strings": [ + "ള" + ] + }, + { + "strings": [ + "ശ" + ] + }, + { + "strings": [ + "ഷ" + ] + }, + { + "strings": [ + "യ" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 7 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "൧", + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "൨", + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "൩", + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "൪", + "4", + "⁴" + ] + }, + { + "strings": [ + "൫", + "5", + "⅝" + ] + }, + { + "strings": [ + "൬", + "6" + ] + }, + { + "strings": [ + "൭", + "7", + "⅞" + ] + }, + { + "strings": [ + "൮", + "8" + ] + }, + { + "strings": [ + "൯", + "9" + ] + }, + { + "strings": [ + "൦", + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "₹", + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "ml", + "name": "Malayalam" +} diff --git a/data/osk-layouts/ir.json b/data/osk-layouts/ir.json new file mode 100644 index 0000000..eab25bb --- /dev/null +++ b/data/osk-layouts/ir.json @@ -0,0 +1,797 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "ض" + ] + }, + { + "strings": [ + "ص" + ] + }, + { + "strings": [ + "ث" + ] + }, + { + "strings": [ + "ق", + "ڨ" + ] + }, + { + "strings": [ + "ف", + "ڤ", + "ڢ", + "ڥ" + ] + }, + { + "strings": [ + "غ" + ] + }, + { + "strings": [ + "ع" + ] + }, + { + "strings": [ + "ه", + "ه‍" + ] + }, + { + "strings": [ + "خ" + ] + }, + { + "strings": [ + "ح" + ] + }, + { + "strings": [ + "ج", + "چ" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ش", + "ڜ" + ] + }, + { + "strings": [ + "س" + ] + }, + { + "strings": [ + "ي", + "ئ", + "ى" + ] + }, + { + "strings": [ + "ب", + "پ" + ] + }, + { + "strings": [ + "ل", + "لا", + "لأ", + "لإ", + "لآ" + ] + }, + { + "strings": [ + "ا", + "آ", + "ء", + "أ", + "إ", + "ٱ" + ] + }, + { + "strings": [ + "ت" + ] + }, + { + "strings": [ + "ن" + ] + }, + { + "strings": [ + "م" + ] + }, + { + "strings": [ + "ك", + "گ", + "ک" + ] + }, + { + "strings": [ + "ط" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ذ" + ] + }, + { + "strings": [ + "ء" + ] + }, + { + "strings": [ + "ؤ" + ] + }, + { + "strings": [ + "ر" + ] + }, + { + "strings": [ + "ى", + "ئ" + ] + }, + { + "strings": [ + "ة" + ] + }, + { + "strings": [ + "و" + ] + }, + { + "strings": [ + "ز", + "ژ" + ] + }, + { + "strings": [ + "ظ" + ] + }, + { + "strings": [ + "د" + ] + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "،" + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "\"", + "'", + "#", + "-", + ":", + "!", + "،", + "؟", + "@", + "&", + "%", + "+", + "؛", + "/", + ")", + "(" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "۱", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "۲", + "²", + "⅔" + ] + }, + { + "strings": [ + "۳", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "۴", + "⁴" + ] + }, + { + "strings": [ + "۵", + "⅝" + ] + }, + { + "strings": [ + "۶" + ] + }, + { + "strings": [ + "۷", + "⅞" + ] + }, + { + "strings": [ + "۸" + ] + }, + { + "strings": [ + "۹" + ] + }, + { + "strings": [ + "۰", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "٬", + "@" + ] + }, + { + "strings": [ + "٫", + "#" + ] + }, + { + "strings": [ + "﷼", + "$", + "¢", + "€", + "£", + "¥", + "₱" + ] + }, + { + "strings": [ + "٪", + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "﴿", + ">", + "}", + "]" + ] + }, + { + "strings": [ + ")", + "﴾", + "<", + "{", + "[" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "★", + "٭" + ] + }, + { + "strings": [ + "«", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "»", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + "؛", + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "؟", + "?" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "،", + ":", + "!", + "؟", + "؛", + "-", + "/", + "»", + "«" + ] + }, + { + "strings": [ + ".", + "ٕ", + "ٔ", + "ْ", + "ٍ", + "ٌ", + "ً", + "ّ", + "ٖ", + "ٰ", + "ٓ", + "ِ", + "ُ", + "َ", + "ـ" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "«", + "›", + "≥", + ">" + ] + }, + { + "strings": [ + "»", + "‹", + "≤", + "<" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "،", + ":", + "!", + "؟", + "؛", + "-", + "/", + "»", + "«" + ] + }, + { + "strings": [ + ".", + "ٕ", + "ٔ", + "ْ", + "ٍ", + "ٌ", + "ً", + "ّ", + "ٖ", + "ٰ", + "ٓ", + "ِ", + "ُ", + "َ", + "ـ" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "fa", + "name": "Persian" +} \ No newline at end of file diff --git a/data/osk-layouts/is.json b/data/osk-layouts/is.json new file mode 100644 index 0000000..ac3176c --- /dev/null +++ b/data/osk-layouts/is.json @@ -0,0 +1,991 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "ë", + "è", + "ê", + "ę", + "ė", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t", + "þ" + ] + }, + { + "strings": [ + "y", + "ý", + "ÿ" + ] + }, + { + "strings": [ + "u", + "ú", + "ü", + "û", + "ù", + "ū" + ] + }, + { + "strings": [ + "i", + "í", + "ï", + "î", + "ì", + "į", + "ī" + ] + }, + { + "strings": [ + "o", + "ó", + "ö", + "ô", + "ò", + "õ", + "œ", + "ø", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "á", + "ä", + "æ", + "å", + "à", + "â", + "ã", + "ā" + ] + }, + { + "strings": [ + "s" + ] + }, + { + "strings": [ + "d", + "ð" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "Ë", + "È", + "Ê", + "Ę", + "Ė", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T", + "Þ" + ] + }, + { + "strings": [ + "Y", + "Ý", + "Ÿ" + ] + }, + { + "strings": [ + "U", + "Ú", + "Ü", + "Û", + "Ù", + "Ū" + ] + }, + { + "strings": [ + "I", + "Í", + "Ï", + "Î", + "Ì", + "Į", + "Ī" + ] + }, + { + "strings": [ + "O", + "Ó", + "Ö", + "Ô", + "Ò", + "Õ", + "Œ", + "Ø", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Á", + "Ä", + "Æ", + "Å", + "À", + "Â", + "Ã", + "Ā" + ] + }, + { + "strings": [ + "S" + ] + }, + { + "strings": [ + "D", + "Ð" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "is", + "name": "Icelandic" +} diff --git a/data/osk-layouts/it.json b/data/osk-layouts/it.json new file mode 100644 index 0000000..781aa0f --- /dev/null +++ b/data/osk-layouts/it.json @@ -0,0 +1,988 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "è", + "é", + "ê", + "ë", + "ę", + "ė", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u", + "ù", + "ú", + "û", + "ü", + "ū" + ] + }, + { + "strings": [ + "i", + "ì", + "í", + "î", + "ï", + "į", + "ī" + ] + }, + { + "strings": [ + "o", + "ò", + "ó", + "ô", + "ö", + "õ", + "œ", + "ø", + "ō", + "º" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "à", + "á", + "â", + "ä", + "æ", + "ã", + "å", + "ā", + "ª" + ] + }, + { + "strings": [ + "s" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "È", + "É", + "Ê", + "Ë", + "Ę", + "Ė", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U", + "Ù", + "Ú", + "Û", + "Ü", + "Ū" + ] + }, + { + "strings": [ + "I", + "Ì", + "Í", + "Î", + "Ï", + "Į", + "Ī" + ] + }, + { + "strings": [ + "O", + "Ò", + "Ó", + "Ô", + "Ö", + "Õ", + "Œ", + "Ø", + "Ō", + "º" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "À", + "Á", + "Â", + "Ä", + "Æ", + "Ã", + "Å", + "Ā", + "ª" + ] + }, + { + "strings": [ + "S" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "it", + "name": "Italian" +} diff --git a/data/osk-layouts/ke.json b/data/osk-layouts/ke.json new file mode 100644 index 0000000..de7b8fc --- /dev/null +++ b/data/osk-layouts/ke.json @@ -0,0 +1,985 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "è", + "é", + "ê", + "ë", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u", + "û", + "ü", + "ù", + "ú", + "ū" + ] + }, + { + "strings": [ + "i", + "î", + "ï", + "í", + "ī", + "ì" + ] + }, + { + "strings": [ + "o", + "ô", + "ö", + "ò", + "ó", + "œ", + "ø", + "ō", + "õ" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "à", + "á", + "â", + "ä", + "æ", + "ã", + "å", + "ā" + ] + }, + { + "strings": [ + "s", + "ß" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g", + "g'" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "ç" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "È", + "É", + "Ê", + "Ë", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U", + "Û", + "Ü", + "Ù", + "Ú", + "Ū" + ] + }, + { + "strings": [ + "I", + "Î", + "Ï", + "Í", + "Ī", + "Ì" + ] + }, + { + "strings": [ + "O", + "Ô", + "Ö", + "Ò", + "Ó", + "Œ", + "Ø", + "Ō", + "Õ" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "À", + "Á", + "Â", + "Ä", + "Æ", + "Ã", + "Å", + "Ā" + ] + }, + { + "strings": [ + "S", + "SS" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G", + "G'" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Ç" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "sw", + "name": "Swahili" +} diff --git a/data/osk-layouts/kg.json b/data/osk-layouts/kg.json new file mode 100644 index 0000000..1f806ad --- /dev/null +++ b/data/osk-layouts/kg.json @@ -0,0 +1,971 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "й" + ] + }, + { + "strings": [ + "ц" + ] + }, + { + "strings": [ + "у", + "ү" + ] + }, + { + "strings": [ + "к" + ] + }, + { + "strings": [ + "е", + "ё" + ] + }, + { + "strings": [ + "н", + "ң" + ] + }, + { + "strings": [ + "г" + ] + }, + { + "strings": [ + "ш" + ] + }, + { + "strings": [ + "щ" + ] + }, + { + "strings": [ + "з" + ] + }, + { + "strings": [ + "х" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ф" + ] + }, + { + "strings": [ + "ы" + ] + }, + { + "strings": [ + "в" + ] + }, + { + "strings": [ + "а" + ] + }, + { + "strings": [ + "п" + ] + }, + { + "strings": [ + "р" + ] + }, + { + "strings": [ + "о", + "ө" + ] + }, + { + "strings": [ + "л" + ] + }, + { + "strings": [ + "д" + ] + }, + { + "strings": [ + "ж" + ] + }, + { + "strings": [ + "э" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + }, + { + "strings": [ + "я" + ] + }, + { + "strings": [ + "ч" + ] + }, + { + "strings": [ + "с" + ] + }, + { + "strings": [ + "м" + ] + }, + { + "strings": [ + "и" + ] + }, + { + "strings": [ + "т" + ] + }, + { + "strings": [ + "ь", + "ъ" + ] + }, + { + "strings": [ + "б" + ] + }, + { + "strings": [ + "ю" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Й" + ] + }, + { + "strings": [ + "Ц" + ] + }, + { + "strings": [ + "У", + "Ү" + ] + }, + { + "strings": [ + "К" + ] + }, + { + "strings": [ + "Е", + "Ё" + ] + }, + { + "strings": [ + "Н", + "Ң" + ] + }, + { + "strings": [ + "Г" + ] + }, + { + "strings": [ + "Ш" + ] + }, + { + "strings": [ + "Щ" + ] + }, + { + "strings": [ + "З" + ] + }, + { + "strings": [ + "Х" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "Ф" + ] + }, + { + "strings": [ + "Ы" + ] + }, + { + "strings": [ + "В" + ] + }, + { + "strings": [ + "А" + ] + }, + { + "strings": [ + "П" + ] + }, + { + "strings": [ + "Р" + ] + }, + { + "strings": [ + "О", + "Ө" + ] + }, + { + "strings": [ + "Л" + ] + }, + { + "strings": [ + "Д" + ] + }, + { + "strings": [ + "Ж" + ] + }, + { + "strings": [ + "Э" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "Я" + ] + }, + { + "strings": [ + "Ч" + ] + }, + { + "strings": [ + "С" + ] + }, + { + "strings": [ + "М" + ] + }, + { + "strings": [ + "И" + ] + }, + { + "strings": [ + "Т" + ] + }, + { + "strings": [ + "Ь", + "Ъ" + ] + }, + { + "strings": [ + "Б" + ] + }, + { + "strings": [ + "Ю" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "ky", + "name": "Kirghiz" +} \ No newline at end of file diff --git a/data/osk-layouts/kh.json b/data/osk-layouts/kh.json new file mode 100644 index 0000000..78591b5 --- /dev/null +++ b/data/osk-layouts/kh.json @@ -0,0 +1,817 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "១", + "៱" + ] + }, + { + "strings": [ + "២", + "៲" + ] + }, + { + "strings": [ + "៣", + "៳" + ] + }, + { + "strings": [ + "៤", + "៴" + ] + }, + { + "strings": [ + "៥", + "៵" + ] + }, + { + "strings": [ + "៦", + "៶" + ] + }, + { + "strings": [ + "៧", + "៷" + ] + }, + { + "strings": [ + "៨", + "៸" + ] + }, + { + "strings": [ + "៩", + "៹" + ] + }, + { + "strings": [ + "០", + "៰" + ] + }, + { + "strings": [ + "ឥ", + "", + "ឦ" + ] + }, + { + "strings": [ + "ឲ", + "ឱ" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ឆ" + ] + }, + { + "strings": [ + "ឹ" + ] + }, + { + "strings": [ + "េ" + ] + }, + { + "strings": [ + "រ" + ] + }, + { + "strings": [ + "ត" + ] + }, + { + "strings": [ + "យ" + ] + }, + { + "strings": [ + "ុ" + ] + }, + { + "strings": [ + "ិ" + ] + }, + { + "strings": [ + "ោ" + ] + }, + { + "strings": [ + "ផ" + ] + }, + { + "strings": [ + "ៀ" + ] + }, + { + "strings": [ + "ឪ", + "ឧ", + "ឱ", + "ឳ", + "ឩ", + "ឨ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ា" + ] + }, + { + "strings": [ + "ស" + ] + }, + { + "strings": [ + "ដ" + ] + }, + { + "strings": [ + "ថ" + ] + }, + { + "strings": [ + "ង" + ] + }, + { + "strings": [ + "ហ" + ] + }, + { + "strings": [ + "្" + ] + }, + { + "strings": [ + "ក" + ] + }, + { + "strings": [ + "ល" + ] + }, + { + "strings": [ + "ើ" + ] + }, + { + "strings": [ + "់" + ] + }, + { + "strings": [ + "ឮ", + "ឭ", + "ឰ" + ] + } + ], + [ + { + "strings": [ + "ឋ" + ] + }, + { + "strings": [ + "ខ" + ] + }, + { + "strings": [ + "ច" + ] + }, + { + "strings": [ + "វ" + ] + }, + { + "strings": [ + "ប" + ] + }, + { + "strings": [ + "ន" + ] + }, + { + "strings": [ + "ម" + ] + }, + { + "strings": [ + "ុំ" + ] + }, + { + "strings": [ + "។" + ] + }, + { + "strings": [ + "៊" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 7 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "៛", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "km", + "name": "Khmer" +} diff --git a/data/osk-layouts/kr.json b/data/osk-layouts/kr.json new file mode 100644 index 0000000..d89f8c7 --- /dev/null +++ b/data/osk-layouts/kr.json @@ -0,0 +1,720 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "label": "ㅂ", + "strings": [ + "q" + ] + }, + { + "label": "ㅈ", + "strings": [ + "w" + ] + }, + { + "label": "ㄷ", + "strings": [ + "e" + ] + }, + { + "label": "ㄱ", + "strings": [ + "r" + ] + }, + { + "label": "ㅅ", + "strings": [ + "t" + ] + }, + { + "label": "ㅛ", + "strings": [ + "y" + ] + }, + { + "label": "ㅕ", + "strings": [ + "u" + ] + }, + { + "label": "ㅑ", + "strings": [ + "i" + ] + }, + { + "label": "ㅐ", + "strings": [ + "o" + ] + }, + { + "label": "ㅔ", + "strings": [ + "p" + ] + }, + { + "iconName": "edit-clear-symbolic", + "keyval": "0xff08", + "width": 1.5 + } + ], + [ + { + "label": "ㅁ", + "strings": [ + "a" + ] + }, + { + "label": "ㄴ", + "strings": [ + "s" + ] + }, + { + "label": "ㅇ", + "strings": [ + "d" + ] + }, + { + "label": "ㄹ", + "strings": [ + "f" + ] + }, + { + "label": "ㅎ", + "strings": [ + "g" + ] + }, + { + "label": "ㅗ", + "strings": [ + "h" + ] + }, + { + "label": "ㅓ", + "strings": [ + "j" + ] + }, + { + "label": "ㅏ", + "strings": [ + "k" + ] + }, + { + "label": "ㅣ", + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "label": "ㅋ", + "strings": [ + "z" + ] + }, + { + "label": "ㅌ", + "strings": [ + "x" + ] + }, + { + "label": "ㅊ", + "strings": [ + "c" + ] + }, + { + "label": "ㅍ", + "strings": [ + "v" + ] + }, + { + "label": "ㅠ", + "strings": [ + "b" + ] + }, + { + "label": "ㅜ", + "strings": [ + "n" + ] + }, + { + "label": "ㅡ", + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "iconName": "edit-clear-symbolic", + "keyval": "0xff08", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "iconName": "edit-clear-symbolic", + "keyval": "0xff08", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "kr", + "name": "Korean (Hangul)" +} diff --git a/data/osk-layouts/la.json b/data/osk-layouts/la.json new file mode 100644 index 0000000..65f0fee --- /dev/null +++ b/data/osk-layouts/la.json @@ -0,0 +1,808 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "ຢ", + "໑" + ] + }, + { + "strings": [ + "ຟ", + "໒" + ] + }, + { + "strings": [ + "ໂ", + "໓" + ] + }, + { + "strings": [ + "ຖ", + "໔" + ] + }, + { + "strings": [ + "ຸ" + ] + }, + { + "strings": [ + "ູ" + ] + }, + { + "strings": [ + "ຄ", + "໕" + ] + }, + { + "strings": [ + "ຕ", + "໖" + ] + }, + { + "strings": [ + "ຈ", + "໗" + ] + }, + { + "strings": [ + "ຂ", + "໘" + ] + }, + { + "strings": [ + "ຊ", + "໙" + ] + }, + { + "strings": [ + "ໍ" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ົ" + ] + }, + { + "strings": [ + "ໄ", + "໐" + ] + }, + { + "strings": [ + "ຳ" + ] + }, + { + "strings": [ + "ພ" + ] + }, + { + "strings": [ + "ະ" + ] + }, + { + "strings": [ + "ິ" + ] + }, + { + "strings": [ + "ີ" + ] + }, + { + "strings": [ + "ຮ" + ] + }, + { + "strings": [ + "ນ" + ] + }, + { + "strings": [ + "ຍ" + ] + }, + { + "strings": [ + "ບ" + ] + }, + { + "strings": [ + "ລ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ັ" + ] + }, + { + "strings": [ + "ຫ" + ] + }, + { + "strings": [ + "ກ" + ] + }, + { + "strings": [ + "ດ" + ] + }, + { + "strings": [ + "ເ" + ] + }, + { + "strings": [ + "້" + ] + }, + { + "strings": [ + "່" + ] + }, + { + "strings": [ + "າ" + ] + }, + { + "strings": [ + "ສ" + ] + }, + { + "strings": [ + "ວ" + ] + }, + { + "strings": [ + "ງ" + ] + }, + { + "strings": [ + "“" + ] + } + ], + [ + { + "strings": [ + "ຜ" + ] + }, + { + "strings": [ + "ປ" + ] + }, + { + "strings": [ + "ແ" + ] + }, + { + "strings": [ + "ອ" + ] + }, + { + "strings": [ + "ຶ" + ] + }, + { + "strings": [ + "ື" + ] + }, + { + "strings": [ + "ທ" + ] + }, + { + "strings": [ + "ມ" + ] + }, + { + "strings": [ + "ໃ" + ] + }, + { + "strings": [ + "ຝ" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 7 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "₭", + "$", + "¢", + "€", + "£", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "lo", + "name": "Lao" +} diff --git a/data/osk-layouts/latam.json b/data/osk-layouts/latam.json new file mode 100644 index 0000000..01c67f8 --- /dev/null +++ b/data/osk-layouts/latam.json @@ -0,0 +1,1015 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "è", + "ë", + "ê", + "ę", + "ė", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u", + "ú", + "ü", + "ù", + "û", + "ū" + ] + }, + { + "strings": [ + "i", + "í", + "ï", + "ì", + "î", + "į", + "ī" + ] + }, + { + "strings": [ + "o", + "ó", + "ò", + "ö", + "ô", + "õ", + "ø", + "œ", + "ō", + "º" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "á", + "à", + "ä", + "â", + "ã", + "å", + "ą", + "æ", + "ā", + "ª" + ] + }, + { + "strings": [ + "s" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "strings": [ + "ñ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "ç", + "ć", + "č" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + ";", + "!", + ",", + "?", + ":", + "¡", + "@", + "¿" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "È", + "Ë", + "Ê", + "Ę", + "Ė", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U", + "Ú", + "Ü", + "Ù", + "Û", + "Ū" + ] + }, + { + "strings": [ + "I", + "Í", + "Ï", + "Ì", + "Î", + "Į", + "Ī" + ] + }, + { + "strings": [ + "O", + "Ó", + "Ò", + "Ö", + "Ô", + "Õ", + "Ø", + "Œ", + "Ō", + "º" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Á", + "À", + "Ä", + "Â", + "Ã", + "Å", + "Ą", + "Æ", + "Ā", + "ª" + ] + }, + { + "strings": [ + "S" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "strings": [ + "Ñ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Ç", + "Ć", + "Č" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + ";", + "!", + ",", + "?", + ":", + "¡", + "@", + "¿" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + ",", + "!", + "¡" + ] + }, + { + "strings": [ + ".", + "?", + "¿" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + ",", + "!", + "¡" + ] + }, + { + "strings": [ + ".", + "?", + "¿" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "es-US", + "name": "Spanish United States" +} diff --git a/data/osk-layouts/lt.json b/data/osk-layouts/lt.json new file mode 100644 index 0000000..3f678b5 --- /dev/null +++ b/data/osk-layouts/lt.json @@ -0,0 +1,1055 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "ė", + "ę", + "ē", + "è", + "é", + "ê", + "ë", + "ě" + ] + }, + { + "strings": [ + "r", + "ŗ", + "ř", + "ŕ" + ] + }, + { + "strings": [ + "t", + "ţ", + "ť" + ] + }, + { + "strings": [ + "y", + "ý", + "ÿ" + ] + }, + { + "strings": [ + "u", + "ū", + "ų", + "ü", + "ū", + "ù", + "ú", + "û", + "ů", + "ű" + ] + }, + { + "strings": [ + "i", + "į", + "ī", + "ì", + "í", + "î", + "ï", + "ı" + ] + }, + { + "strings": [ + "o", + "ö", + "õ", + "ò", + "ó", + "ô", + "œ", + "ő", + "ø" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "ą", + "ä", + "ā", + "à", + "á", + "â", + "ã", + "å", + "æ" + ] + }, + { + "strings": [ + "s", + "š", + "ß", + "ś", + "ş" + ] + }, + { + "strings": [ + "d", + "ď" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g", + "ģ", + "ğ" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k", + "ķ" + ] + }, + { + "strings": [ + "l", + "ļ", + "ł", + "ĺ", + "ľ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z", + "ž", + "ż", + "ź" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "č", + "ç", + "ć" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ņ", + "ñ", + "ń", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "Ė", + "Ę", + "Ē", + "È", + "É", + "Ê", + "Ë", + "Ě" + ] + }, + { + "strings": [ + "R", + "Ŗ", + "Ř", + "Ŕ" + ] + }, + { + "strings": [ + "T", + "Ţ", + "Ť" + ] + }, + { + "strings": [ + "Y", + "Ý", + "Ÿ" + ] + }, + { + "strings": [ + "U", + "Ū", + "Ų", + "Ü", + "Ū", + "Ù", + "Ú", + "Û", + "Ů", + "Ű" + ] + }, + { + "strings": [ + "I", + "Į", + "Ī", + "Ì", + "Í", + "Î", + "Ï", + "I" + ] + }, + { + "strings": [ + "O", + "Ö", + "Õ", + "Ò", + "Ó", + "Ô", + "Œ", + "Ő", + "Ø" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Ą", + "Ä", + "Ā", + "À", + "Á", + "Â", + "Ã", + "Å", + "Æ" + ] + }, + { + "strings": [ + "S", + "Š", + "SS", + "Ś", + "Ş" + ] + }, + { + "strings": [ + "D", + "Ď" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G", + "Ģ", + "Ğ" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K", + "Ķ" + ] + }, + { + "strings": [ + "L", + "Ļ", + "Ł", + "Ĺ", + "Ľ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z", + "Ž", + "Ż", + "Ź" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Č", + "Ç", + "Ć" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ņ", + "Ñ", + "Ń", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "lt", + "name": "Lithuanian" +} diff --git a/data/osk-layouts/lv.json b/data/osk-layouts/lv.json new file mode 100644 index 0000000..c3141ff --- /dev/null +++ b/data/osk-layouts/lv.json @@ -0,0 +1,1053 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "ē", + "ė", + "è", + "é", + "ê", + "ë", + "ę", + "ě" + ] + }, + { + "strings": [ + "r", + "ŗ", + "ř", + "ŕ" + ] + }, + { + "strings": [ + "t", + "ţ", + "ť" + ] + }, + { + "strings": [ + "y", + "ý", + "ÿ" + ] + }, + { + "strings": [ + "u", + "ū", + "ų", + "ù", + "ú", + "û", + "ü", + "ů", + "ű" + ] + }, + { + "strings": [ + "i", + "ī", + "į", + "ì", + "í", + "î", + "ï", + "ı" + ] + }, + { + "strings": [ + "o", + "ò", + "ó", + "ô", + "õ", + "ö", + "œ", + "ő", + "ø" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "ā", + "à", + "á", + "â", + "ã", + "ä", + "å", + "æ", + "ą" + ] + }, + { + "strings": [ + "s", + "š", + "ß", + "ś", + "ş" + ] + }, + { + "strings": [ + "d", + "ď" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g", + "ģ", + "ğ" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k", + "ķ" + ] + }, + { + "strings": [ + "l", + "ļ", + "ł", + "ĺ", + "ľ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z", + "ž", + "ż", + "ź" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "č", + "ç", + "ć" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ņ", + "ñ", + "ń", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "Ē", + "Ė", + "È", + "É", + "Ê", + "Ë", + "Ę", + "Ě" + ] + }, + { + "strings": [ + "R", + "Ŗ", + "Ř", + "Ŕ" + ] + }, + { + "strings": [ + "T", + "Ţ", + "Ť" + ] + }, + { + "strings": [ + "Y", + "Ý", + "Ÿ" + ] + }, + { + "strings": [ + "U", + "Ū", + "Ų", + "Ù", + "Ú", + "Û", + "Ü", + "Ů", + "Ű" + ] + }, + { + "strings": [ + "I", + "Ī", + "Į", + "Ì", + "Í", + "Î", + "Ï", + "I" + ] + }, + { + "strings": [ + "O", + "Ò", + "Ó", + "Ô", + "Õ", + "Ö", + "Œ", + "Ő", + "Ø" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Ā", + "À", + "Á", + "Â", + "Ã", + "Ä", + "Å", + "Æ", + "Ą" + ] + }, + { + "strings": [ + "S", + "Š", + "SS", + "Ś", + "Ş" + ] + }, + { + "strings": [ + "D", + "Ď" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G", + "Ģ", + "Ğ" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K", + "Ķ" + ] + }, + { + "strings": [ + "L", + "Ļ", + "Ł", + "Ĺ", + "Ľ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z", + "Ž", + "Ż", + "Ź" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Č", + "Ç", + "Ć" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ņ", + "Ñ", + "Ń", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "lv", + "name": "Latvian" +} diff --git a/data/osk-layouts/mk.json b/data/osk-layouts/mk.json new file mode 100644 index 0000000..0c20ead --- /dev/null +++ b/data/osk-layouts/mk.json @@ -0,0 +1,965 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "љ" + ] + }, + { + "strings": [ + "њ" + ] + }, + { + "strings": [ + "е", + "ѐ" + ] + }, + { + "strings": [ + "р" + ] + }, + { + "strings": [ + "т" + ] + }, + { + "strings": [ + "ѕ" + ] + }, + { + "strings": [ + "у" + ] + }, + { + "strings": [ + "и", + "ѝ" + ] + }, + { + "strings": [ + "о" + ] + }, + { + "strings": [ + "п" + ] + }, + { + "strings": [ + "ш" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "а" + ] + }, + { + "strings": [ + "с" + ] + }, + { + "strings": [ + "д" + ] + }, + { + "strings": [ + "ф" + ] + }, + { + "strings": [ + "г" + ] + }, + { + "strings": [ + "х" + ] + }, + { + "strings": [ + "ј" + ] + }, + { + "strings": [ + "к" + ] + }, + { + "strings": [ + "л" + ] + }, + { + "strings": [ + "ч" + ] + }, + { + "strings": [ + "ќ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + }, + { + "strings": [ + "з" + ] + }, + { + "strings": [ + "џ" + ] + }, + { + "strings": [ + "ц" + ] + }, + { + "strings": [ + "в" + ] + }, + { + "strings": [ + "б" + ] + }, + { + "strings": [ + "н" + ] + }, + { + "strings": [ + "м" + ] + }, + { + "strings": [ + "ѓ" + ] + }, + { + "strings": [ + "ж" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Љ" + ] + }, + { + "strings": [ + "Њ" + ] + }, + { + "strings": [ + "Е", + "Ѐ" + ] + }, + { + "strings": [ + "Р" + ] + }, + { + "strings": [ + "Т" + ] + }, + { + "strings": [ + "Ѕ" + ] + }, + { + "strings": [ + "У" + ] + }, + { + "strings": [ + "И", + "Ѝ" + ] + }, + { + "strings": [ + "О" + ] + }, + { + "strings": [ + "П" + ] + }, + { + "strings": [ + "Ш" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "А" + ] + }, + { + "strings": [ + "С" + ] + }, + { + "strings": [ + "Д" + ] + }, + { + "strings": [ + "Ф" + ] + }, + { + "strings": [ + "Г" + ] + }, + { + "strings": [ + "Х" + ] + }, + { + "strings": [ + "Ј" + ] + }, + { + "strings": [ + "К" + ] + }, + { + "strings": [ + "Л" + ] + }, + { + "strings": [ + "Ч" + ] + }, + { + "strings": [ + "Ќ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "З" + ] + }, + { + "strings": [ + "Џ" + ] + }, + { + "strings": [ + "Ц" + ] + }, + { + "strings": [ + "В" + ] + }, + { + "strings": [ + "Б" + ] + }, + { + "strings": [ + "Н" + ] + }, + { + "strings": [ + "М" + ] + }, + { + "strings": [ + "Ѓ" + ] + }, + { + "strings": [ + "Ж" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "mk", + "name": "Macedonian" +} \ No newline at end of file diff --git a/data/osk-layouts/mn.json b/data/osk-layouts/mn.json new file mode 100644 index 0000000..9cf41f5 --- /dev/null +++ b/data/osk-layouts/mn.json @@ -0,0 +1,971 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "ф" + ] + }, + { + "strings": [ + "ц" + ] + }, + { + "strings": [ + "у" + ] + }, + { + "strings": [ + "ж" + ] + }, + { + "strings": [ + "э" + ] + }, + { + "strings": [ + "н" + ] + }, + { + "strings": [ + "г" + ] + }, + { + "strings": [ + "ш", + "щ" + ] + }, + { + "strings": [ + "ү" + ] + }, + { + "strings": [ + "з" + ] + }, + { + "strings": [ + "к" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "й" + ] + }, + { + "strings": [ + "ы" + ] + }, + { + "strings": [ + "б" + ] + }, + { + "strings": [ + "ө" + ] + }, + { + "strings": [ + "а" + ] + }, + { + "strings": [ + "х" + ] + }, + { + "strings": [ + "р" + ] + }, + { + "strings": [ + "о" + ] + }, + { + "strings": [ + "л" + ] + }, + { + "strings": [ + "д" + ] + }, + { + "strings": [ + "п" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + }, + { + "strings": [ + "я" + ] + }, + { + "strings": [ + "ч" + ] + }, + { + "strings": [ + "ё", + "е" + ] + }, + { + "strings": [ + "с" + ] + }, + { + "strings": [ + "м" + ] + }, + { + "strings": [ + "и" + ] + }, + { + "strings": [ + "т" + ] + }, + { + "strings": [ + "ь", + "ъ" + ] + }, + { + "strings": [ + "в", + "ю" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Ф" + ] + }, + { + "strings": [ + "Ц" + ] + }, + { + "strings": [ + "У" + ] + }, + { + "strings": [ + "Ж" + ] + }, + { + "strings": [ + "Э" + ] + }, + { + "strings": [ + "Н" + ] + }, + { + "strings": [ + "Г" + ] + }, + { + "strings": [ + "Ш", + "Щ" + ] + }, + { + "strings": [ + "Ү" + ] + }, + { + "strings": [ + "З" + ] + }, + { + "strings": [ + "К" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "Й" + ] + }, + { + "strings": [ + "Ы" + ] + }, + { + "strings": [ + "Б" + ] + }, + { + "strings": [ + "Ө" + ] + }, + { + "strings": [ + "А" + ] + }, + { + "strings": [ + "Х" + ] + }, + { + "strings": [ + "Р" + ] + }, + { + "strings": [ + "О" + ] + }, + { + "strings": [ + "Л" + ] + }, + { + "strings": [ + "Д" + ] + }, + { + "strings": [ + "П" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "Я" + ] + }, + { + "strings": [ + "Ч" + ] + }, + { + "strings": [ + "Ё", + "Е" + ] + }, + { + "strings": [ + "С" + ] + }, + { + "strings": [ + "М" + ] + }, + { + "strings": [ + "И" + ] + }, + { + "strings": [ + "Т" + ] + }, + { + "strings": [ + "Ь", + "Ъ" + ] + }, + { + "strings": [ + "В", + "Ю" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "₮", + "$", + "¢", + "€", + "£", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "mn", + "name": "Mongolian" +} \ No newline at end of file diff --git a/data/osk-layouts/my.json b/data/osk-layouts/my.json new file mode 100644 index 0000000..1aedf20 --- /dev/null +++ b/data/osk-layouts/my.json @@ -0,0 +1,915 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u" + ] + }, + { + "strings": [ + "i" + ] + }, + { + "strings": [ + "o" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a" + ] + }, + { + "strings": [ + "s" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U" + ] + }, + { + "strings": [ + "I" + ] + }, + { + "strings": [ + "O" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A" + ] + }, + { + "strings": [ + "S" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "ms", + "name": "Malay" +} diff --git a/data/osk-layouts/nl.json b/data/osk-layouts/nl.json new file mode 100644 index 0000000..61bd4dd --- /dev/null +++ b/data/osk-layouts/nl.json @@ -0,0 +1,992 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "ë", + "ê", + "è", + "ę", + "ė", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y", + "ij" + ] + }, + { + "strings": [ + "u", + "ú", + "ü", + "û", + "ù", + "ū" + ] + }, + { + "strings": [ + "i", + "í", + "ï", + "ì", + "î", + "į", + "ī", + "ij" + ] + }, + { + "strings": [ + "o", + "ó", + "ö", + "ô", + "ò", + "õ", + "œ", + "ø", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "á", + "ä", + "â", + "à", + "æ", + "ã", + "å", + "ā" + ] + }, + { + "strings": [ + "s" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "Ë", + "Ê", + "È", + "Ę", + "Ė", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y", + "IJ" + ] + }, + { + "strings": [ + "U", + "Ú", + "Ü", + "Û", + "Ù", + "Ū" + ] + }, + { + "strings": [ + "I", + "Í", + "Ï", + "Ì", + "Î", + "Į", + "Ī", + "IJ" + ] + }, + { + "strings": [ + "O", + "Ó", + "Ö", + "Ô", + "Ò", + "Õ", + "Œ", + "Ø", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Á", + "Ä", + "Â", + "À", + "Æ", + "Ã", + "Å", + "Ā" + ] + }, + { + "strings": [ + "S" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "nl", + "name": "Dutch" +} diff --git a/data/osk-layouts/no.json b/data/osk-layouts/no.json new file mode 100644 index 0000000..4be4522 --- /dev/null +++ b/data/osk-layouts/no.json @@ -0,0 +1,1012 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "ë" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y", + "ý", + "ÿ" + ] + }, + { + "strings": [ + "u", + "ú", + "ü", + "û", + "ù", + "ū" + ] + }, + { + "strings": [ + "i", + "í", + "ï" + ] + }, + { + "strings": [ + "o", + "ó", + "ô", + "ò", + "õ", + "œ", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "strings": [ + "å" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "á", + "ä", + "à", + "â", + "ã", + "ā" + ] + }, + { + "strings": [ + "s", + "ß", + "ś", + "š" + ] + }, + { + "strings": [ + "d", + "ð" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l", + "ł" + ] + }, + { + "strings": [ + "ø", + "ö" + ] + }, + { + "strings": [ + "æ", + "ä" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "Ë" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y", + "Ý", + "Ÿ" + ] + }, + { + "strings": [ + "U", + "Ú", + "Ü", + "Û", + "Ù", + "Ū" + ] + }, + { + "strings": [ + "I", + "Í", + "Ï" + ] + }, + { + "strings": [ + "O", + "Ó", + "Ô", + "Ò", + "Õ", + "Œ", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "strings": [ + "Å" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Á", + "Ä", + "À", + "Â", + "Ã", + "Ā" + ] + }, + { + "strings": [ + "S", + "SS", + "Ś", + "Š" + ] + }, + { + "strings": [ + "D", + "Ð" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L", + "Ł" + ] + }, + { + "strings": [ + "Ø", + "Ö" + ] + }, + { + "strings": [ + "Æ", + "Ä" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "nb", + "name": "Norwegian Bokmål" +} diff --git a/data/osk-layouts/ph.json b/data/osk-layouts/ph.json new file mode 100644 index 0000000..0dbe4f2 --- /dev/null +++ b/data/osk-layouts/ph.json @@ -0,0 +1,915 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u" + ] + }, + { + "strings": [ + "i" + ] + }, + { + "strings": [ + "o" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a" + ] + }, + { + "strings": [ + "s" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U" + ] + }, + { + "strings": [ + "I" + ] + }, + { + "strings": [ + "O" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A" + ] + }, + { + "strings": [ + "S" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "fil", + "name": "Filipino" +} diff --git a/data/osk-layouts/pl.json b/data/osk-layouts/pl.json new file mode 100644 index 0000000..b8019b1 --- /dev/null +++ b/data/osk-layouts/pl.json @@ -0,0 +1,987 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "ę", + "è", + "é", + "ê", + "ë", + "ė", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u" + ] + }, + { + "strings": [ + "i" + ] + }, + { + "strings": [ + "o", + "ó", + "ö", + "ô", + "ò", + "õ", + "œ", + "ø", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "ą", + "á", + "à", + "â", + "ä", + "æ", + "ã", + "å", + "ā" + ] + }, + { + "strings": [ + "s", + "ś", + "ß", + "š" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l", + "ł" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z", + "ż", + "ź", + "ž" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "ć", + "ç", + "č" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ń", + "ñ" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "Ę", + "È", + "É", + "Ê", + "Ë", + "Ė", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U" + ] + }, + { + "strings": [ + "I" + ] + }, + { + "strings": [ + "O", + "Ó", + "Ö", + "Ô", + "Ò", + "Õ", + "Œ", + "Ø", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Ą", + "Á", + "À", + "Â", + "Ä", + "Æ", + "Ã", + "Å", + "Ā" + ] + }, + { + "strings": [ + "S", + "Ś", + "SS", + "Š" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L", + "Ł" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z", + "Ż", + "Ź", + "Ž" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Ć", + "Ç", + "Č" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ń", + "Ñ" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "pl", + "name": "Polish" +} diff --git a/data/osk-layouts/pt.json b/data/osk-layouts/pt.json new file mode 100644 index 0000000..11c8c6d --- /dev/null +++ b/data/osk-layouts/pt.json @@ -0,0 +1,992 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "ê", + "è", + "ę", + "ė", + "ē", + "ë" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u", + "ú", + "ü", + "ù", + "û", + "ū" + ] + }, + { + "strings": [ + "i", + "í", + "î", + "ì", + "ï", + "į", + "ī" + ] + }, + { + "strings": [ + "o", + "ó", + "õ", + "ô", + "ò", + "ö", + "œ", + "ø", + "ō", + "º" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "á", + "ã", + "à", + "â", + "ä", + "å", + "æ", + "ª" + ] + }, + { + "strings": [ + "s" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "ç", + "č", + "ć" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "Ê", + "È", + "Ę", + "Ė", + "Ē", + "Ë" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U", + "Ú", + "Ü", + "Ù", + "Û", + "Ū" + ] + }, + { + "strings": [ + "I", + "Í", + "Î", + "Ì", + "Ï", + "Į", + "Ī" + ] + }, + { + "strings": [ + "O", + "Ó", + "Õ", + "Ô", + "Ò", + "Ö", + "Œ", + "Ø", + "Ō", + "º" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Á", + "Ã", + "À", + "Â", + "Ä", + "Å", + "Æ", + "ª" + ] + }, + { + "strings": [ + "S" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Ç", + "Č", + "Ć" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "pt-PT", + "name": "Portuguese Portugal" +} diff --git a/data/osk-layouts/ro.json b/data/osk-layouts/ro.json new file mode 100644 index 0000000..3af77e8 --- /dev/null +++ b/data/osk-layouts/ro.json @@ -0,0 +1,955 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t", + "ț" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u" + ] + }, + { + "strings": [ + "i", + "î", + "ï", + "ì", + "í", + "į", + "ī" + ] + }, + { + "strings": [ + "o" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "â", + "ã", + "ă", + "à", + "á", + "ä", + "æ", + "å", + "ā" + ] + }, + { + "strings": [ + "s", + "ș", + "ß", + "ś", + "š" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T", + "Ț" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U" + ] + }, + { + "strings": [ + "I", + "Î", + "Ï", + "Ì", + "Í", + "Į", + "Ī" + ] + }, + { + "strings": [ + "O" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Â", + "Ã", + "Ă", + "À", + "Á", + "Ä", + "Æ", + "Å", + "Ā" + ] + }, + { + "strings": [ + "S", + "Ș", + "SS", + "Ś", + "Š" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "ro", + "name": "Romanian" +} diff --git a/data/osk-layouts/rs.json b/data/osk-layouts/rs.json new file mode 100644 index 0000000..f0cdb28 --- /dev/null +++ b/data/osk-layouts/rs.json @@ -0,0 +1,965 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "љ" + ] + }, + { + "strings": [ + "њ" + ] + }, + { + "strings": [ + "е", + "ѐ" + ] + }, + { + "strings": [ + "р" + ] + }, + { + "strings": [ + "т" + ] + }, + { + "strings": [ + "з" + ] + }, + { + "strings": [ + "у" + ] + }, + { + "strings": [ + "и", + "ѝ" + ] + }, + { + "strings": [ + "о" + ] + }, + { + "strings": [ + "п" + ] + }, + { + "strings": [ + "ш" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "а" + ] + }, + { + "strings": [ + "с" + ] + }, + { + "strings": [ + "д" + ] + }, + { + "strings": [ + "ф" + ] + }, + { + "strings": [ + "г" + ] + }, + { + "strings": [ + "х" + ] + }, + { + "strings": [ + "ј" + ] + }, + { + "strings": [ + "к" + ] + }, + { + "strings": [ + "л" + ] + }, + { + "strings": [ + "ч" + ] + }, + { + "strings": [ + "ћ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + }, + { + "strings": [ + "ѕ" + ] + }, + { + "strings": [ + "џ" + ] + }, + { + "strings": [ + "ц" + ] + }, + { + "strings": [ + "в" + ] + }, + { + "strings": [ + "б" + ] + }, + { + "strings": [ + "н" + ] + }, + { + "strings": [ + "м" + ] + }, + { + "strings": [ + "ђ" + ] + }, + { + "strings": [ + "ж" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Љ" + ] + }, + { + "strings": [ + "Њ" + ] + }, + { + "strings": [ + "Е", + "Ѐ" + ] + }, + { + "strings": [ + "Р" + ] + }, + { + "strings": [ + "Т" + ] + }, + { + "strings": [ + "З" + ] + }, + { + "strings": [ + "У" + ] + }, + { + "strings": [ + "И", + "Ѝ" + ] + }, + { + "strings": [ + "О" + ] + }, + { + "strings": [ + "П" + ] + }, + { + "strings": [ + "Ш" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "А" + ] + }, + { + "strings": [ + "С" + ] + }, + { + "strings": [ + "Д" + ] + }, + { + "strings": [ + "Ф" + ] + }, + { + "strings": [ + "Г" + ] + }, + { + "strings": [ + "Х" + ] + }, + { + "strings": [ + "Ј" + ] + }, + { + "strings": [ + "К" + ] + }, + { + "strings": [ + "Л" + ] + }, + { + "strings": [ + "Ч" + ] + }, + { + "strings": [ + "Ћ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "Ѕ" + ] + }, + { + "strings": [ + "Џ" + ] + }, + { + "strings": [ + "Ц" + ] + }, + { + "strings": [ + "В" + ] + }, + { + "strings": [ + "Б" + ] + }, + { + "strings": [ + "Н" + ] + }, + { + "strings": [ + "М" + ] + }, + { + "strings": [ + "Ђ" + ] + }, + { + "strings": [ + "Ж" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "sr", + "name": "Serbian" +} \ No newline at end of file diff --git a/data/osk-layouts/ru.json b/data/osk-layouts/ru.json new file mode 100644 index 0000000..154c22e --- /dev/null +++ b/data/osk-layouts/ru.json @@ -0,0 +1,965 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "й" + ] + }, + { + "strings": [ + "ц" + ] + }, + { + "strings": [ + "у" + ] + }, + { + "strings": [ + "к" + ] + }, + { + "strings": [ + "е", + "ё" + ] + }, + { + "strings": [ + "н" + ] + }, + { + "strings": [ + "г" + ] + }, + { + "strings": [ + "ш" + ] + }, + { + "strings": [ + "щ" + ] + }, + { + "strings": [ + "з" + ] + }, + { + "strings": [ + "х" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ф" + ] + }, + { + "strings": [ + "ы" + ] + }, + { + "strings": [ + "в" + ] + }, + { + "strings": [ + "а" + ] + }, + { + "strings": [ + "п" + ] + }, + { + "strings": [ + "р" + ] + }, + { + "strings": [ + "о" + ] + }, + { + "strings": [ + "л" + ] + }, + { + "strings": [ + "д" + ] + }, + { + "strings": [ + "ж" + ] + }, + { + "strings": [ + "э" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + }, + { + "strings": [ + "я" + ] + }, + { + "strings": [ + "ч" + ] + }, + { + "strings": [ + "с" + ] + }, + { + "strings": [ + "м" + ] + }, + { + "strings": [ + "и" + ] + }, + { + "strings": [ + "т" + ] + }, + { + "strings": [ + "ь", + "ъ" + ] + }, + { + "strings": [ + "б" + ] + }, + { + "strings": [ + "ю" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Й" + ] + }, + { + "strings": [ + "Ц" + ] + }, + { + "strings": [ + "У" + ] + }, + { + "strings": [ + "К" + ] + }, + { + "strings": [ + "Е", + "Ё" + ] + }, + { + "strings": [ + "Н" + ] + }, + { + "strings": [ + "Г" + ] + }, + { + "strings": [ + "Ш" + ] + }, + { + "strings": [ + "Щ" + ] + }, + { + "strings": [ + "З" + ] + }, + { + "strings": [ + "Х" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "Ф" + ] + }, + { + "strings": [ + "Ы" + ] + }, + { + "strings": [ + "В" + ] + }, + { + "strings": [ + "А" + ] + }, + { + "strings": [ + "П" + ] + }, + { + "strings": [ + "Р" + ] + }, + { + "strings": [ + "О" + ] + }, + { + "strings": [ + "Л" + ] + }, + { + "strings": [ + "Д" + ] + }, + { + "strings": [ + "Ж" + ] + }, + { + "strings": [ + "Э" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "Я" + ] + }, + { + "strings": [ + "Ч" + ] + }, + { + "strings": [ + "С" + ] + }, + { + "strings": [ + "М" + ] + }, + { + "strings": [ + "И" + ] + }, + { + "strings": [ + "Т" + ] + }, + { + "strings": [ + "Ь", + "Ъ" + ] + }, + { + "strings": [ + "Б" + ] + }, + { + "strings": [ + "Ю" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "ru", + "name": "Russian" +} \ No newline at end of file diff --git a/data/osk-layouts/se.json b/data/osk-layouts/se.json new file mode 100644 index 0000000..87da9fe --- /dev/null +++ b/data/osk-layouts/se.json @@ -0,0 +1,1046 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "è", + "ê", + "ë", + "ę" + ] + }, + { + "strings": [ + "r", + "ř" + ] + }, + { + "strings": [ + "t", + "ť", + "þ" + ] + }, + { + "strings": [ + "y", + "ý", + "ÿ", + "ü" + ] + }, + { + "strings": [ + "u", + "ü", + "ú", + "ù", + "û", + "ū" + ] + }, + { + "strings": [ + "i", + "í", + "ì", + "î", + "ï" + ] + }, + { + "strings": [ + "o", + "ó", + "ò", + "ô", + "õ", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "strings": [ + "å" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "á", + "à", + "â", + "ą", + "ã" + ] + }, + { + "strings": [ + "s", + "ś", + "š", + "ş", + "ß" + ] + }, + { + "strings": [ + "d", + "ð", + "ď" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l", + "ł" + ] + }, + { + "strings": [ + "ö", + "ø", + "œ" + ] + }, + { + "strings": [ + "ä", + "æ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + }, + { + "strings": [ + "z", + "ź", + "ž", + "ż" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "ç", + "ć", + "č" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ń", + "ñ", + "ň" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "È", + "Ê", + "Ë", + "Ę" + ] + }, + { + "strings": [ + "R", + "Ř" + ] + }, + { + "strings": [ + "T", + "Ť", + "Þ" + ] + }, + { + "strings": [ + "Y", + "Ý", + "Ÿ", + "Ü" + ] + }, + { + "strings": [ + "U", + "Ü", + "Ú", + "Ù", + "Û", + "Ū" + ] + }, + { + "strings": [ + "I", + "Í", + "Ì", + "Î", + "Ï" + ] + }, + { + "strings": [ + "O", + "Ó", + "Ò", + "Ô", + "Õ", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "strings": [ + "Å" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Á", + "À", + "Â", + "Ą", + "Ã" + ] + }, + { + "strings": [ + "S", + "Ś", + "Š", + "Ş", + "SS" + ] + }, + { + "strings": [ + "D", + "Ð", + "Ď" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L", + "Ł" + ] + }, + { + "strings": [ + "Ö", + "Ø", + "Œ" + ] + }, + { + "strings": [ + "Ä", + "Æ" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "Z", + "Ź", + "Ž", + "Ż" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Ç", + "Ć", + "Č" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ń", + "Ñ", + "Ň" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "sv", + "name": "Swedish" +} diff --git a/data/osk-layouts/si.json b/data/osk-layouts/si.json new file mode 100644 index 0000000..7325c40 --- /dev/null +++ b/data/osk-layouts/si.json @@ -0,0 +1,926 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u" + ] + }, + { + "strings": [ + "i" + ] + }, + { + "strings": [ + "o" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a" + ] + }, + { + "strings": [ + "s", + "š" + ] + }, + { + "strings": [ + "d", + "đ" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z", + "ž" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "č", + "ć" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U" + ] + }, + { + "strings": [ + "I" + ] + }, + { + "strings": [ + "O" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A" + ] + }, + { + "strings": [ + "S", + "Š" + ] + }, + { + "strings": [ + "D", + "Đ" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z", + "Ž" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Č", + "Ć" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "sl", + "name": "Slovenian" +} diff --git a/data/osk-layouts/sk.json b/data/osk-layouts/sk.json new file mode 100644 index 0000000..8f834cd --- /dev/null +++ b/data/osk-layouts/sk.json @@ -0,0 +1,1056 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "ě", + "ē", + "ė", + "è", + "ê", + "ë", + "ę" + ] + }, + { + "strings": [ + "r", + "ŕ", + "ř", + "ŗ" + ] + }, + { + "strings": [ + "t", + "ť", + "ţ" + ] + }, + { + "strings": [ + "y", + "ý", + "ÿ" + ] + }, + { + "strings": [ + "u", + "ú", + "ů", + "ü", + "ū", + "ų", + "ù", + "û", + "ű" + ] + }, + { + "strings": [ + "i", + "í", + "ī", + "į", + "ì", + "î", + "ï", + "ı" + ] + }, + { + "strings": [ + "o", + "ô", + "ó", + "ö", + "ò", + "õ", + "œ", + "ő", + "ø" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "á", + "ä", + "ā", + "à", + "â", + "ã", + "å", + "æ", + "ą" + ] + }, + { + "strings": [ + "s", + "š", + "ß", + "ś", + "ş" + ] + }, + { + "strings": [ + "d", + "ď" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g", + "ģ", + "ğ" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k", + "ķ" + ] + }, + { + "strings": [ + "l", + "ľ", + "ĺ", + "ļ", + "ł" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z", + "ž", + "ż", + "ź" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "č", + "ç", + "ć" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ň", + "ņ", + "ñ", + "ń", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "Ě", + "Ē", + "Ė", + "È", + "Ê", + "Ë", + "Ę" + ] + }, + { + "strings": [ + "R", + "Ŕ", + "Ř", + "Ŗ" + ] + }, + { + "strings": [ + "T", + "Ť", + "Ţ" + ] + }, + { + "strings": [ + "Y", + "Ý", + "Ÿ" + ] + }, + { + "strings": [ + "U", + "Ú", + "Ů", + "Ü", + "Ū", + "Ų", + "Ù", + "Û", + "Ű" + ] + }, + { + "strings": [ + "I", + "Í", + "Ī", + "Į", + "Ì", + "Î", + "Ï", + "I" + ] + }, + { + "strings": [ + "O", + "Ô", + "Ó", + "Ö", + "Ò", + "Õ", + "Œ", + "Ő", + "Ø" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Á", + "Ä", + "Ā", + "À", + "Â", + "Ã", + "Å", + "Æ", + "Ą" + ] + }, + { + "strings": [ + "S", + "Š", + "SS", + "Ś", + "Ş" + ] + }, + { + "strings": [ + "D", + "Ď" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G", + "Ģ", + "Ğ" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K", + "Ķ" + ] + }, + { + "strings": [ + "L", + "Ľ", + "Ĺ", + "Ļ", + "Ł" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z", + "Ž", + "Ż", + "Ź" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Č", + "Ç", + "Ć" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ň", + "Ņ", + "Ñ", + "Ń", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "sk", + "name": "Slovak" +} diff --git a/data/osk-layouts/th.json b/data/osk-layouts/th.json new file mode 100644 index 0000000..131e5eb --- /dev/null +++ b/data/osk-layouts/th.json @@ -0,0 +1,1135 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "ๅ" + ] + }, + { + "strings": [ + "/", + "๑" + ] + }, + { + "strings": [ + "_", + "๒" + ] + }, + { + "strings": [ + "ภ", + "๓" + ] + }, + { + "strings": [ + "ถ", + "๔" + ] + }, + { + "strings": [ + "ุ" + ] + }, + { + "strings": [ + "ึ" + ] + }, + { + "strings": [ + "ค", + "๕" + ] + }, + { + "strings": [ + "ต", + "๖" + ] + }, + { + "strings": [ + "จ", + "๗" + ] + }, + { + "strings": [ + "ข", + "๘" + ] + }, + { + "strings": [ + "ช", + "๙" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ๆ", + "๐" + ] + }, + { + "strings": [ + "ไ" + ] + }, + { + "strings": [ + "ำ" + ] + }, + { + "strings": [ + "พ" + ] + }, + { + "strings": [ + "ะ" + ] + }, + { + "strings": [ + "ั" + ] + }, + { + "strings": [ + "ี" + ] + }, + { + "strings": [ + "ร" + ] + }, + { + "strings": [ + "น" + ] + }, + { + "strings": [ + "ย" + ] + }, + { + "strings": [ + "บ" + ] + }, + { + "strings": [ + "ล" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ฟ" + ] + }, + { + "strings": [ + "ห" + ] + }, + { + "strings": [ + "ก" + ] + }, + { + "strings": [ + "ด" + ] + }, + { + "strings": [ + "เ" + ] + }, + { + "strings": [ + "้" + ] + }, + { + "strings": [ + "่" + ] + }, + { + "strings": [ + "า" + ] + }, + { + "strings": [ + "ส" + ] + }, + { + "strings": [ + "ว" + ] + }, + { + "strings": [ + "ง" + ] + }, + { + "strings": [ + "ฃ" + ] + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + }, + { + "strings": [ + "ผ" + ] + }, + { + "strings": [ + "ป" + ] + }, + { + "strings": [ + "แ" + ] + }, + { + "strings": [ + "อ" + ] + }, + { + "strings": [ + "ิ" + ] + }, + { + "strings": [ + "ื" + ] + }, + { + "strings": [ + "ท" + ] + }, + { + "strings": [ + "ม" + ] + }, + { + "strings": [ + "ใ" + ] + }, + { + "strings": [ + "ฝ" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 7 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@", + " ๎", + "๏", + "๛", + "๚" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "+" + ] + }, + { + "strings": [ + "๑" + ] + }, + { + "strings": [ + "๒" + ] + }, + { + "strings": [ + "๓" + ] + }, + { + "strings": [ + "๔" + ] + }, + { + "strings": [ + "ู" + ] + }, + { + "strings": [ + "฿" + ] + }, + { + "strings": [ + "๕" + ] + }, + { + "strings": [ + "๖" + ] + }, + { + "strings": [ + "๗" + ] + }, + { + "strings": [ + "๘" + ] + }, + { + "strings": [ + "๙" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "๐" + ] + }, + { + "strings": [ + "\"" + ] + }, + { + "strings": [ + "ฎ" + ] + }, + { + "strings": [ + "ฑ" + ] + }, + { + "strings": [ + "ธ" + ] + }, + { + "strings": [ + "ํ" + ] + }, + { + "strings": [ + "๊" + ] + }, + { + "strings": [ + "ณ" + ] + }, + { + "strings": [ + "ฯ" + ] + }, + { + "strings": [ + "ญ" + ] + }, + { + "strings": [ + "ฐ" + ] + }, + { + "strings": [ + "," + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ฤ" + ] + }, + { + "strings": [ + "ฆ" + ] + }, + { + "strings": [ + "ฏ" + ] + }, + { + "strings": [ + "โ" + ] + }, + { + "strings": [ + "ฌ" + ] + }, + { + "strings": [ + "็" + ] + }, + { + "strings": [ + "๋" + ] + }, + { + "strings": [ + "ษ" + ] + }, + { + "strings": [ + "ศ" + ] + }, + { + "strings": [ + "ซ" + ] + }, + { + "strings": [ + "." + ] + }, + { + "strings": [ + "ฅ" + ] + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "(" + ] + }, + { + "strings": [ + ")" + ] + }, + { + "strings": [ + "ฉ" + ] + }, + { + "strings": [ + "ฮ" + ] + }, + { + "strings": [ + "ฺ" + ] + }, + { + "strings": [ + "์" + ] + }, + { + "strings": [ + "?" + ] + }, + { + "strings": [ + "ฒ" + ] + }, + { + "strings": [ + "ฬ" + ] + }, + { + "strings": [ + "ฦ" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 7 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@", + " ๎", + "๏", + "๛", + "๚" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "฿", + "$", + "¢", + "€", + "£", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "th", + "name": "Thai" +} \ No newline at end of file diff --git a/data/osk-layouts/tr.json b/data/osk-layouts/tr.json new file mode 100644 index 0000000..e32b3d9 --- /dev/null +++ b/data/osk-layouts/tr.json @@ -0,0 +1,974 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u", + "ü", + "û", + "ù", + "ú", + "ū" + ] + }, + { + "strings": [ + "i", + "ı", + "î", + "ï", + "ì", + "í", + "į", + "ī" + ] + }, + { + "strings": [ + "o", + "ö", + "ô", + "œ", + "ò", + "ó", + "õ", + "ø", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "â" + ] + }, + { + "strings": [ + "s", + "ş", + "ß", + "ś", + "š" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g", + "ğ" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "ç", + "ć", + "č" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U", + "Ü", + "Û", + "Ù", + "Ú", + "Ū" + ] + }, + { + "strings": [ + "İ", + "I", + "Î", + "Ï", + "Ì", + "Í", + "Į", + "Ī" + ] + }, + { + "strings": [ + "O", + "Ö", + "Ô", + "Œ", + "Ò", + "Ó", + "Õ", + "Ø", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Â" + ] + }, + { + "strings": [ + "S", + "Ş", + "SS", + "Ś", + "Š" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G", + "Ğ" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Ç", + "Ć", + "Č" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "€", + "¢", + "£", + "$", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "tr", + "name": "Turkish" +} diff --git a/data/osk-layouts/ua.json b/data/osk-layouts/ua.json new file mode 100644 index 0000000..b32b6b5 --- /dev/null +++ b/data/osk-layouts/ua.json @@ -0,0 +1,969 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "й" + ] + }, + { + "strings": [ + "ц" + ] + }, + { + "strings": [ + "у" + ] + }, + { + "strings": [ + "к" + ] + }, + { + "strings": [ + "е" + ] + }, + { + "strings": [ + "н" + ] + }, + { + "strings": [ + "г", + "ґ" + ] + }, + { + "strings": [ + "ш" + ] + }, + { + "strings": [ + "щ" + ] + }, + { + "strings": [ + "з" + ] + }, + { + "strings": [ + "х" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "ф" + ] + }, + { + "strings": [ + "і", + "ї" + ] + }, + { + "strings": [ + "в" + ] + }, + { + "strings": [ + "а" + ] + }, + { + "strings": [ + "п" + ] + }, + { + "strings": [ + "р" + ] + }, + { + "strings": [ + "о" + ] + }, + { + "strings": [ + "л" + ] + }, + { + "strings": [ + "д" + ] + }, + { + "strings": [ + "ж" + ] + }, + { + "strings": [ + "є" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + }, + { + "strings": [ + "я" + ] + }, + { + "strings": [ + "ч" + ] + }, + { + "strings": [ + "с" + ] + }, + { + "strings": [ + "м" + ] + }, + { + "strings": [ + "и" + ] + }, + { + "strings": [ + "т" + ] + }, + { + "strings": [ + "ь", + "ъ" + ] + }, + { + "strings": [ + "б" + ] + }, + { + "strings": [ + "ю" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Й" + ] + }, + { + "strings": [ + "Ц" + ] + }, + { + "strings": [ + "У" + ] + }, + { + "strings": [ + "К" + ] + }, + { + "strings": [ + "Е" + ] + }, + { + "strings": [ + "Н" + ] + }, + { + "strings": [ + "Г", + "Ґ" + ] + }, + { + "strings": [ + "Ш" + ] + }, + { + "strings": [ + "Щ" + ] + }, + { + "strings": [ + "З" + ] + }, + { + "strings": [ + "Х" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "Ф" + ] + }, + { + "strings": [ + "І", + "Ї" + ] + }, + { + "strings": [ + "В" + ] + }, + { + "strings": [ + "А" + ] + }, + { + "strings": [ + "П" + ] + }, + { + "strings": [ + "Р" + ] + }, + { + "strings": [ + "О" + ] + }, + { + "strings": [ + "Л" + ] + }, + { + "strings": [ + "Д" + ] + }, + { + "strings": [ + "Ж" + ] + }, + { + "strings": [ + "Є" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "Я" + ] + }, + { + "strings": [ + "Ч" + ] + }, + { + "strings": [ + "С" + ] + }, + { + "strings": [ + "М" + ] + }, + { + "strings": [ + "И" + ] + }, + { + "strings": [ + "Т" + ] + }, + { + "strings": [ + "Ь", + "Ъ" + ] + }, + { + "strings": [ + "Б" + ] + }, + { + "strings": [ + "Ю" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + " " + ], + "width": 6 + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "₴", + "$", + "¢", + "€", + "£", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "uk", + "name": "Ukrainian" +} \ No newline at end of file diff --git a/data/osk-layouts/uk.json b/data/osk-layouts/uk.json new file mode 100644 index 0000000..91a94b2 --- /dev/null +++ b/data/osk-layouts/uk.json @@ -0,0 +1,984 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "è", + "é", + "ê", + "ë", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u", + "û", + "ü", + "ù", + "ú", + "ū" + ] + }, + { + "strings": [ + "i", + "î", + "ï", + "í", + "ī", + "ì" + ] + }, + { + "strings": [ + "o", + "ô", + "ö", + "ò", + "ó", + "œ", + "ø", + "ō", + "õ" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "à", + "á", + "â", + "ä", + "æ", + "ã", + "å", + "ā" + ] + }, + { + "strings": [ + "s", + "ß" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "ç" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "È", + "É", + "Ê", + "Ë", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U", + "Û", + "Ü", + "Ù", + "Ú", + "Ū" + ] + }, + { + "strings": [ + "I", + "Î", + "Ï", + "Í", + "Ī", + "Ì" + ] + }, + { + "strings": [ + "O", + "Ô", + "Ö", + "Ò", + "Ó", + "Œ", + "Ø", + "Ō", + "Õ" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "À", + "Á", + "Â", + "Ä", + "Æ", + "Ã", + "Å", + "Ā" + ] + }, + { + "strings": [ + "S", + "SS" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Ç" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "£", + "¢", + "$", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "en-GB", + "name": "English Great Britain" +} diff --git a/data/osk-layouts/us-extended.json b/data/osk-layouts/us-extended.json new file mode 100644 index 0000000..0370edb --- /dev/null +++ b/data/osk-layouts/us-extended.json @@ -0,0 +1,1043 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "keyval": "0xff09", + "label": "Tab", + "width": 1 + }, + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "è", + "é", + "ê", + "ë", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u", + "û", + "ü", + "ù", + "ú", + "ū" + ] + }, + { + "strings": [ + "i", + "î", + "ï", + "í", + "ī", + "ì" + ] + }, + { + "strings": [ + "o", + "ô", + "ö", + "ò", + "ó", + "œ", + "ø", + "ō", + "õ" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "iconName": "edit-clear-symbolic", + "action": "delete", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-caps-lock-symbolic", + "level": 1, + "width": 1.5 + }, + { + "strings": [ + "a", + "à", + "á", + "â", + "ä", + "æ", + "ã", + "å", + "ā" + ] + }, + { + "strings": [ + "s", + "ß" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "ç" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + ".", + ",", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "iconName": "go-up-symbolic", + "keyval": "0xff52" + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 2 + } + ], + [ + { + "action": "modifier", + "keyval": "0xffe3", + "label": "Ctrl" + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2 + }, + { + "action": "modifier", + "keyval": "0xffe9", + "label": "Alt" + }, + { + "strings": [ + " " + ], + "width": 4 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "iconName": "go-previous-symbolic", + "keyval": "0xff51" + }, + { + "iconName": "go-down-symbolic", + "keyval": "0xff54" + }, + { + "iconName": "go-next-symbolic", + "keyval": "0xff53" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "keyval": "0xff09", + "label": "Tab", + "width": 1 + }, + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "È", + "É", + "Ê", + "Ë", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U", + "Û", + "Ü", + "Ù", + "Ú", + "Ū" + ] + }, + { + "strings": [ + "I", + "Î", + "Ï", + "Í", + "Ī", + "Ì" + ] + }, + { + "strings": [ + "O", + "Ô", + "Ö", + "Ò", + "Ó", + "Œ", + "Ø", + "Ō", + "Õ" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "iconName": "edit-clear-symbolic", + "keyval": "0xff08", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-caps-lock-symbolic", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "A", + "À", + "Á", + "Â", + "Ä", + "Æ", + "Ã", + "Å", + "Ā" + ] + }, + { + "strings": [ + "S", + "SS" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2.5 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Ç" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + ".", + ",", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "iconName": "go-up-symbolic", + "keyval": "0xff52" + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 2 + } + ], + [ + { + "action": "modifier", + "keyval": "0xffe3", + "label": "Ctrl" + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2 + }, + { + "action": "modifier", + "keyval": "0xffe9", + "label": "Alt" + }, + { + "strings": [ + " " + ], + "width": 4 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "iconName": "go-previous-symbolic", + "keyval": "0xff51" + }, + { + "iconName": "go-down-symbolic", + "keyval": "0xff54" + }, + { + "iconName": "go-next-symbolic", + "keyval": "0xff53" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "iconName": "edit-clear-symbolic", + "keyval": "0xff08", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "iconName": "edit-clear-symbolic", + "keyval": "0xff08", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "en", + "name": "English United States" +} diff --git a/data/osk-layouts/us.json b/data/osk-layouts/us.json new file mode 100644 index 0000000..17c20d9 --- /dev/null +++ b/data/osk-layouts/us.json @@ -0,0 +1,983 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "è", + "é", + "ê", + "ë", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y" + ] + }, + { + "strings": [ + "u", + "û", + "ü", + "ù", + "ú", + "ū" + ] + }, + { + "strings": [ + "i", + "î", + "ï", + "í", + "ī", + "ì" + ] + }, + { + "strings": [ + "o", + "ô", + "ö", + "ò", + "ó", + "œ", + "ø", + "ō", + "õ" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "à", + "á", + "â", + "ä", + "æ", + "ã", + "å", + "ā" + ] + }, + { + "strings": [ + "s", + "ß" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c", + "ç" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "È", + "É", + "Ê", + "Ë", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y" + ] + }, + { + "strings": [ + "U", + "Û", + "Ü", + "Ù", + "Ú", + "Ū" + ] + }, + { + "strings": [ + "I", + "Î", + "Ï", + "Í", + "Ī", + "Ì" + ] + }, + { + "strings": [ + "O", + "Ô", + "Ö", + "Ò", + "Ó", + "Œ", + "Ø", + "Ō", + "Õ" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "À", + "Á", + "Â", + "Ä", + "Æ", + "Ã", + "Å", + "Ā" + ] + }, + { + "strings": [ + "S", + "SS" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C", + "Ç" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "en", + "name": "English United States" +} diff --git a/data/osk-layouts/vn.json b/data/osk-layouts/vn.json new file mode 100644 index 0000000..17c7f0e --- /dev/null +++ b/data/osk-layouts/vn.json @@ -0,0 +1,1051 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "è", + "é", + "ẻ", + "ẽ", + "ẹ", + "ê", + "ề", + "ế", + "ể", + "ễ", + "ệ" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y", + "ỳ", + "ý", + "ỷ", + "ỹ", + "ỵ" + ] + }, + { + "strings": [ + "u", + "ù", + "ú", + "ủ", + "ũ", + "ụ", + "ư", + "ừ", + "ứ", + "ử", + "ữ", + "ự" + ] + }, + { + "strings": [ + "i", + "ì", + "í", + "ỉ", + "ĩ", + "ị" + ] + }, + { + "strings": [ + "o", + "ò", + "ó", + "ỏ", + "õ", + "ọ", + "ô", + "ồ", + "ố", + "ổ", + "ỗ", + "ộ", + "ơ", + "ờ", + "ớ", + "ở", + "ỡ", + "ợ" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "à", + "á", + "ả", + "ã", + "ạ", + "ă", + "ằ", + "ắ", + "ẳ", + "ẵ", + "ặ", + "â", + "ầ", + "ấ", + "ẩ", + "ẫ", + "ậ" + ] + }, + { + "strings": [ + "s" + ] + }, + { + "strings": [ + "d", + "đ" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "È", + "É", + "Ẻ", + "Ẽ", + "Ẹ", + "Ê", + "Ề", + "Ế", + "Ể", + "Ễ", + "Ệ" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y", + "Ỳ", + "Ý", + "Ỷ", + "Ỹ", + "Ỵ" + ] + }, + { + "strings": [ + "U", + "Ù", + "Ú", + "Ủ", + "Ũ", + "Ụ", + "Ư", + "Ừ", + "Ứ", + "Ử", + "Ữ", + "Ự" + ] + }, + { + "strings": [ + "I", + "Ì", + "Í", + "Ỉ", + "Ĩ", + "Ị" + ] + }, + { + "strings": [ + "O", + "Ò", + "Ó", + "Ỏ", + "Õ", + "Ọ", + "Ô", + "Ồ", + "Ố", + "Ổ", + "Ỗ", + "Ộ", + "Ơ", + "Ờ", + "Ớ", + "Ở", + "Ỡ", + "Ợ" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "À", + "Á", + "Ả", + "Ã", + "Ạ", + "Ă", + "Ằ", + "Ắ", + "Ẳ", + "Ẵ", + "Ặ", + "Â", + "Ầ", + "Ấ", + "Ẩ", + "Ẫ", + "Ậ" + ] + }, + { + "strings": [ + "S" + ] + }, + { + "strings": [ + "D", + "Đ" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "₫", + "$", + "¢", + "€", + "£", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "$", + "¢" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "vi", + "name": "Vietnamese" +} diff --git a/data/osk-layouts/za.json b/data/osk-layouts/za.json new file mode 100644 index 0000000..0e8dd96 --- /dev/null +++ b/data/osk-layouts/za.json @@ -0,0 +1,997 @@ +{ + "levels": [ + { + "level": "", + "mode": "default", + "rows": [ + [ + { + "strings": [ + "q" + ] + }, + { + "strings": [ + "w" + ] + }, + { + "strings": [ + "e", + "é", + "è", + "ê", + "ë", + "ę", + "ė", + "ē" + ] + }, + { + "strings": [ + "r" + ] + }, + { + "strings": [ + "t" + ] + }, + { + "strings": [ + "y", + "ý", + "ŷ", + "ÿ", + "ij" + ] + }, + { + "strings": [ + "u", + "ú", + "û", + "ü", + "ù", + "ū" + ] + }, + { + "strings": [ + "i", + "í", + "ì", + "ï", + "î", + "į", + "ī", + "ij" + ] + }, + { + "strings": [ + "o", + "ó", + "ô", + "ö", + "ò", + "õ", + "œ", + "ø", + "ō" + ] + }, + { + "strings": [ + "p" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "a", + "á", + "â", + "ä", + "à", + "æ", + "ã", + "å", + "ā" + ] + }, + { + "strings": [ + "s" + ] + }, + { + "strings": [ + "d" + ] + }, + { + "strings": [ + "f" + ] + }, + { + "strings": [ + "g" + ] + }, + { + "strings": [ + "h" + ] + }, + { + "strings": [ + "j" + ] + }, + { + "strings": [ + "k" + ] + }, + { + "strings": [ + "l" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1 + }, + { + "strings": [ + "z" + ] + }, + { + "strings": [ + "x" + ] + }, + { + "strings": [ + "c" + ] + }, + { + "strings": [ + "v" + ] + }, + { + "strings": [ + "b" + ] + }, + { + "strings": [ + "n", + "ñ", + "ń" + ] + }, + { + "strings": [ + "m" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 1, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "shift", + "mode": "latched", + "rows": [ + [ + { + "strings": [ + "Q" + ] + }, + { + "strings": [ + "W" + ] + }, + { + "strings": [ + "E", + "É", + "È", + "Ê", + "Ë", + "Ę", + "Ė", + "Ē" + ] + }, + { + "strings": [ + "R" + ] + }, + { + "strings": [ + "T" + ] + }, + { + "strings": [ + "Y", + "Ý", + "Ŷ", + "Ÿ", + "IJ" + ] + }, + { + "strings": [ + "U", + "Ú", + "Û", + "Ü", + "Ù", + "Ū" + ] + }, + { + "strings": [ + "I", + "Í", + "Ì", + "Ï", + "Î", + "Į", + "Ī", + "IJ" + ] + }, + { + "strings": [ + "O", + "Ó", + "Ô", + "Ö", + "Ò", + "Õ", + "Œ", + "Ø", + "Ō" + ] + }, + { + "strings": [ + "P" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "A", + "Á", + "Â", + "Ä", + "À", + "Æ", + "Ã", + "Å", + "Ā" + ] + }, + { + "strings": [ + "S" + ] + }, + { + "strings": [ + "D" + ] + }, + { + "strings": [ + "F" + ] + }, + { + "strings": [ + "G" + ] + }, + { + "strings": [ + "H" + ] + }, + { + "strings": [ + "J" + ] + }, + { + "strings": [ + "K" + ] + }, + { + "strings": [ + "L" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0 + }, + { + "strings": [ + "Z" + ] + }, + { + "strings": [ + "X" + ] + }, + { + "strings": [ + "C" + ] + }, + { + "strings": [ + "V" + ] + }, + { + "strings": [ + "B" + ] + }, + { + "strings": [ + "N", + "Ñ", + "Ń" + ] + }, + { + "strings": [ + "M" + ] + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "#", + "!", + ",", + "?", + "-", + ":", + "'", + "@" + ] + }, + { + "action": "levelSwitch", + "iconName": "keyboard-shift-symbolic", + "level": 0, + "width": 1.5 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic", + "width": 1.5 + }, + { + "strings": [ + " " + ], + "width": 5 + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic", + "width": 1.5 + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic", + "width": 2 + } + ] + ] + }, + { + "level": "opt", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "1", + "¹", + "½", + "⅓", + "¼", + "⅛" + ] + }, + { + "strings": [ + "2", + "²", + "⅔" + ] + }, + { + "strings": [ + "3", + "³", + "¾", + "⅜" + ] + }, + { + "strings": [ + "4", + "⁴" + ] + }, + { + "strings": [ + "5", + "⅝" + ] + }, + { + "strings": [ + "6" + ] + }, + { + "strings": [ + "7", + "⅞" + ] + }, + { + "strings": [ + "8" + ] + }, + { + "strings": [ + "9" + ] + }, + { + "strings": [ + "0", + "ⁿ", + "∅" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "@" + ] + }, + { + "strings": [ + "#" + ] + }, + { + "strings": [ + "$", + "¢", + "£", + "€", + "¥", + "₱" + ] + }, + { + "strings": [ + "%", + "‰" + ] + }, + { + "strings": [ + "&" + ] + }, + { + "strings": [ + "-", + "_", + "–", + "—", + "·" + ] + }, + { + "strings": [ + "+", + "±" + ] + }, + { + "strings": [ + "(", + "<", + "{", + "[" + ] + }, + { + "strings": [ + ")", + ">", + "}", + "]" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 1.5 + }, + { + "strings": [ + "*", + "†", + "‡", + "★" + ] + }, + { + "strings": [ + "\"", + "“", + "”", + "«", + "»" + ] + }, + { + "strings": [ + "'", + "‘", + "’", + "‹", + "›" + ] + }, + { + "strings": [ + ":" + ] + }, + { + "strings": [ + ";" + ] + }, + { + "strings": [ + "!", + "¡" + ] + }, + { + "strings": [ + "?", + "¿" + ] + }, + { + "action": "levelSwitch", + "label": "=/<", + "level": 3, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "_" + ] + }, + { + "strings": [ + "/" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + }, + { + "level": "opt+shift", + "mode": "locked", + "rows": [ + [ + { + "strings": [ + "~" + ] + }, + { + "strings": [ + "`" + ] + }, + { + "strings": [ + "|" + ] + }, + { + "strings": [ + "•", + "♪", + "♥", + "♠", + "♦", + "♣" + ] + }, + { + "strings": [ + "√" + ] + }, + { + "strings": [ + "Π", + "π" + ] + }, + { + "strings": [ + "÷" + ] + }, + { + "strings": [ + "×" + ] + }, + { + "strings": [ + "¶", + "§" + ] + }, + { + "strings": [ + "∆" + ] + }, + { + "action": "delete", + "iconName": "edit-clear-symbolic", + "width": 1.5 + } + ], + [ + { + "strings": [ + "£" + ] + }, + { + "strings": [ + "¢" + ] + }, + { + "strings": [ + "€" + ] + }, + { + "strings": [ + "¥" + ] + }, + { + "strings": [ + "^", + "↑", + "↓", + "←", + "→" + ] + }, + { + "strings": [ + "°", + "′", + "″" + ] + }, + { + "strings": [ + "=", + "≠", + "≈", + "∞" + ] + }, + { + "strings": [ + "{" + ] + }, + { + "strings": [ + "}" + ] + }, + { + "iconName": "keyboard-enter-symbolic", + "keyval": "0xff0d", + "width": 2 + } + ], + [ + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 1.5 + }, + { + "strings": [ + "\\" + ] + }, + { + "strings": [ + "©" + ] + }, + { + "strings": [ + "®" + ] + }, + { + "strings": [ + "™" + ] + }, + { + "strings": [ + "℅" + ] + }, + { + "strings": [ + "[" + ] + }, + { + "strings": [ + "]" + ] + }, + { + "action": "levelSwitch", + "label": "?123", + "level": 2, + "width": 3 + } + ], + [ + { + "action": "levelSwitch", + "label": "ABC", + "level": 0, + "width": 1.5 + }, + { + "strings": [ + "<", + "‹", + "≤", + "«" + ] + }, + { + "strings": [ + ">", + "›", + "≥", + "»" + ] + }, + { + "strings": [ + " " + ], + "width": 3 + }, + { + "strings": [ + "," + ] + }, + { + "strings": [ + ".", + "…" + ] + }, + { + "action": "emoji", + "iconName": "face-smile-symbolic" + }, + { + "action": "languageMenu", + "iconName": "keyboard-layout-symbolic" + }, + { + "action": "hide", + "iconName": "keyboard-hide-symbolic" + } + ] + ] + } + ], + "locale": "af", + "name": "Afrikaans" +} diff --git a/data/perf-background.xml.in b/data/perf-background.xml.in new file mode 100644 index 0000000..752a552 --- /dev/null +++ b/data/perf-background.xml.in @@ -0,0 +1,31 @@ + + + + 1990 + 1 + 1 + 0 + 00 + 00 + + + + +1261440000.0 +@datadir@/backgrounds/gnome/adwaita-morning.jpg +@datadir@/backgrounds/gnome/adwaita-day.jpg + + + + +60 +/usr/share/backgrounds/gnome/Sandstone.jpg + + + diff --git a/data/theme/README.md b/data/theme/README.md new file mode 100644 index 0000000..192dc65 --- /dev/null +++ b/data/theme/README.md @@ -0,0 +1,32 @@ +## Summary + +Do not edit the CSS directly, edit the source SCSS files and the CSS files +will be generated automatically when building with meson + ninja and left +inside the build directory to be incorporated into the gresource XML (you'll +need to have sassc installed). + +## How to tweak the theme + +Adwaita is a complex theme, so to keep it maintainable it's written and +processed in SASS, the generated CSS is then transformed into a gresource +file during gtk build and used at runtime in a non-legible or editable form. + +It is very likely your change will happen in the [_common.scss][common] file. +That's where all the widget selectors are defined. Here's a rundown of +the "supporting" stylesheets, that are unlikely to be the right place +for a drive by stylesheet fix: + +| File | Description | +| ------------------------ | ----------------- | +| [_colors.scss][colors] | global color definitions. We keep the number of defined colors to a necessary minimum, most colors are derived from a handful of basics. It is an exact copy of the gtk+ counterpart. Light theme is used for the classic theme and dark is for GNOME3 shell default. | +| [_drawing.scss][drawing] | drawing helper mixings/functions to allow easier definition of widget drawing under specific context. This is why Adwaita isn't 15000 LOC. | +| [_common.scss][common] | actual definitions of style for each widget. This is where you are likely to add/remove your changes. | + +You can read about SASS on its [web page][sass-web]. Once you make your +changes to the [_common.scss][common] file, you can run ninja to generate the +final CSS files. + +[common]: data/theme/gnome-shell-sass/_common.scss +[colors]: data/theme/gnome-shell-sass/_colors.scss +[drawing]: data/theme/gnome-shell-sass/_drawing.scss +[sass-web]: http://sass-lang.com/documentation/ diff --git a/data/theme/calendar-today-light.svg b/data/theme/calendar-today-light.svg new file mode 100644 index 0000000..b63f6e0 --- /dev/null +++ b/data/theme/calendar-today-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/theme/calendar-today.svg b/data/theme/calendar-today.svg new file mode 100644 index 0000000..daf86ec --- /dev/null +++ b/data/theme/calendar-today.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/theme/checkbox-focused.svg b/data/theme/checkbox-focused.svg new file mode 100644 index 0000000..01eb733 --- /dev/null +++ b/data/theme/checkbox-focused.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/theme/checkbox-off-focused-light.svg b/data/theme/checkbox-off-focused-light.svg new file mode 100644 index 0000000..4767377 --- /dev/null +++ b/data/theme/checkbox-off-focused-light.svg @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/data/theme/checkbox-off-focused.svg b/data/theme/checkbox-off-focused.svg new file mode 100644 index 0000000..d5a042e --- /dev/null +++ b/data/theme/checkbox-off-focused.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/theme/checkbox-off-light.svg b/data/theme/checkbox-off-light.svg new file mode 100644 index 0000000..5d37c85 --- /dev/null +++ b/data/theme/checkbox-off-light.svg @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + diff --git a/data/theme/checkbox-off.svg b/data/theme/checkbox-off.svg new file mode 100644 index 0000000..50eece1 --- /dev/null +++ b/data/theme/checkbox-off.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/theme/checkbox.svg b/data/theme/checkbox.svg new file mode 100644 index 0000000..da385b6 --- /dev/null +++ b/data/theme/checkbox.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/theme/dash-placeholder.svg b/data/theme/dash-placeholder.svg new file mode 100644 index 0000000..cbae148 --- /dev/null +++ b/data/theme/dash-placeholder.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/theme/gnome-shell-high-contrast.css b/data/theme/gnome-shell-high-contrast.css new file mode 100644 index 0000000..b32f6eb --- /dev/null +++ b/data/theme/gnome-shell-high-contrast.css @@ -0,0 +1,2883 @@ +/* This stylesheet is generated, DO NOT EDIT */ +/* Copyright 2009, 2015 Red Hat, Inc. + * + * Portions adapted from Mx's data/style/default.css + * Copyright 2009 Intel Corporation + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU Lesser General Public License, + * version 2.1, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for + * more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + */ +/* Global Values */ +stage { + font-size: 11pt; + color: white; } + +/* Common Stylings */ +.screenshot-ui-panel, .workspace-switcher, .switcher-list, .resize-popup, .osd-monitor-label, .osd-window { + color: white; + background-color: #000; + border: 1px solid #000; + border-radius: 999px; + padding: 12px; } + +.workspace-thumbnails .workspace-thumbnail { + color: white; + background-color: rgba(255, 255, 255, 0.1); } + +.app-well-app.app-folder .overview-icon, .app-folder.grid-search-result .overview-icon, .app-well-app .overview-icon, .grid-search-result .overview-icon, .dash-item-container .show-apps .overview-icon, .list-search-result, .search-provider-icon, .switcher-list .item-box { + border-radius: 16px; + padding: 6px; + spacing: 6px; + border: 2px solid transparent; + transition-duration: 200ms; + text-align: center; } + +.modal-dialog { + color: white; + background-color: #000; + border-radius: 11px; + border: 1px solid #2b2b2b; } + +#LookingGlassDialog > #Toolbar .lg-toolbar-button, .app-folder-dialog .folder-name-container .edit-folder-button, .button, .icon-button { + border-radius: 6px; + border-style: solid; + border-width: 1px; + font-weight: bold; + padding: 3px 24px; + transition-duration: 100ms; + color: white; + background-color: #1a1a1a; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus, .app-folder-dialog .folder-name-container .edit-folder-button:focus, .button:focus, .icon-button:focus { + transition-duration: 100ms; + color: white; + background-color: #1d252e; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus:hover, .app-folder-dialog .folder-name-container .edit-folder-button:focus:hover, .button:focus:hover, .icon-button:focus:hover { + background-color: #242b35; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus:active, .app-folder-dialog .folder-name-container .edit-folder-button:focus:active, .button:focus:active, .icon-button:focus:active { + background-color: #2a323c; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:hover, .app-folder-dialog .folder-name-container .edit-folder-button:hover, .button:hover, .icon-button:hover { + transition-duration: 100ms; + color: white; + background-color: #222222; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(144, 144, 144, 0.28); } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:insensitive, .app-folder-dialog .folder-name-container .edit-folder-button:insensitive, .button:insensitive, .icon-button:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0); } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:active, .app-folder-dialog .folder-name-container .edit-folder-button:active, .button:active, .icon-button:active { + transition-duration: 100ms; + color: white; + background-color: #292929; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(148, 148, 148, 0.28); } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked, .app-folder-dialog .folder-name-container .edit-folder-button:checked, .button:checked, .icon-button:checked { + transition-duration: 100ms; + color: white; + background-color: #313131; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(152, 152, 152, 0.28); } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked:hover, .app-folder-dialog .folder-name-container .edit-folder-button:checked:hover, .button:checked:hover, .icon-button:checked:hover { + background-color: #393939; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked:active, .app-folder-dialog .folder-name-container .edit-folder-button:checked:active, .button:checked:active, .icon-button:checked:active { + background-color: #404040; } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button, .app-folder-dialog .folder-name-container .flat.edit-folder-button, .flat.button, .flat.icon-button { + transition-duration: 100ms; + color: white; + background-color: #1a1a1a; + background-color: transparent; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:focus, .app-folder-dialog .folder-name-container .flat.edit-folder-button:focus, .flat.button:focus, .flat.icon-button:focus { + transition-duration: 100ms; + color: white; + background-color: #1d252e; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:focus:hover, .app-folder-dialog .folder-name-container .flat.edit-folder-button:focus:hover, .flat.button:focus:hover, .flat.icon-button:focus:hover { + background-color: #242b35; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:focus:active, .app-folder-dialog .folder-name-container .flat.edit-folder-button:focus:active, .flat.button:focus:active, .flat.icon-button:focus:active { + background-color: #2a323c; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:hover, .app-folder-dialog .folder-name-container .flat.edit-folder-button:hover, .flat.button:hover, .flat.icon-button:hover { + transition-duration: 100ms; + color: white; + background-color: #222222; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(144, 144, 144, 0.28); } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:insensitive, .app-folder-dialog .folder-name-container .flat.edit-folder-button:insensitive, .flat.button:insensitive, .flat.icon-button:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0); } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:active, .app-folder-dialog .folder-name-container .flat.edit-folder-button:active, .flat.button:active, .flat.icon-button:active { + transition-duration: 100ms; + color: white; + background-color: #292929; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(148, 148, 148, 0.28); } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:checked, .app-folder-dialog .folder-name-container .flat.edit-folder-button:checked, .flat.button:checked, .flat.icon-button:checked { + transition-duration: 100ms; + color: white; + background-color: #313131; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(152, 152, 152, 0.28); } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:checked:hover, .app-folder-dialog .folder-name-container .flat.edit-folder-button:checked:hover, .flat.button:checked:hover, .flat.icon-button:checked:hover { + background-color: #393939; } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:checked:active, .app-folder-dialog .folder-name-container .flat.edit-folder-button:checked:active, .flat.button:checked:active, .flat.icon-button:checked:active { + background-color: #404040; } + +.modal-dialog .modal-dialog-linked-button, .hotplug-notification-item, .notification-banner .notification-button { + padding: 12px; + font-weight: bold !important; + transition-duration: 100ms; + color: white; + background-color: #616161; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); } + .modal-dialog .modal-dialog-linked-button:ltr, .hotplug-notification-item:ltr, .notification-banner .notification-button:ltr { + margin-right: 1px; } + .modal-dialog .modal-dialog-linked-button:rtl, .hotplug-notification-item:rtl, .notification-banner .notification-button:rtl { + margin-left: 1px; } + .modal-dialog .modal-dialog-linked-button:insensitive, .hotplug-notification-item:insensitive, .notification-banner .notification-button:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0); } + .modal-dialog .modal-dialog-linked-button:focus, .hotplug-notification-item:focus, .notification-banner .notification-button:focus { + transition-duration: 100ms; + color: white; + background-color: #5d656e; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .modal-dialog .modal-dialog-linked-button:focus:hover, .hotplug-notification-item:focus:hover, .notification-banner .notification-button:focus:hover { + background-color: #636b75; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .modal-dialog .modal-dialog-linked-button:focus:active, .hotplug-notification-item:focus:active, .notification-banner .notification-button:focus:active { + background-color: #6a727c; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .modal-dialog .modal-dialog-linked-button:hover, .hotplug-notification-item:hover, .notification-banner .notification-button:hover { + transition-duration: 100ms; + color: white; + background-color: dimgray; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(180, 180, 180, 0.28); } + .modal-dialog .modal-dialog-linked-button:active, .hotplug-notification-item:active, .notification-banner .notification-button:active { + transition-duration: 100ms; + color: white; + background-color: #707070; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(184, 184, 184, 0.28); } + .modal-dialog .modal-dialog-linked-button:checked, .hotplug-notification-item:checked, .notification-banner .notification-button:checked { + transition-duration: 100ms; + color: white; + background-color: #787878; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(187, 187, 187, 0.28); } + .modal-dialog .modal-dialog-linked-button:checked:hover, .hotplug-notification-item:checked:hover, .notification-banner .notification-button:checked:hover { + background-color: gray; } + .modal-dialog .modal-dialog-linked-button:checked:active, .hotplug-notification-item:checked:active, .notification-banner .notification-button:checked:active { + background-color: #878787; } + .modal-dialog .modal-dialog-linked-button:first-child:ltr, .hotplug-notification-item:first-child:ltr, .notification-banner .notification-button:first-child:ltr { + border-radius: 0 0 0 10px; } + .modal-dialog .modal-dialog-linked-button:last-child:ltr, .hotplug-notification-item:last-child:ltr, .notification-banner .notification-button:last-child:ltr { + border-radius: 0 0 10px 0; + margin-right: 0 !important; } + .modal-dialog .modal-dialog-linked-button:first-child:rtl, .hotplug-notification-item:first-child:rtl, .notification-banner .notification-button:first-child:rtl { + border-radius: 0 0 10px 0; } + .modal-dialog .modal-dialog-linked-button:last-child:rtl, .hotplug-notification-item:last-child:rtl, .notification-banner .notification-button:last-child:rtl { + border-radius: 0 0 0 10px; + margin-left: 0 !important; } + .modal-dialog .modal-dialog-linked-button:first-child:last-child, .hotplug-notification-item:first-child:last-child, .notification-banner .notification-button:first-child:last-child { + border-radius: 0 0 10px 10px !important; + margin-left: 0 !important; + margin-right: 0 !important; } + +.screenshot-ui-show-pointer-button, .screenshot-ui-type-button { + transition-duration: 100ms; + background-color: transparent; + background-color: none; + box-shadow: none; } + .screenshot-ui-show-pointer-button:insensitive, .screenshot-ui-type-button:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0); + background-color: transparent; + color: rgba(255, 255, 255, 0.5); } + .screenshot-ui-show-pointer-button:insensitive, .screenshot-ui-type-button:insensitive { + transition-duration: 100ms; + background-color: transparent; + background-color: none; + box-shadow: none; } + .screenshot-ui-show-pointer-button:insensitive:insensitive, .screenshot-ui-type-button:insensitive:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0); + background-color: transparent; + color: rgba(255, 255, 255, 0.5); } + .screenshot-ui-show-pointer-button:focus, .screenshot-ui-type-button:focus { + transition-duration: 100ms; + color: white; + background-color: #1d252e; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .screenshot-ui-show-pointer-button:focus:hover, .screenshot-ui-type-button:focus:hover { + background-color: #242b35; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .screenshot-ui-show-pointer-button:focus:active, .screenshot-ui-type-button:focus:active { + background-color: #2a323c; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .screenshot-ui-show-pointer-button:hover, .screenshot-ui-type-button:hover { + transition-duration: 100ms; + color: white; + background-color: #222222; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(144, 144, 144, 0.28); } + .screenshot-ui-show-pointer-button:active, .screenshot-ui-type-button:active { + transition-duration: 100ms; + color: white; + background-color: #292929; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(148, 148, 148, 0.28); } + .screenshot-ui-show-pointer-button:outlined, .screenshot-ui-type-button:outlined, .screenshot-ui-show-pointer-button:checked, .screenshot-ui-type-button:checked { + transition-duration: 100ms; + color: white; + background-color: #313131; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(152, 152, 152, 0.28); } + .screenshot-ui-show-pointer-button:outlined:hover, .screenshot-ui-type-button:outlined:hover, .screenshot-ui-show-pointer-button:checked:hover, .screenshot-ui-type-button:checked:hover { + background-color: #393939; } + .screenshot-ui-show-pointer-button:outlined:active, .screenshot-ui-type-button:outlined:active, .screenshot-ui-show-pointer-button:checked:active, .screenshot-ui-type-button:checked:active { + background-color: #404040; } + +/* General Typography */ +.app-folder-dialog .folder-name-container .folder-name-label, .app-folder-dialog .folder-name-container .folder-name-entry, .search-statustext { + font-weight: 800; + font-size: 20pt; } + +.lg-debug-flags-header, .message-dialog-content .message-dialog-title, .message-list .message-list-placeholder, .datemenu-today-button .date-label { + font-weight: 800; + font-size: 15pt; } + +.quick-toggle-menu .header .title { + font-weight: 700; + font-size: 15pt; } + +.message-dialog-content .message-dialog-title.lightweight, .headline { + font-weight: 700; + font-size: 13pt; } + +.lg-extension-name, .osd-window, .dialog-list .dialog-list-title, .message-list-controls, .weather-button .weather-forecast-temp, .weather-button .weather-header, .world-clocks-button .world-clocks-time, .world-clocks-button .world-clocks-header, .events-button .events-title, .calendar .calendar-month-header .calendar-month-label, .datemenu-today-button .day-label, .popup-menu-ornament { + font-weight: 700; + font-size: 11pt; } + +.quick-toggle-menu .header .subtitle, .app-menu .popup-inactive-menu-item:first-child > StLabel { + font-weight: 700; + font-size: 9pt; } + +.login-dialog-not-listed-label, .lg-completions-text, .caps-lock-warning-label, #dash, .icon-label-button-container, .prompt-dialog-error-label, +.prompt-dialog-info-label, +.prompt-dialog-null-label, .run-dialog .run-dialog-description, .dialog-list .dialog-list-box .dialog-list-item .dialog-list-item-description, .weather-button .weather-forecast-time, .world-clocks-button .world-clocks-timezone, .events-button .event-time { + font-weight: 400; + font-size: 9pt; } + +.calendar .calendar-day-base.calendar-day-heading, .calendar .calendar-day-base { + font-weight: 400; + font-size: 8pt; } + +.unlock-dialog-clock-time, #panel, .weather-button .weather-forecast-time, .world-clocks-button .world-clocks-timezone, .world-clocks-button .world-clocks-time, .events-button .event-time, .calendar .calendar-day-base { + font-feature-settings: "tnum"; } + +/* WIDGETS */ +.shell-link { + color: #8fbbf0; } + .shell-link:hover { + color: #bcd6f6; } + +.lowres-icon { + icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } + +.icon-dropshadow { + icon-shadow: 0 1px 5px rgba(0, 0, 0, 0.8); } + +/* Entries */ +StEntry { + border-radius: 8px; + padding: 8px; + color: white; + background-color: #0d0d0d; + color: rgba(255, 255, 255, 0.7); + border: 2px solid #0d0d0d; + selection-background-color: #3584e4; + selected-color: #ffffff; } + StEntry:hover { + background-color: #404040; + border-color: #404040; + color: rgba(255, 255, 255, 0.7); } + StEntry:focus { + background-color: #0f1318; + border-color: #3584e4; + color: white; } + StEntry:insensitive { + background-color: #0d0d0d; + border-color: #0d0d0d; + color: gray; } + StEntry StIcon.capslock-warning { + icon-size: 16px; + warning-color: #cd9309; + padding: 0 4px; } + StEntry StIcon.peek-password { + icon-size: 1.09em; + padding: 0 4px; } + StEntry StLabel.hint-text { + margin-left: 2px; + color: rgba(255, 255, 255, 0.7); } + +/* Buttons */ +.button, .icon-button { + min-height: 22px; } + +.icon-button { + border-radius: 99px; + padding: 12px; + min-height: 16px; } + .icon-button StIcon { + icon-size: 1.09em; + -st-icon-style: symbolic; } + +/* Check Boxes */ +.check-box StBoxLayout { + spacing: .8em; } + +.check-box StBin { + width: 24px; + height: 24px; + background-image: url("resource:///org/gnome/shell/theme/checkbox-off.svg"); } + +.check-box:focus StBin { + background-image: url("resource:///org/gnome/shell/theme/checkbox-off-focused.svg"); } + +.check-box:checked StBin { + background-image: url("resource:///org/gnome/shell/theme/checkbox.svg"); } + +.check-box:focus:checked StBin { + background-image: url("resource:///org/gnome/shell/theme/checkbox-focused.svg"); } + +/* Switches */ +.toggle-switch { + color: white; + height: 26px; + width: 48px; + background-size: contain; + background-image: url("resource:///org/gnome/shell/theme/toggle-off.svg"); } + .toggle-switch:checked { + background-image: url("resource:///org/gnome/shell/theme/toggle-on.svg"); } + +/* Slider */ +.slider { + -barlevel-height: 4px; + -barlevel-background-color: rgba(255, 255, 255, 0.2); + -barlevel-border-width: 2px; + -barlevel-border-color: transparent; + -barlevel-active-background-color: #3584e4; + -barlevel-active-border-color: transparent; + -barlevel-overdrive-color: #c01c28; + -barlevel-overdrive-border-color: transparent; + -barlevel-overdrive-separator-width: 1px; + -slider-handle-radius: 8px; + -slider-handle-border-width: 0; + -slider-handle-border-color: transparent; } + +/* Scrollbars */ +StScrollView.vfade { + -st-vfade-offset: 68px; } + +StScrollView.hfade { + -st-hfade-offset: 68px; } + +StScrollBar { + padding: 0; } + StScrollView StScrollBar { + min-width: 8px; + min-height: 8px; } + StScrollBar StBin#trough { + border-radius: 0; + background-color: transparent; } + StScrollBar StButton#vhandle, StScrollBar StButton#hhandle { + border-radius: 8px; + background-color: #4d4d4d; + border: 3px solid transparent; + transition: 500ms all ease; } + StScrollBar StButton#vhandle:hover, StScrollBar StButton#hhandle:hover { + background-color: gray; } + StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active { + background-color: #666666; } + +/* Popovers/Menus */ +.popup-menu-boxpointer, .candidate-popup-boxpointer { + -arrow-rise: 6px; } + +.popup-menu { + min-width: 15em; + color: white; } + .popup-menu.panel-menu { + margin-bottom: 1.75em; } + +.popup-menu-content, .candidate-popup-content { + padding: 6px; + border-radius: 20px; + border: 1px solid #2b2b2b; + box-shadow: 0 2px 4px 0 transparent; + background-color: #000; } + +.popup-menu-item { + padding: 9px 12px; + border-radius: 12px; + spacing: 6px; + transition-duration: 100ms; + background-color: transparent; } + .popup-menu-item:ltr { + padding-left: 6px; } + .popup-menu-item:rtl { + padding-right: 6px; } + .popup-menu-item:focus, .popup-menu-item:hover { + background-color: #333333 !important; } + .popup-menu-item:focus:active, .popup-menu-item:hover:active { + background-color: #383838 !important; } + .popup-menu-item:checked { + background-color: #2e2e2e !important; } + .popup-menu-item:checked { + margin-bottom: 0; + box-shadow: inset 0 -1px 0 0 #212121; + border-radius: 8px 8px 0 0; } + .popup-menu-item:checked:focus, .popup-menu-item:checked:hover { + background-color: #363636 !important; } + .popup-menu-item:checked:active { + background-color: #3b3b3b !important; } + .popup-menu-item:active { + background-color: #454545; + color: white; } + .popup-menu-item:insensitive { + color: rgba(255, 255, 255, 0.5); } + .popup-menu-item .toggle-switch:ltr { + margin-left: 4px; } + .popup-menu-item .toggle-switch:rtl { + margin-right: 4px; } + +.popup-inactive-menu-item { + color: white; } + .popup-inactive-menu-item:insensitive { + color: gray; } + +.popup-menu-arrow, +.popup-menu-icon { + icon-size: 16px !important; } + +.popup-sub-menu { + background-color: #2e2e2e; + border-radius: 0 0 8px 8px; } + .popup-sub-menu .popup-menu-ornament { + min-width: 1.09em !important; } + .popup-sub-menu .popup-menu-item { + border-radius: 0; + margin: 0; } + .popup-sub-menu .popup-menu-item:last-child { + border-radius: 0 0 8px 8px; } + .popup-sub-menu .popup-menu-item:focus, .popup-sub-menu .popup-menu-item:hover { + background-color: #333333 !important; } + .popup-sub-menu .popup-menu-item:checked { + background-color: #2e2e2e !important; } + .popup-sub-menu .popup-menu-item:checked:focus, .popup-sub-menu .popup-menu-item:checked:hover { + background-color: #424242 !important; } + .popup-sub-menu .popup-menu-item:active { + background-color: #383838 !important; } + .popup-sub-menu .popup-menu-section .popup-menu-item:last-child:hover, .popup-sub-menu .popup-menu-section .popup-menu-item:last-child:focus { + border-radius: 0; } + .popup-sub-menu .popup-menu-section:last-child .popup-menu-item:last-child { + border-radius: 0 0 8px 8px; } + +.popup-menu-ornament { + width: 1.2em; + text-align: center !important; } + .popup-menu-ornament:ltr { + text-align: right; } + .popup-menu-ornament:rtl { + text-align: left; } + +.popup-separator-menu-item { + margin: 6px 0; + padding: 0 !important; } + .popup-separator-menu-item:ltr { + margin-right: 4px; } + .popup-separator-menu-item:rtl { + margin-left: 4px; } + .popup-separator-menu-item .popup-separator-menu-item-separator { + height: 1px; + background-color: #2b2b2b; } + .popup-separator-menu-item .popup-menu-ornament { + width: 0 !important; } + .popup-sub-menu .popup-separator-menu-item { + background-color: transparent; } + .popup-sub-menu .popup-separator-menu-item:ltr { + margin-right: 2.5em; } + .popup-sub-menu .popup-separator-menu-item:rtl { + margin-left: 2.5em; } + .popup-sub-menu .popup-separator-menu-item .popup-separator-menu-item-separator { + background-color: #3d3d3d; } + +.background-menu { + -boxpointer-gap: 0px; + -arrow-rise: 0px; } + +.app-menu { + max-width: 27.25em; } + .app-menu .popup-menu-ornament { + width: 0 !important; } + .app-menu .popup-inactive-menu-item:first-child > StLabel:ltr { + margin-right: 8px; } + .app-menu .popup-inactive-menu-item:first-child > StLabel:rtl { + margin-left: 8px; } + +/* Date/Time Menu */ +#calendarArea { + padding: 4px; } + +.datemenu-calendar-column { + spacing: 6px; } + .datemenu-calendar-column:ltr { + padding-left: 6px; } + .datemenu-calendar-column:rtl { + padding-right: 6px; } + .datemenu-calendar-column .datemenu-displays-box { + spacing: 6px; } + +/* today button (the date) */ +.datemenu-today-button { + border-radius: 8px; + margin: 4px; + box-shadow: inset 0 0 0 1px #1f1f1f; + transition-duration: 100ms; + background-color: transparent; + background-color: none; + box-shadow: none; + box-shadow: none !important; + padding: 9px; } + .datemenu-today-button:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0); + background-color: transparent; + color: rgba(255, 255, 255, 0.5); } + .datemenu-today-button:focus { + transition-duration: 100ms; + color: white; + background-color: #353d47; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .datemenu-today-button:focus:hover { + background-color: #3c444d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .datemenu-today-button:focus:active { + background-color: #434b54; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .datemenu-today-button:hover { + transition-duration: 100ms; + color: white; + background-color: #3d3d3d; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(158, 158, 158, 0.28); } + .datemenu-today-button:active { + transition-duration: 100ms; + color: white; + background-color: #444444; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(162, 162, 162, 0.28); } + +/* Calendar */ +.calendar { + border-radius: 8px; + margin: 4px; + box-shadow: inset 0 0 0 1px #1f1f1f; + transition-duration: 100ms; + background-color: transparent; + background-color: none; + box-shadow: none; + box-shadow: none !important; + margin-top: 0; } + .calendar:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0); + background-color: transparent; + color: rgba(255, 255, 255, 0.5); } + .calendar:focus { + transition-duration: 100ms; + color: white; + background-color: #353d47; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .calendar:focus:hover { + background-color: #3c444d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .calendar:focus:active { + background-color: #434b54; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .calendar:hover { + transition-duration: 100ms; + color: white; + background-color: #3d3d3d; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(158, 158, 158, 0.28); } + .calendar:active { + transition-duration: 100ms; + color: white; + background-color: #444444; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(162, 162, 162, 0.28); } + .calendar .calendar-month-header .calendar-change-month-back StIcon, + .calendar .calendar-month-header .calendar-change-month-forward StIcon { + icon-size: 1.09em; } + .calendar .calendar-month-header .calendar-month-label { + color: white; + padding: 8px 0; } + .calendar .calendar-month-header .pager-button { + background-color: transparent; + height: 32px; + width: 32px; + margin: 2px; + border-radius: 6px; } + .calendar .calendar-month-header .pager-button:hover, .calendar .calendar-month-header .pager-button:focus { + background-color: #333333; } + .calendar .calendar-month-header .pager-button:active { + background-color: #383838; } + .calendar .calendar-day-base { + text-align: center; + margin: 2px; + padding: 0 !important; + height: 3em !important; + width: 3em !important; + border-radius: 99px; + transition-duration: 100ms; } + .calendar .calendar-day-base:hover { + background-color: #333333; } + .calendar .calendar-day-base:focus { + background-color: #0b1a2e; + color: #ffffff; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6); } + .calendar .calendar-day-base:active, .calendar .calendar-day-base:selected { + color: white; + background-color: #383838; } + .calendar .calendar-day-base:active:focus, .calendar .calendar-day-base:selected:focus { + background-color: #37475a; } + .calendar .calendar-day-base.calendar-day-heading { + color: gray; + padding-top: 6px; + height: 16px !important; + font-weight: bold; } + .calendar .calendar-nonwork-day { + color: gray; } + .calendar .calendar-other-month-day { + color: rgba(255, 255, 255, 0.5); } + .calendar .calendar-other-month-day.calendar-nonwork-day { + color: rgba(128, 128, 128, 0.5); } + .calendar .calendar-today { + background-color: #3584e4; + font-weight: 800; + color: #ffffff !important; } + .calendar .calendar-today:hover, .calendar .calendar-today:focus { + background-color: #428ce6; + color: inherit; } + .calendar .calendar-today:active, .calendar .calendar-today:selected { + background-color: #3584e4; + color: inherit; } + .calendar .calendar-today:active:hover, .calendar .calendar-today:active:focus, .calendar .calendar-today:selected:hover, .calendar .calendar-today:selected:focus { + background-color: #428ce6; + color: inherit; } + .calendar .calendar-day-with-events { + background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg"); + background-size: contain; } + .calendar .calendar-week-number { + font-size: 7pt; + font-weight: bold; + font-feature-settings: "tnum"; + margin: 6px; + padding: 0 6px; + border-radius: 3px; + background-color: black; + color: gray; } + +/* Events */ +.events-button { + border-radius: 8px; + margin: 4px; + box-shadow: inset 0 0 0 1px #1f1f1f; + transition-duration: 100ms; + color: white; + background-color: #353535; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + padding: 12px; } + .events-button:focus { + transition-duration: 100ms; + color: white; + background-color: #353d47; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .events-button:focus:hover { + background-color: #3c444d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .events-button:focus:active { + background-color: #434b54; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .events-button:hover { + transition-duration: 100ms; + color: white; + background-color: #3d3d3d; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(158, 158, 158, 0.28); } + .events-button:active { + transition-duration: 100ms; + color: white; + background-color: #444444; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(162, 162, 162, 0.28); } + .events-button .events-box { + spacing: 6px; } + .events-button .events-list { + spacing: 12px; } + .events-button .events-title { + color: gray; + margin-bottom: 4px; } + .events-button .event-time { + color: gray; } + +/* World clocks */ +.world-clocks-button { + border-radius: 8px; + margin: 4px; + box-shadow: inset 0 0 0 1px #1f1f1f; + transition-duration: 100ms; + color: white; + background-color: #353535; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + padding: 12px; } + .world-clocks-button:focus { + transition-duration: 100ms; + color: white; + background-color: #353d47; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .world-clocks-button:focus:hover { + background-color: #3c444d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .world-clocks-button:focus:active { + background-color: #434b54; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .world-clocks-button:hover { + transition-duration: 100ms; + color: white; + background-color: #3d3d3d; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(158, 158, 158, 0.28); } + .world-clocks-button:active { + transition-duration: 100ms; + color: white; + background-color: #444444; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(162, 162, 162, 0.28); } + .world-clocks-button .world-clocks-grid { + spacing-rows: 6px; + spacing-columns: 12px; } + .world-clocks-button .world-clocks-header { + color: gray; } + .world-clocks-button .world-clocks-city { + color: white; } + .world-clocks-button .world-clocks-time { + color: white; } + .world-clocks-button .world-clocks-time:ltr { + text-align: right; } + .world-clocks-button .world-clocks-time:rtl { + text-align: left; } + .world-clocks-button .world-clocks-timezone { + color: gray; } + +/* Weather */ +.weather-button { + border-radius: 8px; + margin: 4px; + box-shadow: inset 0 0 0 1px #1f1f1f; + transition-duration: 100ms; + color: white; + background-color: #353535; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + padding: 12px; } + .weather-button:focus { + transition-duration: 100ms; + color: white; + background-color: #353d47; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .weather-button:focus:hover { + background-color: #3c444d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .weather-button:focus:active { + background-color: #434b54; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .weather-button:hover { + transition-duration: 100ms; + color: white; + background-color: #3d3d3d; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(158, 158, 158, 0.28); } + .weather-button:active { + transition-duration: 100ms; + color: white; + background-color: #444444; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(162, 162, 162, 0.28); } + .weather-button .weather-box { + spacing: 10px; } + .weather-button .weather-header-box { + spacing: 6px; } + .weather-button .weather-header { + color: gray; } + .weather-button .weather-header.location { + font-weight: normal; } + .weather-button .weather-grid { + spacing-rows: 6px; + spacing-columns: 12px; } + .weather-button .weather-forecast-time { + color: #b3b3b3; + padding-top: 0.2em; + padding-bottom: 0.4em; } + .weather-button .weather-forecast-icon { + icon-size: 2.18em; } + +/* Message List */ +.message-list { + width: 29em; + border: solid #2b2b2b; } + .message-list:ltr { + margin-left: 0; + margin-right: 4px; + padding-right: 6px; + border-right-width: 1px; } + .message-list:rtl { + margin-right: 0; + margin-left: 4px; + padding-left: 6px; + border-left-width: 1px; } + .message-list .message-list-placeholder { + color: rgba(128, 128, 128, 0.5); } + .message-list .message-list-placeholder > StIcon { + icon-size: 3.27em; + margin-bottom: 12px; + -st-icon-style: symbolic; } + +.message-list-sections { + spacing: 6px; + margin: 0; + padding-bottom: 6px; } + .message-list-sections:ltr { + margin-right: 12px; } + .message-list-sections:rtl { + margin-left: 12px; } + +.message-list-section, +.message-list-section-list { + spacing: 6px; } + +.message-list-controls { + padding: 6px; + spacing: 6px; } + .message-list-controls .dnd-button { + border-width: 2px; + border-color: transparent; + border-radius: 32px; + border-style: solid; } + .message-list-controls .dnd-button:focus { + border-color: rgba(53, 132, 228, 0.6); } + +.message { + border-radius: 8px; + margin: 4px; + box-shadow: inset 0 0 0 1px #1f1f1f; + transition-duration: 100ms; + color: white; + background-color: #353535; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); } + .message:focus { + transition-duration: 100ms; + color: white; + background-color: #353d47; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .message:focus:hover { + background-color: #3c444d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .message:focus:active { + background-color: #434b54; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .message:hover { + transition-duration: 100ms; + color: white; + background-color: #3d3d3d; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(158, 158, 158, 0.28); } + .message:active { + transition-duration: 100ms; + color: white; + background-color: #444444; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(162, 162, 162, 0.28); } + .message .message-icon-bin { + padding: 18px; } + .message .message-icon-bin:ltr { + padding-right: 6px; } + .message .message-icon-bin:rtl { + padding-left: 6px; } + .message .message-icon-bin > StIcon { + icon-size: 2.18em; + -st-icon-style: symbolic; } + .message .message-icon-bin > .fallback-app-icon { + width: 1.09em; + height: 1.09em; } + .message .message-content { + spacing: 4px; + padding: 9px; + margin-bottom: 8px; } + .message .message-title { + font-weight: bold; + /* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */ + padding-top: 0.57em; } + .message .message-secondary-bin { + padding: 0 8px; } + .message .message-secondary-bin > .event-time { + color: rgba(255, 255, 255, 0.5); + font-size: 9pt; + /* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */ + padding-bottom: 0.13em; } + .message .message-secondary-bin > .event-time:ltr { + text-align: right; } + .message .message-secondary-bin > .event-time:rtl { + text-align: left; } + .message .message-close-button { + color: white; + background-color: rgba(255, 255, 255, 0.1); + border-radius: 99px; + padding: 5px; + margin: 1px; } + .message .message-close-button:hover { + background-color: rgba(255, 255, 255, 0.2); } + .message .message-close-button:active { + background-color: rgba(255, 255, 255, 0.1); } + .message .message-close-button StIcon { + icon-size: 1.09em; } + .message .message-body { + color: #e6e6e6; } + +.url-highlighter { + link-color: #8fbbf0; } + +/* Media Controls */ +.message-media-control { + padding: 0 18px; + margin: 12px 0; + border-radius: 8px; + color: white; } + .message-media-control:hover { + background-color: #404040; + color: white; } + .message-media-control:active { + background-color: #454545; + color: white; } + .message-media-control:insensitive { + color: #8d8d8d; } + .message-media-control:last-child:ltr { + margin-right: 12px; } + .message-media-control:last-child:rtl { + margin-left: 12px; } + .message-media-control StIcon { + icon-size: 1.09em; } + +.media-message-cover-icon { + icon-size: 3.27em !important; + border-radius: 8px; } + .media-message-cover-icon.fallback { + color: #d4d4d4; + background-color: #000; + border: 1px solid transparent; + border-radius: 8px; + icon-size: 2.18em !important; + padding: 14px; } + +.candidate-popup-content { + padding: 6px; + spacing: 6px; } + +.candidate-index { + padding: 0; + padding-right: 6px; + color: gray; } + +.candidate-box { + padding: 6px 12px 6px 12px; + border-radius: 8px; } + .candidate-box:selected { + background-color: #3584e4; + color: #ffffff; } + .candidate-box:hover { + background-color: #333333; + color: white; } + +.candidate-page-button-box { + height: 2em; } + .vertical .candidate-page-button-box { + padding-top: 12px; } + .horizontal .candidate-page-button-box { + padding-left: 12px; } + +.candidate-page-button { + padding: 6px; } + .candidate-page-button StIcon { + icon-size: 1.09em; } + +.candidate-page-button-previous { + border-radius: 8px 0px 0px 8px; + border-right-width: 0; + box-shadow: none; } + +.candidate-page-button-next { + border-radius: 0px 8px 8px 0px; + box-shadow: none; } + +/* Notifications & Message Tray */ +.notification-banner { + min-height: 64px; + width: 34em; + box-shadow: 0 2px 4px 2px transparent; + border-radius: 12px; + margin: 4px; } + .notification-banner .notification-actions { + spacing: 0; } + +.summary-source-counter { + font-size: 10pt; + font-weight: bold; + height: 1.6em; + width: 1.6em; + -shell-counter-overlap-x: 3px; + -shell-counter-overlap-y: 3px; + background-color: #3584e4; + color: #ffffff; + border: 2px solid white; + box-shadow: 0 2px 2px rgba(0, 0, 0, 0.5); + border-radius: 0.9em; } + +.chat-body { + spacing: 5px; } + +.chat-response { + margin: 5px; } + +.chat-log-message { + color: #e6e6e6; } + +.chat-new-group { + padding-top: 1em; } + +.chat-received { + padding-left: 4px; } + .chat-received:rtl { + padding-left: 0px; + padding-right: 4px; } + +.chat-sent { + padding-left: 18pt; + color: white; } + .chat-sent:rtl { + padding-left: 0; + padding-right: 18pt; } + +.chat-meta-message { + padding-left: 4px; + font-size: 9pt; + font-weight: bold; + color: white; } + .chat-meta-message:rtl { + padding-left: 0; + padding-right: 4px; } + +.hotplug-notification-item-icon { + icon-size: 24px; + padding: 0 4px; } + +/* Modal Dialogs */ +.modal-dialog .modal-dialog-content-box { + margin: 32px 40px; + spacing: 32px; + max-width: 28em; } + +/* End Session Dialog */ +.end-session-dialog { + width: 30em; } + .end-session-dialog .end-session-dialog-battery-warning, + .end-session-dialog .dialog-list-title { + color: #cd9309; } + +/* Message Dialog */ +.message-dialog-content { + spacing: 18px; } + .message-dialog-content .message-dialog-title { + text-align: center; } + .message-dialog-content .message-dialog-description { + text-align: center; } + +/* Dialog List */ +.dialog-list { + spacing: 18px; } + .dialog-list .dialog-list-title { + text-align: center; } + .dialog-list .dialog-list-scrollview { + max-height: 200px; } + .dialog-list .dialog-list-box { + spacing: 1em; } + .dialog-list .dialog-list-box .dialog-list-item { + spacing: 1em; } + .dialog-list .dialog-list-box .dialog-list-item .dialog-list-item-title { + font-weight: bold; } + .dialog-list .dialog-list-box .dialog-list-item .dialog-list-item-description { + color: #f2f2f2; } + +/* Run Dialog */ +.run-dialog .modal-dialog-content-box { + margin-top: 24px; + margin-bottom: 14px; } + +.run-dialog .run-dialog-entry { + width: 20em; } + +.run-dialog .run-dialog-description { + text-align: center; + color: #cccccc; } + +/* Password or Authentication Dialog */ +.prompt-dialog { + width: 28em; } + .prompt-dialog .modal-dialog-content-box { + margin-bottom: 24px; } + +.prompt-dialog-password-grid { + spacing-rows: 8px; + spacing-columns: 4px; } + .prompt-dialog-password-grid .prompt-dialog-password-entry { + width: auto; } + .prompt-dialog-password-grid .prompt-dialog-password-entry:ltr { + margin-left: 20px; } + .prompt-dialog-password-grid .prompt-dialog-password-entry:rtl { + margin-right: 20px; } + +.prompt-dialog-password-layout { + spacing: 8px; } + +.prompt-dialog-password-entry { + width: 20em; } + +.prompt-dialog-error-label, +.prompt-dialog-info-label, +.prompt-dialog-null-label { + text-align: center; } + +.prompt-dialog-error-label { + color: #cd9309; } + +/* Polkit Dialog */ +.polkit-dialog-user-layout { + text-align: center; + spacing: 8px; + margin-bottom: 6px; } + .polkit-dialog-user-layout .polkit-dialog-user-root-label { + color: #cd9309; } + +/* Audio selection dialog */ +.audio-device-selection-dialog .modal-dialog-content-box { + margin-bottom: 28px; } + +.audio-device-selection-dialog .audio-selection-box { + spacing: 20px; } + +.audio-selection-device { + border-radius: 16px; } + .audio-selection-device:hover, .audio-selection-device:focus { + background-color: #333333; } + .audio-selection-device:active { + background-color: #3584e4; + color: #ffffff; } + +.audio-selection-device-box { + padding: 20px; + spacing: 20px; } + +.audio-selection-device-icon { + icon-size: 4.36em; } + +/* Welcome dialog */ +.welcome-dialog-image { + background-image: url("resource:///org/gnome/shell/theme/gnome-shell-start.svg"); + background-size: contain; + /* Reasonable maximum dimensions */ + height: 300px; + width: 300px; } + +/* Access portal dialog */ +.access-dialog { + text-align: center; } + +/* OSD */ +.osd-window { + text-align: center; + font-weight: bold; + spacing: 12px; + padding: 12px 18px; + margin-bottom: 4em; } + .osd-window > * { + spacing: 8px; } + .osd-window StIcon { + icon-size: 2.18em; } + .osd-window StLabel:ltr { + margin-right: 6px; } + .osd-window StLabel:rtl { + margin-left: 6px; } + .osd-window .level { + margin-bottom: 4px; + height: 6px; + min-width: 10.9em; + -barlevel-height: 6px; + -barlevel-background-color: rgba(255, 255, 255, 0.1); + -barlevel-active-background-color: white; + -barlevel-overdrive-color: #c01c28; + -barlevel-overdrive-separator-width: 3px; } + .osd-window .level:first-child { + margin-bottom: 0px; } + .osd-window .level:ltr { + margin-right: 6px; } + .osd-window .level:rtl { + margin-left: 6px; } + +.osd-monitor-label { + border-radius: 16px; + font-size: 3em; + font-weight: bold; + margin: 12px; + text-align: center; + min-width: 1.3em; } + +/* Pad OSD */ +.pad-osd-window { + padding: 32px; + background-color: rgba(0, 0, 0, 0.8); } + .pad-osd-window .pad-osd-title-box { + spacing: 12px; } + .pad-osd-window .pad-osd-title-menu-box { + spacing: 6px; } + +.combo-box-label { + width: 15em; } + +/* App Switcher */ +.switcher-popup { + padding: 0; + spacing: 24px; } + +.switcher-list { + padding: 10px; + border-radius: 24px; + box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.1); } + .switcher-list .switcher-list-item-container { + spacing: 12px; } + .switcher-list .item-box { + background-color: transparent; } + .switcher-list .item-box:hover { + background-color: rgba(255, 255, 255, 0.1); } + .switcher-list .item-box:selected, .switcher-list .item-box:focus { + background-color: rgba(255, 255, 255, 0.13); } + .switcher-list .item-box:selected:hover, .switcher-list .item-box:focus:hover { + background-color: rgba(255, 255, 255, 0.16); } + .switcher-list .item-box:selected:active, .switcher-list .item-box:focus:active { + background-color: rgba(255, 255, 255, 0.13); } + .switcher-list .item-box:active { + background-color: rgba(255, 255, 255, 0.16); } + .switcher-list .item-box:outlined, .switcher-list .item-box:checked { + background-color: rgba(255, 255, 255, 0.19); } + .switcher-list .item-box:outlined:active, .switcher-list .item-box:checked:active { + background-color: rgba(255, 255, 255, 0.22); } + .switcher-list .item-box:outlined:hover, .switcher-list .item-box:checked:hover { + background-color: rgba(255, 255, 255, 0.25); } + .switcher-list .item-box:drop { + border: 2px solid rgba(53, 132, 228, 0.8); + background-color: rgba(53, 132, 228, 0.2); } + .switcher-list .item-box:hover { + background: none; } + .switcher-list .separator { + width: 1px; + background: #2b2b2b; } + .switcher-list .thumbnail-box { + padding: 2px; + spacing: 6px; } + .switcher-list .thumbnail { + width: 256px; + border-radius: 8px; } + +.switcher-arrow { + border-color: rgba(255, 255, 255, 0.8); + color: rgba(255, 255, 255, 0.8); } + .switcher-arrow:highlighted { + border-color: white; + color: white; } + +.input-source-switcher-symbol { + font-size: 34pt; + width: 96px; + height: 96px; } + +.cycler-highlight { + border: 5px solid #3584e4; } + +/* Workspace Switcher */ +.workspace-switcher { + margin-bottom: 4em; + spacing: 12px; + padding: 12px 18px; } + +.ws-switcher-indicator { + background-color: rgba(255, 255, 255, 0.5); + padding: 0.1816666667em; + margin: 0.9083333333em; + border-radius: 2.18em; } + .ws-switcher-indicator:active { + background-color: white; + padding: 0.3633333333em; + margin: 0.7266666667em; } + +.icon-label-button-container { + spacing: 6px; } + .icon-label-button-container StIcon { + icon-size: 32px; } + +.screenshot-ui-panel { + border-radius: 37px; + padding: 18px; + padding-bottom: 12px; + margin-bottom: 4em; + spacing: 12px; } + +.screenshot-ui-close-button { + padding: 6px !important; + margin-top: 12px; + box-shadow: 0 2px 4px 0 transparent; } + .screenshot-ui-close-button.left { + margin-left: 12px; } + .screenshot-ui-close-button.right { + margin-right: 12px; } + +.screenshot-ui-type-button { + min-width: 48px; + padding: 12px 18px !important; + border-radius: 19px; } + +.screenshot-ui-capture-button { + width: 36px; + height: 36px; + border-radius: 99px; + border: 4px white; + padding: 4px; } + .screenshot-ui-capture-button .screenshot-ui-capture-button-circle { + background-color: white; + transition-duration: 200ms; + border-radius: 99px; } + .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:hover, .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:focus { + background-color: #333333; } + .screenshot-ui-capture-button:hover .screenshot-ui-capture-button-circle, .screenshot-ui-capture-button:focus .screenshot-ui-capture-button-circle { + background-color: #d9d9d9; } + .screenshot-ui-capture-button:active .screenshot-ui-capture-button-circle { + background-color: gray; } + .screenshot-ui-capture-button:cast .screenshot-ui-capture-button-circle { + background-color: #c01c28; } + .screenshot-ui-capture-button:cast:hover .screenshot-ui-capture-button-circle, .screenshot-ui-capture-button:cast:focus .screenshot-ui-capture-button-circle { + background-color: #d61f2d; } + .screenshot-ui-capture-button:cast:active .screenshot-ui-capture-button-circle { + background-color: #a11722; } + +.screenshot-ui-shot-cast-container { + background-color: #0d0d0d; + border-radius: 16px; + padding: 3px; + spacing: 3px; } + .screenshot-ui-shot-cast-container:ltr { + margin-left: 3px; } + .screenshot-ui-shot-cast-container:rtl { + margin-right: 3px; } + +.screenshot-ui-shot-cast-button { + padding: 6px 12px; + background-color: transparent; + border-radius: 13px; } + .screenshot-ui-shot-cast-button:hover, .screenshot-ui-shot-cast-button:focus { + background-color: #1a1a1a; } + .screenshot-ui-shot-cast-button:active { + background-color: #454545; } + .screenshot-ui-shot-cast-button:checked { + background-color: white; + color: black; } + .screenshot-ui-shot-cast-button:insensitive { + color: rgba(255, 255, 255, 0.5); } + .screenshot-ui-shot-cast-button StIcon { + icon-size: 1.09em; } + +.screenshot-ui-show-pointer-button { + border-radius: 99px; + padding: 12px !important; } + .screenshot-ui-show-pointer-button StIcon { + icon-size: 1.09em; } + +.screenshot-ui-area-indicator-shade { + background-color: rgba(0, 0, 0, 0.3); } + +.screenshot-ui-area-selector .screenshot-ui-area-indicator-shade { + background-color: rgba(0, 0, 0, 0.5); } + +.screenshot-ui-area-selector .screenshot-ui-area-indicator-selection { + border: 2px white; } + +.screenshot-ui-area-selector-handle { + border-radius: 99px; + background-color: white; + box-shadow: 0 1px 3px 2px rgba(0, 0, 0, 0.2); + width: 24px; + height: 24px; } + +.screenshot-ui-window-selector { + background-color: #2b2b2b; } + .screenshot-ui-window-selector .screenshot-ui-window-selector-window-container { + margin: 100px; } + .screenshot-ui-window-selector:primary-monitor .screenshot-ui-window-selector-window-container { + margin-bottom: 200px; } + +.screenshot-ui-window-selector-window-border { + transition-duration: 200ms; + border-radius: 16px; + border: 6px transparent; } + +.screenshot-ui-window-selector-check { + transition-duration: 200ms; + color: transparent; + border-radius: 99px; + border-width: 12px; + icon-size: 24px; } + +.screenshot-ui-window-selector-window:hover .screenshot-ui-window-selector-window-border { + border-color: #185fb4; } + +.screenshot-ui-window-selector-window:checked .screenshot-ui-window-selector-window-border { + border-color: #3584e4; + background-color: rgba(53, 132, 228, 0.2); } + +.screenshot-ui-window-selector-window:checked .screenshot-ui-window-selector-check { + color: #ffffff; + background-color: #3584e4; } + +.screenshot-ui-screen-selector { + transition-duration: 200ms; + background-color: rgba(0, 0, 0, 0.5); } + .screenshot-ui-screen-selector:hover { + background-color: rgba(0, 0, 0, 0.3); } + .screenshot-ui-screen-selector:active { + background-color: rgba(0, 0, 0, 0.7); } + .screenshot-ui-screen-selector:checked { + background-color: transparent; + border: 2px white; } + +.screenshot-ui-tooltip { + color: white; + background-color: #000; + border-radius: 99px; + padding: 6px 12px; + text-align: center; + -y-offset: 24px; } + +/* Top Bar */ +#panel { + background-color: #000; + font-weight: bold; + height: 2.2em; + transition-duration: 250ms; } + #panel.unlock-screen, #panel.login-screen, #panel:overview { + background-color: transparent; } + #panel .panel-button { + font-weight: bold; + color: #f2f2f2; + -natural-hpadding: 12px; + -minimum-hpadding: 6px; + transition-duration: 150ms; + border: 3px solid transparent; + border-radius: 99px; } + #panel .panel-button.clock-display .clock { + transition-duration: 150ms; + border: 3px solid transparent; + border-radius: 99px; } + #panel .panel-button.screen-recording-indicator { + box-shadow: inset 0 0 0 100px #c01c28; } + #panel .panel-button.screen-sharing-indicator { + box-shadow: inset 0 0 0 100px #cd9309; } + #panel .panel-button.screen-sharing-indicator StBoxLayout { + margin: 0 6px; } + #panel .panel-button.screen-recording-indicator StBoxLayout, #panel .panel-button.screen-sharing-indicator StBoxLayout { + spacing: 6px; } + #panel .panel-button.screen-recording-indicator StIcon, #panel .panel-button.screen-sharing-indicator StIcon { + icon-size: 1.09em; } + #panel .panel-button:active, #panel .panel-button:overview, #panel .panel-button:focus, #panel .panel-button:checked { + box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.2); } + #panel .panel-button.clock-display:active, #panel .panel-button.clock-display:overview, #panel .panel-button.clock-display:focus, #panel .panel-button.clock-display:checked { + box-shadow: none; } + #panel .panel-button.clock-display:active .clock, #panel .panel-button.clock-display:overview .clock, #panel .panel-button.clock-display:focus .clock, #panel .panel-button.clock-display:checked .clock { + box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.2); } + #panel .panel-button.screen-recording-indicator:active, #panel .panel-button.screen-recording-indicator:overview, #panel .panel-button.screen-recording-indicator:focus, #panel .panel-button.screen-recording-indicator:checked { + box-shadow: inset 0 0 0 100px rgba(192, 28, 40, 0.85); } + #panel .panel-button.screen-sharing-indicator:active, #panel .panel-button.screen-sharing-indicator:overview, #panel .panel-button.screen-sharing-indicator:focus, #panel .panel-button.screen-sharing-indicator:checked { + box-shadow: inset 0 0 0 100px rgba(205, 147, 9, 0.85); } + #panel .panel-button:hover { + box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.15); } + #panel .panel-button.clock-display:hover { + box-shadow: none; } + #panel .panel-button.clock-display:hover .clock { + box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.15); } + #panel .panel-button.screen-recording-indicator:hover { + box-shadow: inset 0 0 0 100px rgba(192, 28, 40, 0.9); } + #panel .panel-button.screen-sharing-indicator:hover { + box-shadow: inset 0 0 0 100px rgba(205, 147, 9, 0.9); } + #panel .panel-button:active:hover, #panel .panel-button:overview:hover, #panel .panel-button:focus:hover, #panel .panel-button:checked:hover { + box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.25); } + #panel .panel-button.clock-display:active:hover, #panel .panel-button.clock-display:overview:hover, #panel .panel-button.clock-display:focus:hover, #panel .panel-button.clock-display:checked:hover { + box-shadow: none; } + #panel .panel-button.clock-display:active:hover .clock, #panel .panel-button.clock-display:overview:hover .clock, #panel .panel-button.clock-display:focus:hover .clock, #panel .panel-button.clock-display:checked:hover .clock { + box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.25); } + #panel .panel-button.screen-recording-indicator:active:hover, #panel .panel-button.screen-recording-indicator:overview:hover, #panel .panel-button.screen-recording-indicator:focus:hover, #panel .panel-button.screen-recording-indicator:checked:hover { + box-shadow: inset 0 0 0 100px rgba(192, 28, 40, 0.8); } + #panel .panel-button.screen-sharing-indicator:active:hover, #panel .panel-button.screen-sharing-indicator:overview:hover, #panel .panel-button.screen-sharing-indicator:focus:hover, #panel .panel-button.screen-sharing-indicator:checked:hover { + box-shadow: inset 0 0 0 100px rgba(205, 147, 9, 0.8); } + #panel .panel-button .system-status-icon { + icon-size: 1.09em; + padding: 5px; + margin: 0 4px; } + #panel .panel-button .panel-status-indicators-box .system-status-icon, + #panel .panel-button .panel-status-menu-box .system-status-icon { + margin: 0; } + #panel .panel-button .app-menu-icon { + -st-icon-style: symbolic; } + #panel #panelActivities.panel-button { + -natural-hpadding: 18px; } + #panel.unlock-screen .panel-button:active, #panel.unlock-screen .panel-button:overview, #panel.unlock-screen .panel-button:focus, #panel.unlock-screen .panel-button:checked, #panel.login-screen .panel-button:active, #panel.login-screen .panel-button:overview, #panel.login-screen .panel-button:focus, #panel.login-screen .panel-button:checked, #panel:overview .panel-button:active, #panel:overview .panel-button:overview, #panel:overview .panel-button:focus, #panel:overview .panel-button:checked { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.15); } + #panel.unlock-screen .panel-button.clock-display:active, #panel.unlock-screen .panel-button.clock-display:overview, #panel.unlock-screen .panel-button.clock-display:focus, #panel.unlock-screen .panel-button.clock-display:checked, #panel.login-screen .panel-button.clock-display:active, #panel.login-screen .panel-button.clock-display:overview, #panel.login-screen .panel-button.clock-display:focus, #panel.login-screen .panel-button.clock-display:checked, #panel:overview .panel-button.clock-display:active, #panel:overview .panel-button.clock-display:overview, #panel:overview .panel-button.clock-display:focus, #panel:overview .panel-button.clock-display:checked { + box-shadow: none; } + #panel.unlock-screen .panel-button.clock-display:active .clock, #panel.unlock-screen .panel-button.clock-display:overview .clock, #panel.unlock-screen .panel-button.clock-display:focus .clock, #panel.unlock-screen .panel-button.clock-display:checked .clock, #panel.login-screen .panel-button.clock-display:active .clock, #panel.login-screen .panel-button.clock-display:overview .clock, #panel.login-screen .panel-button.clock-display:focus .clock, #panel.login-screen .panel-button.clock-display:checked .clock, #panel:overview .panel-button.clock-display:active .clock, #panel:overview .panel-button.clock-display:overview .clock, #panel:overview .panel-button.clock-display:focus .clock, #panel:overview .panel-button.clock-display:checked .clock { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.15); } + #panel.unlock-screen .panel-button.screen-recording-indicator:active, #panel.unlock-screen .panel-button.screen-recording-indicator:overview, #panel.unlock-screen .panel-button.screen-recording-indicator:focus, #panel.unlock-screen .panel-button.screen-recording-indicator:checked, #panel.login-screen .panel-button.screen-recording-indicator:active, #panel.login-screen .panel-button.screen-recording-indicator:overview, #panel.login-screen .panel-button.screen-recording-indicator:focus, #panel.login-screen .panel-button.screen-recording-indicator:checked, #panel:overview .panel-button.screen-recording-indicator:active, #panel:overview .panel-button.screen-recording-indicator:overview, #panel:overview .panel-button.screen-recording-indicator:focus, #panel:overview .panel-button.screen-recording-indicator:checked { + box-shadow: inset 0 0 0 100px rgba(192, 28, 40, 0.85); } + #panel.unlock-screen .panel-button.screen-sharing-indicator:active, #panel.unlock-screen .panel-button.screen-sharing-indicator:overview, #panel.unlock-screen .panel-button.screen-sharing-indicator:focus, #panel.unlock-screen .panel-button.screen-sharing-indicator:checked, #panel.login-screen .panel-button.screen-sharing-indicator:active, #panel.login-screen .panel-button.screen-sharing-indicator:overview, #panel.login-screen .panel-button.screen-sharing-indicator:focus, #panel.login-screen .panel-button.screen-sharing-indicator:checked, #panel:overview .panel-button.screen-sharing-indicator:active, #panel:overview .panel-button.screen-sharing-indicator:overview, #panel:overview .panel-button.screen-sharing-indicator:focus, #panel:overview .panel-button.screen-sharing-indicator:checked { + box-shadow: inset 0 0 0 100px rgba(205, 147, 9, 0.85); } + #panel.unlock-screen .panel-button:hover, #panel.login-screen .panel-button:hover, #panel:overview .panel-button:hover { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.1); } + #panel.unlock-screen .panel-button.clock-display:hover, #panel.login-screen .panel-button.clock-display:hover, #panel:overview .panel-button.clock-display:hover { + box-shadow: none; } + #panel.unlock-screen .panel-button.clock-display:hover .clock, #panel.login-screen .panel-button.clock-display:hover .clock, #panel:overview .panel-button.clock-display:hover .clock { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.1); } + #panel.unlock-screen .panel-button.screen-recording-indicator:hover, #panel.login-screen .panel-button.screen-recording-indicator:hover, #panel:overview .panel-button.screen-recording-indicator:hover { + box-shadow: inset 0 0 0 100px rgba(192, 28, 40, 0.9); } + #panel.unlock-screen .panel-button.screen-sharing-indicator:hover, #panel.login-screen .panel-button.screen-sharing-indicator:hover, #panel:overview .panel-button.screen-sharing-indicator:hover { + box-shadow: inset 0 0 0 100px rgba(205, 147, 9, 0.9); } + #panel.unlock-screen .panel-button:active:hover, #panel.unlock-screen .panel-button:overview:hover, #panel.unlock-screen .panel-button:focus:hover, #panel.unlock-screen .panel-button:checked:hover, #panel.login-screen .panel-button:active:hover, #panel.login-screen .panel-button:overview:hover, #panel.login-screen .panel-button:focus:hover, #panel.login-screen .panel-button:checked:hover, #panel:overview .panel-button:active:hover, #panel:overview .panel-button:overview:hover, #panel:overview .panel-button:focus:hover, #panel:overview .panel-button:checked:hover { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.2); } + #panel.unlock-screen .panel-button.clock-display:active:hover, #panel.unlock-screen .panel-button.clock-display:overview:hover, #panel.unlock-screen .panel-button.clock-display:focus:hover, #panel.unlock-screen .panel-button.clock-display:checked:hover, #panel.login-screen .panel-button.clock-display:active:hover, #panel.login-screen .panel-button.clock-display:overview:hover, #panel.login-screen .panel-button.clock-display:focus:hover, #panel.login-screen .panel-button.clock-display:checked:hover, #panel:overview .panel-button.clock-display:active:hover, #panel:overview .panel-button.clock-display:overview:hover, #panel:overview .panel-button.clock-display:focus:hover, #panel:overview .panel-button.clock-display:checked:hover { + box-shadow: none; } + #panel.unlock-screen .panel-button.clock-display:active:hover .clock, #panel.unlock-screen .panel-button.clock-display:overview:hover .clock, #panel.unlock-screen .panel-button.clock-display:focus:hover .clock, #panel.unlock-screen .panel-button.clock-display:checked:hover .clock, #panel.login-screen .panel-button.clock-display:active:hover .clock, #panel.login-screen .panel-button.clock-display:overview:hover .clock, #panel.login-screen .panel-button.clock-display:focus:hover .clock, #panel.login-screen .panel-button.clock-display:checked:hover .clock, #panel:overview .panel-button.clock-display:active:hover .clock, #panel:overview .panel-button.clock-display:overview:hover .clock, #panel:overview .panel-button.clock-display:focus:hover .clock, #panel:overview .panel-button.clock-display:checked:hover .clock { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.2); } + #panel.unlock-screen .panel-button.screen-recording-indicator:active:hover, #panel.unlock-screen .panel-button.screen-recording-indicator:overview:hover, #panel.unlock-screen .panel-button.screen-recording-indicator:focus:hover, #panel.unlock-screen .panel-button.screen-recording-indicator:checked:hover, #panel.login-screen .panel-button.screen-recording-indicator:active:hover, #panel.login-screen .panel-button.screen-recording-indicator:overview:hover, #panel.login-screen .panel-button.screen-recording-indicator:focus:hover, #panel.login-screen .panel-button.screen-recording-indicator:checked:hover, #panel:overview .panel-button.screen-recording-indicator:active:hover, #panel:overview .panel-button.screen-recording-indicator:overview:hover, #panel:overview .panel-button.screen-recording-indicator:focus:hover, #panel:overview .panel-button.screen-recording-indicator:checked:hover { + box-shadow: inset 0 0 0 100px rgba(192, 28, 40, 0.8); } + #panel.unlock-screen .panel-button.screen-sharing-indicator:active:hover, #panel.unlock-screen .panel-button.screen-sharing-indicator:overview:hover, #panel.unlock-screen .panel-button.screen-sharing-indicator:focus:hover, #panel.unlock-screen .panel-button.screen-sharing-indicator:checked:hover, #panel.login-screen .panel-button.screen-sharing-indicator:active:hover, #panel.login-screen .panel-button.screen-sharing-indicator:overview:hover, #panel.login-screen .panel-button.screen-sharing-indicator:focus:hover, #panel.login-screen .panel-button.screen-sharing-indicator:checked:hover, #panel:overview .panel-button.screen-sharing-indicator:active:hover, #panel:overview .panel-button.screen-sharing-indicator:overview:hover, #panel:overview .panel-button.screen-sharing-indicator:focus:hover, #panel:overview .panel-button.screen-sharing-indicator:checked:hover { + box-shadow: inset 0 0 0 100px rgba(205, 147, 9, 0.8); } + #panel .panel-status-indicators-box, + #panel .panel-status-menu-box { + spacing: 2px; } + #panel .power-status.panel-status-indicators-box { + spacing: 0; } + #panel .screencast-indicator, + #panel .remote-access-indicator { + color: #cd9309; } + +#appMenu { + spacing: 6px; } + #appMenu .label-shadow { + color: transparent; } + +#appMenu .panel-status-menu-box { + padding: 0 6px; + spacing: 6px; } + +.clock-display-box { + spacing: 2px; } + .clock-display-box .clock { + padding-left: 12px; + padding-right: 12px; } + +/* Activities Ripple */ +.ripple-box { + background-color: rgba(255, 255, 255, 0.2); + box-shadow: 0 0 2px 2px rgba(255, 255, 255, 0.2); + width: 52px; + height: 52px; + border-radius: 0 0 52px 0; } + .ripple-box:rtl { + border-radius: 0 0 0 52px; } + +.quick-settings { + padding: 18px; + border-radius: 36px; } + .quick-settings .icon-button, .quick-settings .button { + padding: 10.5px; } + +.quick-settings-grid { + spacing-rows: 12px; + spacing-columns: 12px; } + +.quick-toggle { + border-radius: 99px; + min-width: 12em; + max-width: 12em; + min-height: 40px; + border: none; + /* Move padding into the box; this is to allow menu arrows + to extend to the border */ } + .quick-toggle:checked { + transition-duration: 100ms; + background-color: #3584e4; + color: #ffffff; + box-shadow: none; } + .quick-toggle:checked:focus { + box-shadow: inset 0 0 0 2px #629fea; } + .quick-toggle:checked:hover, .quick-toggle:checked:focus { + background-color: #4b92e7; + color: white; } + .quick-toggle:checked:active { + background-color: #1d72d8; + color: #ededed; } + .quick-toggle:checked:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0); + background-color: rgba(53, 132, 228, 0.5); + color: rgba(255, 255, 255, 0.5); } + .quick-toggle > StBoxLayout { + spacing: 6px; } + .quick-toggle.button, .quick-toggle.icon-button { + padding: 0; } + .quick-toggle > StBoxLayout { + padding: 0 12px; } + .quick-toggle:ltr > StBoxLayout { + padding-left: 15px; } + .quick-toggle:rtl > StBoxLayout { + padding-right: 15px; } + .quick-toggle .quick-toggle-label { + font-weight: bold; } + .quick-toggle .quick-toggle-icon, .quick-toggle .quick-toggle-arrow { + icon-size: 1.09em; } + +.quick-menu-toggle:ltr > StBoxLayout { + padding-right: 0; } + +.quick-menu-toggle:rtl > StBoxLayout { + padding-left: 0; } + +.quick-menu-toggle .quick-toggle-arrow { + background-color: rgba(255, 255, 255, 0.1); + padding: 6px 10.5px; } + .quick-menu-toggle .quick-toggle-arrow:ltr { + border-radius: 0 99px 99px 0; } + .quick-menu-toggle .quick-toggle-arrow:rtl { + border-radius: 99px 0 0 99px; } + +.quick-slider > StBoxLayout { + spacing: 6px; } + +.quick-slider .slider-bin { + min-height: 16px; + padding: 6px; + border-radius: 99px; } + .quick-slider .slider-bin:focus { + transition-duration: 100ms; + color: white; + background-color: #1d252e; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .quick-slider .slider-bin:focus:hover { + background-color: #242b35; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .quick-slider .slider-bin:focus:active { + background-color: #2a323c; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + +.quick-slider .quick-toggle-icon { + icon-size: 1.09em; } + .quick-slider .quick-toggle-icon:ltr { + margin-left: 6px; } + .quick-slider .quick-toggle-icon:rtl { + margin-right: 6px; } + +.quick-toggle-menu { + background-color: #1f1f1f; + border-radius: 24px; + padding: 12px; + margin: 12px 18px 0; } + .quick-toggle-menu .popup-menu-item > StIcon { + -st-icon-style: symbolic; } + .quick-toggle-menu .header { + spacing-rows: 3px; + spacing-columns: 12px; + padding-bottom: 12px; } + .quick-toggle-menu .header .icon { + icon-size: 1.635em; + border-radius: 999px; + padding: 9px; + background-color: #1a1a1a; } + .quick-toggle-menu .header .icon.active { + background-color: #3584e4; } + +.quick-settings-system-item > StBoxLayout { + spacing: 12px; } + +.quick-settings-system-item .power-item { + min-height: 0; + min-width: 0; } + .quick-settings-system-item .power-item:insensitive { + transition-duration: 100ms; + color: white; + background-color: #1a1a1a; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: transparent; } + +.nm-network-item .wireless-secure-icon { + icon-size: 0.545em; } + +/* OVERVIEW */ +.controls-manager, .secondary-monitor-workspaces { + spacing: 12px; } + +#overviewGroup { + background-color: #2b2b2b; } + +.overview-controls { + padding-bottom: 32px; } + +/* Window Picker */ +.window-picker { + spacing: 6px; } + +.window-caption { + color: white; + background-color: #0d0d0d; + border-radius: 99px; + padding: 6px 12px; } + +.window-close, .screenshot-ui-close-button { + background-color: rgba(18, 18, 18, 0.98); + color: white; + border-radius: 99px; + box-shadow: 0 2px 4px 0 transparent; + padding: 3px; + height: 30px; + width: 30px; + transition-duration: 100ms; } + .window-close StIcon, .screenshot-ui-close-button StIcon { + icon-size: 24px; } + .window-close:hover, .screenshot-ui-close-button:hover { + background-color: rgba(36, 36, 36, 0.98); } + .window-close:active, .screenshot-ui-close-button:active { + background-color: rgba(51, 51, 51, 0.98); } + +.workspace-background { + border-radius: 30px; + background-color: rgba(3, 2, 1, 0); + box-shadow: 0 4px 16px 4px rgba(0, 0, 0, 0.3); } + + +.search-entry { + border-radius: 18px; + margin-top: 12px; + margin-bottom: 6px; + padding: 7px 9px; + width: 320px; + background-color: #0d0d0d; + color: rgba(255, 255, 255, 0.7); + border: 2px solid #0d0d0d; } + + .search-entry:hover { + background-color: #404040; + border-color: #404040; + color: rgba(255, 255, 255, 0.7); } + + .search-entry:focus { + background-color: #0f1318; + border-color: #3584e4; + color: white; } + + .search-entry:insensitive { + background-color: #0d0d0d; + border-color: #0d0d0d; + color: gray; } + + .search-entry .search-entry-icon { + color: inherit; + icon-size: 1.09em; + margin-top: 2px; + padding: 0 4px; } + +/* Search */ +#searchResults { + margin: 0 4px; } + +#searchResultsContent { + max-width: 1072px; } + +.search-section { + spacing: 18px; } + .search-section .search-section-separator { + height: 8px; + background-color: transparent; } + +.search-section-content { + background-color: #383838; + border-radius: 24px; + border: 1px solid #000; + color: white; + padding: 12px; + margin: 0 12px; } + +.list-search-result, .search-provider-icon { + background-color: transparent; + border-radius: 11px; } + .list-search-result:hover, .search-provider-icon:hover { + background-color: rgba(255, 255, 255, 0.1); } + .list-search-result:selected, .search-provider-icon:selected, .list-search-result:focus, .search-provider-icon:focus { + background-color: rgba(255, 255, 255, 0.13); } + .list-search-result:selected:hover, .search-provider-icon:selected:hover, .list-search-result:focus:hover, .search-provider-icon:focus:hover { + background-color: rgba(255, 255, 255, 0.16); } + .list-search-result:selected:active, .search-provider-icon:selected:active, .list-search-result:focus:active, .search-provider-icon:focus:active { + background-color: rgba(255, 255, 255, 0.13); } + .list-search-result:active, .search-provider-icon:active { + background-color: rgba(255, 255, 255, 0.16); } + .list-search-result:outlined, .search-provider-icon:outlined, .list-search-result:checked, .search-provider-icon:checked { + background-color: rgba(255, 255, 255, 0.19); } + .list-search-result:outlined:active, .search-provider-icon:outlined:active, .list-search-result:checked:active, .search-provider-icon:checked:active { + background-color: rgba(255, 255, 255, 0.22); } + .list-search-result:outlined:hover, .search-provider-icon:outlined:hover, .list-search-result:checked:hover, .search-provider-icon:checked:hover { + background-color: rgba(255, 255, 255, 0.25); } + .list-search-result:drop, .search-provider-icon:drop { + border: 2px solid rgba(53, 132, 228, 0.8); + background-color: rgba(53, 132, 228, 0.2); } + +.grid-search-results { + spacing: 30px; + margin: 0 12px; } + +.search-provider-icon:ltr { + margin-right: 4px; } + +.search-provider-icon:rtl { + margin-left: 4px; } + +.search-provider-icon .list-search-provider-content { + spacing: 12px; } + .search-provider-icon .list-search-provider-content .list-search-provider-details { + width: 120px; + color: white; } + +.list-search-results { + spacing: 6px; } + +.list-search-result .list-search-result-content { + spacing: 6px; } + +.list-search-result .list-search-result-title { + spacing: 12px; } + +.list-search-result .list-search-result-description { + color: #b3b3b3; } + +/* Dash */ +#dash { + margin-top: 12px; } + #dash .placeholder { + background-image: none; + background-size: contain; + height: 32px; } + #dash .empty-dash-drop-target { + width: 32px; + height: 32px; } + #dash .app-well-app-running-dot { + margin-bottom: 14px; } + +.dash-background { + background-color: #383838; + border-radius: 28px; + padding: 12px; + spacing: 6px; + margin-bottom: 12px; } + +.dash-item-container > * { + margin: 0 2px; } + +.dash-item-container:ltr:first-child { + margin-left: 0; } + +.dash-item-container:rtl:first-child { + margin-right: 0; } + +.dash-item-container .app-well-app .overview-icon, .dash-item-container .grid-search-result .overview-icon { + padding: 6px; } + +.dash-item-container .show-apps { + transition-duration: 400ms; } + .dash-item-container .show-apps .overview-icon { + background-color: transparent; } + .dash-item-container .show-apps:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.1); } + .dash-item-container .show-apps:selected .overview-icon, .dash-item-container .show-apps:focus .overview-icon { + background-color: rgba(255, 255, 255, 0.13); } + .dash-item-container .show-apps:selected .overview-icon:hover .overview-icon, .dash-item-container .show-apps:focus .overview-icon:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.16); } + .dash-item-container .show-apps:selected .overview-icon:active .overview-icon, .dash-item-container .show-apps:focus .overview-icon:active .overview-icon { + background-color: rgba(255, 255, 255, 0.13); } + .dash-item-container .show-apps:active .overview-icon { + background-color: rgba(255, 255, 255, 0.16); } + .dash-item-container .show-apps:outlined .overview-icon, .dash-item-container .show-apps:checked .overview-icon { + background-color: rgba(255, 255, 255, 0.19); } + .dash-item-container .show-apps:outlined .overview-icon:active .overview-icon, .dash-item-container .show-apps:checked .overview-icon:active .overview-icon { + background-color: rgba(255, 255, 255, 0.22); } + .dash-item-container .show-apps:outlined .overview-icon:hover .overview-icon, .dash-item-container .show-apps:checked .overview-icon:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.25); } + .dash-item-container .show-apps:drop .overview-icon { + border: 2px solid rgba(53, 132, 228, 0.8); + background-color: rgba(53, 132, 228, 0.2); } + +.dash-item-container .show-apps, .dash-item-container .app-well-app, .dash-item-container .grid-search-result { + padding-bottom: 12px; } + +.dash-separator { + width: 1px; + margin: 0 4px; + background-color: #2b2b2b; + margin-bottom: 12px; } + +.dash-label { + color: white; + background-color: #000; + border-radius: 99px; + padding: 6px 12px; + text-align: center; + -y-offset: 8px; } + +/* App Grid */ +.icon-grid { + row-spacing: 12px; + column-spacing: 12px; + max-row-spacing: 42px; + max-column-spacing: 42px; + page-padding-top: 24px; + page-padding-bottom: 24px; + page-padding-left: 18px; + page-padding-right: 18px; } + +/* App Icons */ +.app-well-app, .grid-search-result { + transition-duration: 400ms; } + .app-well-app .overview-icon, .grid-search-result .overview-icon { + background-color: transparent; } + .app-well-app:hover .overview-icon, .grid-search-result:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.1); } + .app-well-app:selected .overview-icon, .grid-search-result:selected .overview-icon, .app-well-app:focus .overview-icon, .grid-search-result:focus .overview-icon { + background-color: rgba(255, 255, 255, 0.13); } + .app-well-app:selected .overview-icon:hover .overview-icon, .grid-search-result:selected .overview-icon:hover .overview-icon, .app-well-app:focus .overview-icon:hover .overview-icon, .grid-search-result:focus .overview-icon:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.16); } + .app-well-app:selected .overview-icon:active .overview-icon, .grid-search-result:selected .overview-icon:active .overview-icon, .app-well-app:focus .overview-icon:active .overview-icon, .grid-search-result:focus .overview-icon:active .overview-icon { + background-color: rgba(255, 255, 255, 0.13); } + .app-well-app:active .overview-icon, .grid-search-result:active .overview-icon { + background-color: rgba(255, 255, 255, 0.16); } + .app-well-app:outlined .overview-icon, .grid-search-result:outlined .overview-icon, .app-well-app:checked .overview-icon, .grid-search-result:checked .overview-icon { + background-color: rgba(255, 255, 255, 0.19); } + .app-well-app:outlined .overview-icon:active .overview-icon, .grid-search-result:outlined .overview-icon:active .overview-icon, .app-well-app:checked .overview-icon:active .overview-icon, .grid-search-result:checked .overview-icon:active .overview-icon { + background-color: rgba(255, 255, 255, 0.22); } + .app-well-app:outlined .overview-icon:hover .overview-icon, .grid-search-result:outlined .overview-icon:hover .overview-icon, .app-well-app:checked .overview-icon:hover .overview-icon, .grid-search-result:checked .overview-icon:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.25); } + .app-well-app:drop .overview-icon, .grid-search-result:drop .overview-icon { + border: 2px solid rgba(53, 132, 228, 0.8); + background-color: rgba(53, 132, 228, 0.2); } + .app-well-app .overview-icon, .grid-search-result .overview-icon { + padding: 12px; } + .app-well-app .overview-icon.overview-icon-with-label > StBoxLayout, .grid-search-result .overview-icon.overview-icon-with-label > StBoxLayout { + spacing: 6px; } + +.app-well-app.app-folder, .app-folder.grid-search-result { + transition-duration: 400ms; } + .app-well-app.app-folder .overview-icon, .app-folder.grid-search-result .overview-icon { + background-color: rgba(255, 255, 255, 0.19); } + .app-well-app.app-folder:hover .overview-icon, .app-folder.grid-search-result:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.1); } + .app-well-app.app-folder:selected .overview-icon, .app-folder.grid-search-result:selected .overview-icon, .app-well-app.app-folder:focus .overview-icon, .app-folder.grid-search-result:focus .overview-icon { + background-color: rgba(255, 255, 255, 0.13); } + .app-well-app.app-folder:selected .overview-icon:hover .overview-icon, .app-folder.grid-search-result:selected .overview-icon:hover .overview-icon, .app-well-app.app-folder:focus .overview-icon:hover .overview-icon, .app-folder.grid-search-result:focus .overview-icon:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.16); } + .app-well-app.app-folder:selected .overview-icon:active .overview-icon, .app-folder.grid-search-result:selected .overview-icon:active .overview-icon, .app-well-app.app-folder:focus .overview-icon:active .overview-icon, .app-folder.grid-search-result:focus .overview-icon:active .overview-icon { + background-color: rgba(255, 255, 255, 0.13); } + .app-well-app.app-folder:active .overview-icon, .app-folder.grid-search-result:active .overview-icon { + background-color: rgba(255, 255, 255, 0.16); } + .app-well-app.app-folder:outlined .overview-icon, .app-folder.grid-search-result:outlined .overview-icon, .app-well-app.app-folder:checked .overview-icon, .app-folder.grid-search-result:checked .overview-icon { + background-color: rgba(255, 255, 255, 0.19); } + .app-well-app.app-folder:outlined .overview-icon:active .overview-icon, .app-folder.grid-search-result:outlined .overview-icon:active .overview-icon, .app-well-app.app-folder:checked .overview-icon:active .overview-icon, .app-folder.grid-search-result:checked .overview-icon:active .overview-icon { + background-color: rgba(255, 255, 255, 0.22); } + .app-well-app.app-folder:outlined .overview-icon:hover .overview-icon, .app-folder.grid-search-result:outlined .overview-icon:hover .overview-icon, .app-well-app.app-folder:checked .overview-icon:hover .overview-icon, .app-folder.grid-search-result:checked .overview-icon:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.25); } + .app-well-app.app-folder:drop .overview-icon, .app-folder.grid-search-result:drop .overview-icon { + border: 2px solid rgba(53, 132, 228, 0.8); + background-color: rgba(53, 132, 228, 0.2); } + +.app-folder-dialog { + border-radius: 32px; + background-color: #383838; } + .app-folder-dialog .folder-name-container { + padding: 24px 36px 0; + spacing: 12px; + /* FIXME: this is to keep the label in sync with the entry */ } + .app-folder-dialog .folder-name-container .folder-name-entry { + width: 300px; } + .app-folder-dialog .folder-name-container .folder-name-label { + padding: 5px 7px; + color: white; } + .app-folder-dialog .folder-name-container .edit-folder-button { + padding: 0; + width: 36px; + height: 36px; + border-radius: 99px; } + .app-folder-dialog .folder-name-container .edit-folder-button > StIcon { + icon-size: 1.09em; } + .app-folder-dialog .icon-grid { + row-spacing: 12px; + column-spacing: 30px; + page-padding-top: 0; + page-padding-bottom: 0; + page-padding-left: 0; + page-padding-right: 0; } + .app-folder-dialog .page-indicators { + margin-bottom: 18px; } + +.app-folder-dialog-container { + padding: 12px; + width: 720px; + height: 720px; } + +.app-well-app-running-dot { + height: 5px; + width: 5px; + border-radius: 5px; + margin-bottom: 8px; + background-color: white; } + +.rename-folder-popup .rename-folder-popup-item { + spacing: 6px; } + .rename-folder-popup .rename-folder-popup-item:ltr, .rename-folder-popup .rename-folder-popup-item:rtl { + padding: 0 12px; } + +.page-indicator { + padding: 6px 12px 0; + transition-duration: 400ms; } + .page-indicator .page-indicator-icon { + width: 10px; + height: 10px; + border-radius: 10px; + background-color: white; } + +.apps-scroll-view { + padding: 0; } + +.system-action-icon { + background-color: rgba(0, 0, 0, 0.8); + color: #fff; + border-radius: 99px; + icon-size: 48px; } + +.page-navigation-hint.dnd { + background: rgba(255, 255, 255, 0.1); } + +.page-navigation-hint.next:ltr, .page-navigation-hint.previous:rtl { + background-gradient-start: rgba(255, 255, 255, 0.05); + background-gradient-end: transparent; + background-gradient-direction: horizontal; + border-radius: 24px 0px 0px 24px; } + +.page-navigation-hint.previous:ltr, .page-navigation-hint.next:rtl { + background-gradient-start: transparent; + background-gradient-end: rgba(255, 255, 255, 0.05); + background-gradient-direction: horizontal; + border-radius: 0px 24px 24px 0px; } + +.page-navigation-arrow > StIcon { + margin: 6px; + padding: 18px; + width: 24px; + height: 24px; + border-radius: 99px; } + +.page-navigation-arrow:insensitive > StIcon { + transition-duration: 100ms; + background-color: transparent; + background-color: none; + box-shadow: none; } + .page-navigation-arrow:insensitive > StIcon:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0); + background-color: transparent; + color: rgba(255, 255, 255, 0.5); } + +.page-navigation-arrow:hover > StIcon { + transition-duration: 100ms; + color: white; + background-color: rgba(72, 72, 72, 0.55); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(221, 221, 221, 0.235); } + +.page-navigation-arrow:active > StIcon { + transition-duration: 100ms; + color: white; + background-color: rgba(79, 79, 79, 0.55); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(222, 222, 222, 0.235); } + +/* Workspace pager */ +.workspace-thumbnails { + visible-width: 32px; + spacing: 6px; + padding: 6px; } + .workspace-thumbnails .workspace-thumbnail { + border-radius: 3px; } + .workspace-thumbnails .placeholder { + background-image: url("resource:///org/gnome/shell/theme/workspace-placeholder.svg"); + background-size: contain; + width: 18px; } + +.workspace-thumbnail-indicator { + border: 3px solid #3584e4; + border-radius: 3px; + padding: 0px; } + +.ripple-pointer-location { + width: 50px; + height: 50px; + border-radius: 25px; + background-color: rgba(188, 214, 246, 0.3); + box-shadow: 0 0 2px 2px #8fbbf0; } + +.pie-timer { + width: 60px; + height: 60px; + -pie-border-width: 3px; + -pie-border-color: #3584e4; + -pie-background-color: rgba(233, 242, 252, 0.3); } + +.magnifier-zoom-region { + border: 2px solid #3584e4; } + .magnifier-zoom-region.full-screen { + border-width: 0; } + +.select-area-rubberband { + background-color: rgba(53, 132, 228, 0.3); + border: 1px solid #3584e4; } + +.user-icon { + background-size: contain; + color: white; + border-radius: 99px; + icon-size: 4.36em; } + .user-icon:hover { + color: white; } + .user-icon StIcon { + background-color: rgba(255, 255, 255, 0.05); + border-radius: 99px; + padding: 12px; + width: 2.725em; + height: 2.725em; } + .user-icon.user-avatar { + border: 2px white; } + +.user-widget.vertical .user-icon { + icon-size: 6.54em; } + .user-widget.vertical .user-icon StIcon { + padding: 20px; + padding-top: 18px; + padding-bottom: 22px; + width: 5.995em; + height: 5.995em; } + +.lightbox { + background-color: black; } + +.flashspot { + background-color: white; } + +.hidden { + color: rgba(0, 0, 0, 0); } + +.caps-lock-warning-label { + text-align: center; + padding-bottom: 8px; + color: #cd9309; } + +/* Workspace animation */ +.workspace-animation { + background-color: #2b2b2b; } + +/* Tiled window previews */ +.tile-preview { + background-color: rgba(53, 132, 228, 0.5); + border: 1px solid #3584e4; } + +/* On-screen Keyboard */ +#keyboard { + background-color: #000; + box-shadow: inset 0 1px 0 0 #000; } + #keyboard .page-indicator { + padding: 6px; } + #keyboard .page-indicator .page-indicator-icon { + width: 8px; + height: 8px; } + +.key-container { + padding: 4px; + spacing: 4px; } + +.keyboard-key { + font-size: 16pt; + font-weight: bold; + min-height: 1.2em; + min-width: 1.2em; + border-width: 1px; + border-style: solid; + border-radius: 12px; + box-shadow: 0 1px 0 0 transparent; + color: white; + background-color: #545454; } + .keyboard-key:focus { + color: white; + background-color: #0c141e; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6); } + .keyboard-key:focus:hover { + background-color: #182029; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7); } + .keyboard-key:focus:active { + background-color: #1c242e; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7); } + .keyboard-key:hover { + color: white; + background-color: #5e5e5e; } + .keyboard-key:active { + color: white; + background-color: #666666; } + .keyboard-key:checked { + color: white; + background-color: #737373; } + .keyboard-key:grayed { + background-color: black; + color: white; + border-color: #000; } + .keyboard-key.default-key { + color: white; + background-color: #3b3b3b; + border-radius: 12px; } + .keyboard-key.default-key:hover { + color: white; + background-color: #454545; } + .keyboard-key.default-key:active { + color: white; + background-color: #4d4d4d; } + .keyboard-key.default-key:checked { + color: white; + background-color: #595959; } + .keyboard-key.default-key:latched { + border-color: #4b92e7; + background-color: #3584e4; } + .keyboard-key.enter-key { + color: #ffffff; + background-color: #428ce6; + border-radius: 12px; + color: white; } + .keyboard-key.enter-key:hover { + color: #ffffff; + background-color: #5497e8; } + .keyboard-key.enter-key:active { + color: #ffffff; + background-color: #629fea; } + .keyboard-key.enter-key:checked { + color: #ffffff; + background-color: #78aded; } + .keyboard-key.shift-key-uppercase { + background-color: gray; + color: #000; } + .keyboard-key.shift-key-uppercase:hover { + background-color: #8c8c8c; + color: #0d0d0d; } + .keyboard-key StIcon { + icon-size: 24px; } + +.keyboard-subkeys { + -arrow-border-radius: 16px; + -arrow-background-color: #000; + -arrow-border-width: 1px; + -arrow-border-color: #171717; + -arrow-base: 20px; + -arrow-rise: 10px; + -boxpointer-gap: 6px; + padding: 6px; } + .keyboard-subkeys .keyboard-key { + color: white; + background-color: #545454; + border-radius: 12px; } + .keyboard-subkeys .keyboard-key:focus { + color: white; + background-color: #0c141e; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6); } + .keyboard-subkeys .keyboard-key:focus:hover { + background-color: #182029; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7); } + .keyboard-subkeys .keyboard-key:focus:active { + background-color: #1c242e; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7); } + .keyboard-subkeys .keyboard-key:hover { + color: white; + background-color: #5e5e5e; } + .keyboard-subkeys .keyboard-key:active { + color: white; + background-color: #666666; } + .keyboard-subkeys .keyboard-key:checked { + color: white; + background-color: #737373; } + +.emoji-page .keyboard-key { + background-color: transparent; + border: none; + color: initial; } + +.emoji-panel .keyboard-key:latched { + border-color: #4b92e7; + background-color: #3584e4; } + +.word-suggestions { + font-size: 12pt; + spacing: 12px; + min-height: 17pt; + padding: 12px; + color: white; } + .word-suggestions StButton { + margin: 0 3px; + min-width: 32px; + border-radius: 6px; + padding: 0px 18px; + background-color: transparent; + background-image: none; } + .word-suggestions StButton:focus { + color: white; + background-color: #0c141e; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6); } + .word-suggestions StButton:focus:hover { + background-color: #182029; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7); } + .word-suggestions StButton:focus:active { + background-color: #1c242e; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7); } + .word-suggestions StButton:hover { + color: white; + background-color: #5e5e5e; } + .word-suggestions StButton:active { + color: white; + background-color: #666666; } + .word-suggestions StButton:checked { + color: white; + background-color: #737373; } + +/* Looking Glass */ +#LookingGlassDialog { + background-color: #000; + border-radius: 0 0 16px 16px; + border-top-width: 0; + border: 1px solid #000; + color: white; + padding: 6px; + spacing: 6px; + box-shadow: 0 2px 4px 0 transparent; } + #LookingGlassDialog > #Toolbar { + border: none; + padding: 6px; + border-radius: 0; + background-color: transparent; + spacing: 6px; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button { + padding: 6px 12px; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button > StIcon { + icon-size: 1.09em; } + #LookingGlassDialog .labels { + spacing: 6px; } + #LookingGlassDialog .notebook-tab { + -natural-hpadding: 12px; + -minimum-hpadding: 12px; + font-weight: bold; + padding: 6px 12px; + color: #d9d9d9; + transition-duration: 100ms; + box-shadow: none; + border: none; + border-radius: 6px; + background-color: transparent; } + #LookingGlassDialog .notebook-tab:hover { + color: white; + background-color: rgba(255, 255, 255, 0.05); } + #LookingGlassDialog .notebook-tab:selected { + color: white; + background-color: rgba(255, 255, 255, 0.1); } + #LookingGlassDialog StBoxLayout#EvalBox { + padding: 4px; + spacing: 6px; + padding: 6px; } + #LookingGlassDialog StBoxLayout#ResultsArea { + spacing: 6px; + padding: 6px; } + +.lg-dialog StEntry { + background-color: rgba(13, 13, 13, 0.6); + color: white; + border-color: rgba(255, 255, 255, 0.2); + min-height: 22px; + selection-background-color: #3584e4; + selected-color: #ffffff; } + +.lg-dialog .shell-link { + color: #8fbbf0; } + .lg-dialog .shell-link:hover { + color: #bcd6f6; } + .lg-dialog .shell-link:active { + color: #629fea; } + +.lg-dialog .actor-link { + color: gray; } + .lg-dialog .actor-link:hover { + color: #b3b3b3; } + .lg-dialog .actor-link:active { + color: #4d4d4d; } + .lg-dialog .actor-link StIcon { + icon-size: 12px; } + +.lg-completions-text { + font-style: italic; } + +.lg-obj-inspector-title { + spacing: 6px; } + +.lg-obj-inspector-button { + border: 1px solid #000; + padding: 4px; + border-radius: 8px; } + .lg-obj-inspector-button:hover { + border: 1px solid #ffffff; } + +#lookingGlassExtensions { + padding: 6px; } + +.lg-extensions-list { + padding: 6px; + spacing: 6px; } + +.lg-extension { + padding: 12px; + border-radius: 8px; + margin: 4px; + box-shadow: inset 0 0 0 1px #1f1f1f; + transition-duration: 100ms; + color: white; + background-color: #353535; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); } + .lg-extension:focus { + transition-duration: 100ms; + color: white; + background-color: #353d47; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .lg-extension:focus:hover { + background-color: #3c444d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .lg-extension:focus:active { + background-color: #434b54; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .lg-extension:hover { + transition-duration: 100ms; + color: white; + background-color: #3d3d3d; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(158, 158, 158, 0.28); } + .lg-extension:active { + transition-duration: 100ms; + color: white; + background-color: #444444; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2); + background-color: rgba(162, 162, 162, 0.28); } + +.lg-extension-meta { + spacing: 6px; } + +#LookingGlassPropertyInspector { + background: #000; + border: 1px solid #000; + border-radius: 8px; + padding: 6px; } + +.lg-debug-flag-button { + color: white; } + .lg-debug-flag-button StLabel { + padding: 6px, 12px; } + .lg-debug-flag-button:hover { + color: white; } + .lg-debug-flag-button:active { + color: #cccccc; } + +.lg-debug-flags-header { + padding-top: 12px; + padding: 6px; } + +/* Login Dialog */ +.login-dialog-banner-view { + padding-top: 24px; + max-width: 23em; } + +.login-dialog, +.unlock-dialog { + border: none; + background-color: transparent; } + .login-dialog .modal-dialog-button-box, + .unlock-dialog .modal-dialog-button-box { + spacing: 3px; } + .login-dialog .modal-dialog-button, + .unlock-dialog .modal-dialog-button { + padding: 4px 18px; + background-color: #242424; + border-color: #242424; + color: white; } + .login-dialog .modal-dialog-button:hover, .login-dialog .modal-dialog-button:focus, + .unlock-dialog .modal-dialog-button:hover, + .unlock-dialog .modal-dialog-button:focus { + background-color: #383838; + border-color: #383838; } + .login-dialog .modal-dialog-button:active, + .unlock-dialog .modal-dialog-button:active { + background-color: #1f1f1f; + border-color: #1f1f1f; } + .login-dialog .modal-dialog-button:insensitive, + .unlock-dialog .modal-dialog-button:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0); + border-color: #1f1f1f; + background-color: #1f1f1f; + color: rgba(255, 255, 255, 0.7); } + .login-dialog .modal-dialog-button:default, + .unlock-dialog .modal-dialog-button:default { + transition-duration: 100ms; + background-color: #3584e4; + color: #ffffff; + box-shadow: none; } + .login-dialog .modal-dialog-button:default:focus, + .unlock-dialog .modal-dialog-button:default:focus { + box-shadow: inset 0 0 0 2px #629fea; } + .login-dialog .modal-dialog-button:default:hover, .login-dialog .modal-dialog-button:default:focus, + .unlock-dialog .modal-dialog-button:default:hover, + .unlock-dialog .modal-dialog-button:default:focus { + background-color: #4b92e7; + color: white; } + .login-dialog .modal-dialog-button:default:active, + .unlock-dialog .modal-dialog-button:default:active { + background-color: #1d72d8; + color: #ededed; } + .login-dialog .modal-dialog-button:default:insensitive, + .unlock-dialog .modal-dialog-button:default:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0); + background-color: rgba(53, 132, 228, 0.5); + color: rgba(255, 255, 255, 0.5); } + .login-dialog .cancel-button, + .login-dialog .switch-user-button, + .login-dialog .login-dialog-session-list-button, + .unlock-dialog .cancel-button, + .unlock-dialog .switch-user-button, + .unlock-dialog .login-dialog-session-list-button { + padding: 0; + border-radius: 99px; + width: 2.18em; + height: 2.18em; + border-color: #242424; + background-color: #242424; } + .login-dialog .cancel-button StIcon, + .login-dialog .switch-user-button StIcon, + .login-dialog .login-dialog-session-list-button StIcon, + .unlock-dialog .cancel-button StIcon, + .unlock-dialog .switch-user-button StIcon, + .unlock-dialog .login-dialog-session-list-button StIcon { + icon-size: 1.09em; } + .login-dialog .caps-lock-warning-label, + .login-dialog .login-dialog-message-warning, + .unlock-dialog .caps-lock-warning-label, + .unlock-dialog .login-dialog-message-warning { + color: white; } + +.login-dialog-logo-bin { + padding: 24px 0px; } + +.login-dialog-banner { + color: #e6e6e6; } + +.login-dialog-button-box { + width: 23em; + spacing: 5px; } + +.login-dialog-message { + text-align: center; } + +.login-dialog-user-selection-box { + padding: 100px 0px; } + +.login-dialog-not-listed-label { + padding-left: 2px; } + .login-dialog-not-listed-button:focus .login-dialog-not-listed-label, .login-dialog-not-listed-button:hover .login-dialog-not-listed-label { + color: white; } + +.login-dialog-not-listed-label { + font-weight: bold; + color: #b3b3b3; + padding-top: 1em; } + +.login-dialog-auth-list-view { + -st-vfade-offset: 1em; } + +.login-dialog-auth-list { + spacing: 6px; + margin-left: 2em; } + +.login-dialog-auth-list-title { + margin-left: 2em; } + +.login-dialog-auth-list-item { + border-radius: 12px; + padding: 6px; + color: #b3b3b3; } + .login-dialog-auth-list-item:focus, .login-dialog-auth-list-item:selected { + background-color: #3584e4; + color: #ffffff; } + +.login-dialog-auth-list-label { + font-size: 13pt; + font-weight: bold; + padding-left: 15px; } + .login-dialog-auth-list-label:ltr { + padding-left: 14px; + text-align: left; } + .login-dialog-auth-list-label:rtl { + padding-right: 14px; + text-align: right; } + +.login-dialog-user-list-view { + -st-vfade-offset: 1em; } + +.login-dialog-user-list { + spacing: 12px; + width: 23em; } + .login-dialog-user-list:expanded .login-dialog-user-list-item:selected { + background-color: #3584e4; + color: #ffffff; } + .login-dialog-user-list:expanded .login-dialog-user-list-item:logged-in { + border-right: 2px solid #3584e4; } + +.login-dialog-user-list-item { + border-radius: 12px; + padding: 6px; + color: #b3b3b3; } + .login-dialog-user-list-item:ltr .user-widget { + padding-right: 1em; } + .login-dialog-user-list-item:rtl .user-widget { + padding-left: 1em; } + .login-dialog-user-list-item .login-dialog-timed-login-indicator { + height: 2px; + margin-top: 6px; + background-color: white; } + .login-dialog-user-list-item:focus .login-dialog-timed-login-indicator { + background-color: #ffffff; } + +.user-widget-label { + color: white; } + +.user-widget.horizontal .user-widget-label { + font-size: 13pt; + font-weight: bold; + padding-left: 15px; } + .user-widget.horizontal .user-widget-label:ltr { + padding-left: 14px; + text-align: left; } + .user-widget.horizontal .user-widget-label:rtl { + padding-right: 14px; + text-align: right; } + +.user-widget.vertical .user-widget-label { + font-size: 16pt; + text-align: center; + font-weight: normal; + padding-top: 16px; } + +.login-dialog-timed-login-indicator { + height: 2px; + background-color: #999999; } + +.login-dialog-prompt-layout { + padding-top: 24px; + padding-bottom: 12px; + spacing: 12px; + width: 23em; } + +.login-dialog-prompt-entry { + height: 1.5em; } + +.login-dialog-prompt-label { + color: #cccccc; + font-size: 12pt; + padding-top: 1em; } + +.login-dialog StEntry { + background-color: #242424; + color: white; } + +.unlock-dialog StEntry { + border: none !important; } + .unlock-dialog StEntry:focus { + background-color: rgba(255, 255, 255, 0.1); } + .unlock-dialog StEntry:insensitive { + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); } + +.unlock-dialog .cancel-button, +.unlock-dialog .switch-user-button, +.unlock-dialog .login-dialog-session-list-button { + border-color: transparent; + background-color: rgba(255, 255, 255, 0.1); } + +/* Screen Shield */ +.unlock-dialog-clock { + color: white; + font-weight: 300; + text-align: center; + spacing: 24px; + padding-bottom: 2.5em; } + +.unlock-dialog-clock-time { + font-size: 64pt; + padding-top: 42px; } + +.unlock-dialog-clock-date { + font-size: 16pt; + font-weight: normal; } + +.unlock-dialog-clock-hint { + font-weight: normal; + padding-top: 48px; } + +.unlock-dialog-notifications-container { + margin: 12px; + spacing: 6px; + width: 23em; + background-color: transparent; } + .unlock-dialog-notifications-container .summary-notification-stack-scrollview { + padding-top: 0; + padding-bottom: 0; } + .unlock-dialog-notifications-container .notification, + .unlock-dialog-notifications-container .unlock-dialog-notification-source { + padding: 12px 16px; + border: none; + background-color: rgba(255, 255, 255, 0.1); + color: white; + border-radius: 16px; } + .unlock-dialog-notifications-container .notification.critical, + .unlock-dialog-notifications-container .unlock-dialog-notification-source.critical { + background-color: rgba(255, 255, 255, 0.2); } + +.unlock-dialog-notification-label { + padding-left: 12px; + padding-right: 0; } + .unlock-dialog-notification-label:rtl { + padding-right: 12px; + padding-left: 0; } + +.unlock-dialog-notification-count-text { + font-weight: bold; + padding: 0 12px; + color: white; + background-color: rgba(255, 255, 255, 0.1); + border-radius: 99px; } + +.screen-shield-background { + background: black; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6); } + +#lockDialogGroup { + background-color: #2b2b2b; } + +#unlockDialogNotifications StButton#vhandle, #unlockDialogNotifications StButton#hhandle { + background-color: rgba(0, 0, 0, 0.3); } + #unlockDialogNotifications StButton#vhandle:hover, #unlockDialogNotifications StButton#vhandle:focus, #unlockDialogNotifications StButton#hhandle:hover, #unlockDialogNotifications StButton#hhandle:focus { + background-color: rgba(0, 0, 0, 0.5); } + #unlockDialogNotifications StButton#vhandle:active, #unlockDialogNotifications StButton#hhandle:active { + background-color: rgba(53, 132, 228, 0.5); } + +stage { + -st-icon-style: symbolic; } + +.toggle-switch { + width: 48px; } + +.toggle-switch { + background-image: url("resource:///org/gnome/shell/theme/toggle-off-hc.svg"); } + .toggle-switch:checked { + background-image: url("resource:///org/gnome/shell/theme/toggle-on-hc.svg"); } + +#panel.login-screen, #panel.unlock-screen, #panel:overview { + background-color: #000; } + +#panel .panel-button { + color: #fff !important; } + +.window-picker .icon-dropshadow { + icon-shadow: none; + background-color: #000; + padding: 12px; + border-radius: 16px; } diff --git a/data/theme/gnome-shell-high-contrast.scss b/data/theme/gnome-shell-high-contrast.scss new file mode 100644 index 0000000..55745f1 --- /dev/null +++ b/data/theme/gnome-shell-high-contrast.scss @@ -0,0 +1,38 @@ +$variant: 'dark'; + +@import "gnome-shell-sass/_high-contrast-colors"; //use gtk colors +@import "gnome-shell-sass/_drawing"; +@import "gnome-shell-sass/_common"; +@import "gnome-shell-sass/_widgets"; + +//force symbolic icons +stage { + -st-icon-style: symbolic; +} + +.toggle-switch { width: 48px; } +.toggle-switch { + background-image: url("resource:///org/gnome/shell/theme/toggle-off-hc.svg"); + &:checked { background-image: url("resource:///org/gnome/shell/theme/toggle-on-hc.svg"); } +} + +//force opaque panel +#panel { + &.login-screen, + &.unlock-screen, + &:overview { + background-color: #000; + } + + .panel-button { + color: #fff !important; + } +} + +//thumbnail app icons no dropshadow and forced color +.window-picker .icon-dropshadow { + icon-shadow: none; + background-color: $osd_bg_color; + padding: $base_padding * 2; + border-radius: $modal_radius; +} diff --git a/data/theme/gnome-shell-sass/COPYING b/data/theme/gnome-shell-sass/COPYING new file mode 100644 index 0000000..e55e5b8 --- /dev/null +++ b/data/theme/gnome-shell-sass/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/data/theme/gnome-shell-sass/NEWS b/data/theme/gnome-shell-sass/NEWS new file mode 100644 index 0000000..e69de29 diff --git a/data/theme/gnome-shell-sass/README.md b/data/theme/gnome-shell-sass/README.md new file mode 100644 index 0000000..443b4dc --- /dev/null +++ b/data/theme/gnome-shell-sass/README.md @@ -0,0 +1,16 @@ +# GNOME Shell Sass +GNOME Shell Sass is a project intended to allow the sharing of the +theme sources in sass between gnome-shell and other projects like +gnome-shell-extensions. + +Any changes should be done in the [GNOME Shell subtree][shell-subtree] +and not the stand-alone [gnome-shell-sass repository][sass-repo]. They +will then be synchronized periodically before releases. + +## License +GNOME Shell Sass is distributed under the terms of the GNU General Public +License, version 2 or later. See the [COPYING][license] file for details. + +[shell-subtree]: https://gitlab.gnome.org/GNOME/gnome-shell/tree/HEAD/data/theme/gnome-shell-sass +[sass-repo]: https://gitlab.gnome.org/GNOME/gnome-shell-sass +[license]: COPYING diff --git a/data/theme/gnome-shell-sass/_colors.scss b/data/theme/gnome-shell-sass/_colors.scss new file mode 100644 index 0000000..b83b1ed --- /dev/null +++ b/data/theme/gnome-shell-sass/_colors.scss @@ -0,0 +1,75 @@ +// When color definition differs for dark and light variant, +// it gets @if-ed depending on $variant + +@import '_palette.scss'; + +$is_highcontrast: "false"; + +$_dark_base_color: darken(desaturate(#241f31, 100%), 2%); + +$base_color: if($variant == 'light', #fff, $_dark_base_color); +$bg_color: if($variant == 'light', #f6f5f4, lighten($base_color, 5%)); +$fg_color: if($variant == 'light', transparentize(black, .2), white); + +$selected_fg_color: #fff; +$selected_bg_color: #3584e4; +$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 15%), darken($selected_bg_color, 30%)); + +$borders_color: if($variant == 'light', transparentize($fg_color, .5), transparentize($fg_color, .9)); +$borders_edge: if($variant == 'light', rgba(255,255,255,0.8), lighten($bg_color, 5%)); + +$link_color: if($variant == 'light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 20%)); +$link_visited_color: if($variant == 'light', darken($selected_bg_color, 20%), lighten($selected_bg_color, 10%)); + +$warning_color: if($variant == 'light', $yellow_5, #cd9309); +$error_color: if($variant == 'light', $red_3, $red_4); +$success_color: if($variant == 'light', $green_4, $green_5); +$destructive_color: $error_color; + +$osd_fg_color: white; +$osd_bg_color: $_dark_base_color; //hardcoded for both light & dark +$osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5); +$osd_insensitive_fg_color: if($variant == 'light', mix($osd_fg_color, $osd_bg_color, 80%), mix($osd_fg_color, $osd_bg_color, 70%)); +$osd_borders_color: transparentize(black, 0.3); +$osd_outer_borders_color: transparentize($osd_fg_color, 0.98); + +$shadow_color: if($variant == 'light', rgba(0,0,0,0.1), rgba(0,0,0,0.2)); + +// button +$button_mix_factor: 5%; + +// cards +$card_bg_color: if($variant == 'light', darken($bg_color, 5%), lighten($bg_color, 2%)); +$card_outer_borders_color: transparentize($fg_color, 0.98); + +// notifications +$bubble_buttons_color: if($variant == 'light', darken($bg_color, 12%), lighten($bg_color, 10%)); + +// overview background color +$system_bg_color: $base_color; + +//insensitive state derived colors +$insensitive_fg_color: mix($fg_color, $bg_color, 50%); +$insensitive_bg_color: mix($bg_color, $base_color, 60%); +$insensitive_borders_color: mix($borders_color, $base_color, 60%); + +//colors for the backdrop state, derived from the main colors. +$backdrop_base_color: if($variant =='light', darken($base_color,1%), lighten($base_color,1%)); +$backdrop_bg_color: $bg_color; +$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%); +$backdrop_insensitive_color: if($variant =='light', darken($backdrop_bg_color,15%), lighten($backdrop_bg_color,15%)); +$backdrop_borders_color: mix($borders_color, $bg_color, 90%); +$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%); + + +// derived checked colors +$checked_bg_color: if($variant=='light', darken($bg_color, 7%), lighten($bg_color, 7%)); +$checked_fg_color: if($variant=='light', darken($fg_color, 7%), lighten($fg_color, 7%)); + +// derived hover colors +$hover_bg_color: if($variant=='light', darken($bg_color, 3%), lighten($bg_color, 10%)); +$hover_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 10%)); + +// derived active colors +$active_bg_color: if($variant=='light', darken($bg_color, 5%), lighten($bg_color, 12%)); +$active_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 12%)); diff --git a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-shell-sass/_common.scss new file mode 100644 index 0000000..9ca89d1 --- /dev/null +++ b/data/theme/gnome-shell-sass/_common.scss @@ -0,0 +1,222 @@ +//This is the RIGHT PLACE to edit the stylesheet + +//let's start by telling people not to edit the generated CSS: +$cakeisalie: "This stylesheet is generated, DO NOT EDIT"; +/* #{$cakeisalie} */ + +/* Copyright 2009, 2015 Red Hat, Inc. + * + * Portions adapted from Mx's data/style/default.css + * Copyright 2009 Intel Corporation + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU Lesser General Public License, + * version 2.1, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for + * more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + */ + +/* Global Values */ + +// padding, margin and spacing +$base_padding: 6px; +$base_margin: 4px; + +// border radii +$base_border_radius: 8px; + +// radii of things that display over other things, e.g. popovers +$modal_radius: $base_border_radius*2; // 24px + +// Chroma key to flag when a background-color is always occluded, not visible. +// This allows any box-shadow behind it to be rendered more efficiently by +// omitting the middle rectangle. +$invisible_occluded_bg_color: rgba(3,2,1,0); + +// fonts +$base_font_size: 11; +$text_shadow_color: if($variant == 'light', rgba(255,255,255,0.3), rgba(0,0,0,0.2)); + +// icons +$base_icon_size: 1.09em; +$large_icon_size: $base_icon_size*2; // 32px +// $base_icon_size: 16px; + +// Stage +stage { + @include fontsize($base_font_size); + color: $fg_color; +} + +/* Common Stylings */ + +// osd panels +%osd_panel { + color: $osd_fg_color; + background-color: $osd_bg_color; + border: 1px solid $osd_outer_borders_color; + border-radius: 999px; + padding: $base_padding*2; +} + +// Overview panels +// for the dash and workspace switcher +%overview_panel { + color: $osd_fg_color; + background-color: transparentize($osd_fg_color, 0.9); +} + +// icon tiles +%tile { + border-radius: $base_border_radius * 2; // 16px + padding: $base_padding; + spacing: $base_padding; + border: 2px solid transparent; + transition-duration: 200ms; + text-align: center; +} + +// dialogs +%bubble_panel { + color: $fg_color; + background-color: $bg_color; + border-radius: $base_border_radius*1.25 + 1px; + border: 1px solid $borders_edge; +} + +// normal button styling +%button { + border-radius: $base_border_radius - 2px; // 6px + border-style: solid; + border-width: 1px; + font-weight: bold; + padding: $base_padding*.5 $base_padding*4; + + @include button(normal); + &:focus { @include button(focus);} + &:hover { @include button(hover);} + &:insensitive { @include button(insensitive);} + &:active { @include button(active);} + &:checked { @include button(checked);} + + &.flat { + @include button(normal, $flat:true); + &:focus { @include button(focus, $flat:true);} + &:hover { @include button(hover, $flat:true);} + &:insensitive { @include button(insensitive, $flat:true);} + &:active { @include button(active, $flat:true);} + &:checked { @include button(checked, $flat:true);} + } +} + +// buttons in dialogs/notifications +// lighter in color and have a greater radius + +$bubble_button_radius:$base_border_radius*1.25; + +%bubble_button { + padding: $base_padding * 2; + font-weight: bold !important; + + &:ltr {margin-right: 1px;} + &:rtl {margin-left: 1px;} + + @include button(normal, $c:$bubble_buttons_color); + &:insensitive { @include button(insensitive, $c:$bubble_buttons_color);} + &:focus { @include button(focus, $c:$bubble_buttons_color);} + &:hover { @include button(hover, $c:$bubble_buttons_color);} + &:active { @include button(active, $c:$bubble_buttons_color);} + &:checked { @include button(checked, $c:$bubble_buttons_color);} + + &:first-child:ltr { + border-radius: 0 0 0 $bubble_button_radius; + } + + &:last-child:ltr { + border-radius: 0 0 $bubble_button_radius 0; + margin-right: 0 !important; + } + + &:first-child:rtl { + border-radius: 0 0 $bubble_button_radius 0; + } + + &:last-child:rtl { + border-radius: 0 0 0 $bubble_button_radius; + margin-left: 0 !important; + } + + &:first-child:last-child { + border-radius: 0 0 $bubble_button_radius $bubble_button_radius !important; + margin-left: 0 !important; + margin-right: 0 !important; + } +} + +// buttons on OSD elements +// that are undecorated by default and use OSD colors +%osd_button { + @include button(undecorated); + &:insensitive { @include button(undecorated, $tc:$osd_fg_color, $c:$osd_bg_color);} + &:focus { @include button(focus, $tc:$osd_fg_color, $c:$osd_bg_color);} + &:hover { @include button(hover, $tc:$osd_fg_color, $c:$osd_bg_color);} + &:active { @include button(active, $tc:$osd_fg_color, $c:$osd_bg_color);} + &:outlined,&:checked { @include button(checked, $tc:$osd_fg_color, $c:$osd_bg_color);} +} + +/* General Typography */ + +%large_title { + font-weight: 300; + @include fontsize(24); +} + +%title_1 { + font-weight: 800; + @include fontsize(20); +} + +%title_2 { + font-weight: 800; + @include fontsize(15); +} + +%title_3 { + font-weight: 700; + @include fontsize(15); +} + +%title_4 { + font-weight: 700; + @include fontsize(13); +} + +%heading { + font-weight: 700; + @include fontsize(11); +} + +%caption_heading { + font-weight: 700; + @include fontsize(9); +} + +%caption { + font-weight: 400; + @include fontsize(9); +} + +%smaller { + font-weight: 400; + @include fontsize(8); +} + +%monospace {font-family: monospace;} +%numeric { font-feature-settings: "tnum";} diff --git a/data/theme/gnome-shell-sass/_drawing.scss b/data/theme/gnome-shell-sass/_drawing.scss new file mode 100644 index 0000000..7c8959e --- /dev/null +++ b/data/theme/gnome-shell-sass/_drawing.scss @@ -0,0 +1,336 @@ +// Drawing mixins + +// generic drawing of more complex things + +@function draw_widget_edge($c:$borders_edge) { +// outer highlight "used" on most widgets + @return 0 1px $c; +} + +// provide font size in rem, with px fallback +@mixin fontsize($size: 24, $base: 16) { + font-size: round($size) + pt; + //font-size: ($size / $base) * 1rem; +} + +@mixin draw_shadows($shadow1, $shadow2:none, $shadow3:none, $shadow4:none) { +// +// Helper function to stack up to 4 box-shadows; +// + @if $shadow4!=none { box-shadow: $shadow1, $shadow2, $shadow3, $shadow4; } + @else if $shadow3!=none { box-shadow: $shadow1, $shadow2, $shadow3; } + @else if $shadow2!=none { box-shadow: $shadow1, $shadow2; } + @else { box-shadow: $shadow1; } +} + +// entries + +@mixin entry($t, $fc:$selected_bg_color) { +// +// Entries drawing function +// +// $t: entry type +// $fc: focus color +// +// possible $t values: +// normal, focus, insensitive +// + + @if $t==normal { + background-color: lighten($bg_color, 5%); + color: transparentize($fg_color,0.3); + border: 2px solid lighten($bg_color, 5%); + } + + @if $t==focus { + background-color: mix(lighten($bg_color, 5%), $selected_bg_color, 95%); + border-color: $fc; + color: $fg_color; + &:hover {} + } + + @if $t==hover { + background-color:lighten($hover_bg_color, 5%); + border-color:lighten($hover_bg_color, 5%); + color: transparentize($fg_color,0.3); + } + + @if $t==insensitive { + background-color:lighten($insensitive_bg_color, 5%); + border-color: lighten($insensitive_bg_color, 5%); + color: $insensitive_fg_color; + } +} + +// On-screen Keyboard +@mixin keyboard_key($t, $c:$osd_bg_color, $tc:$osd_fg_color) { +// +// Keyboard key drawing function +// +// $t: key type, +// $c: base key color for colored* types +// $tc: optional text color for colored* types +// +// possible $t values: +// normal, hover, active, insensitive, insensitive-active, +// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active, +// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated +// + + // normal key + @if $t==normal { + color: $tc; + background-color: lighten($c, 3%); + } + + // focused key + @if $t==focus { + color: $tc; + background-color: mix(lighten($c, 3%), $selected_bg_color, 90%); + box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4); + &:hover { + background-color: mix(lighten($c, 8%), $selected_bg_color, 90%); + box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3); + } + &:active { + background-color: mix(lighten($c, 10%), $selected_bg_color, 90%); + box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3); + } + } + + // hover key + @else if $t==hover { + color: $tc; + background-color: lighten($c, 7%); + } + + // active key + @else if $t==active { + color: $tc; + background-color: lighten($c, 10%); + } + + // checked key + @else if $t==checked { + color: $tc; + background-color: lighten($c, 15%); + } + + // insensitive key + @else if $t==insensitive { + color: $insensitive_fg_color; + background-color: $insensitive_bg_color; + } + + // reset + @else if $t==undecorated { + background-color: transparent; + background-image: none; + } +} + +// +// Button drawing function +// +// $t: button type, +// $c: base button colors, derived from fg_color +// $tc: base button colors, derived from fg_color +// +// possible $t values: +// normal, hover, active, insensitive, insensitive-active, +// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active, +// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated +// +// since buttons are all flat an borderless now the mixin is simpler + +@mixin button($t, $tc:$fg_color, $c:$bg_color, $flat: false) { + + $button_bg_color: mix($tc, $c, $button_mix_factor); + transition-duration: 100ms; + + // normal button + @if $t==normal { + color: $tc; + background-color: $button_bg_color; + @if $flat { + background-color: transparent; + } + @if $is_highcontrast == "true" { + box-shadow: inset 0 0 0 1px $button_inset_color; + } + } + + // focused button + @if $t==focus { + color: $tc; + background-color: mix($button_bg_color, $selected_bg_color, 90%); + box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4) !important; + &:hover { + background-color: mix(lighten($button_bg_color, 3%), $selected_bg_color, 90%); + box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3) !important; + } + &:active { + background-color: mix(lighten($button_bg_color, 6%), $selected_bg_color, 90%); + box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3) !important; + } + } + + // hover button + @else if $t==hover { + color: $tc; + background-color: lighten($button_bg_color, 3%); + + @if $is_highcontrast == "true" { + box-shadow: inset 0 0 0 1px lighten($button_inset_color, 3%); + background-color: mix(lighten($button_bg_color, 3%), $button_inset_color, 10%); + } + } + + // active button + @else if $t==active { + color: $tc; + background-color: lighten($button_bg_color, 6%); + @if $is_highcontrast == "true" { + box-shadow: inset 0 0 0 1px lighten($button_inset_color, 6%); + background-color: mix(lighten($button_bg_color, 6%), $button_inset_color, 10%); + } + } + + // checked button + @else if $t==checked { + color: $tc; + background-color: lighten($button_bg_color, 9%); + @if $is_highcontrast == "true" { + box-shadow: inset 0 0 0 1px lighten($button_inset_color, 9%); + background-color: mix(lighten($button_bg_color, 9%), $button_inset_color, 10%); + } + &:hover { background-color: lighten($button_bg_color, 12%);} + &:active { background-color: lighten($button_bg_color, 15%);} + } + + // insensitive button + @else if $t==insensitive { + color: transparentize($tc, 0.5); + background-color: transparentize($tc, .95); + @if $is_highcontrast == "true" { + box-shadow: inset 0 0 0 1px transparentize($button_inset_color, 0.5); + } + } + + // default/suggested button + @else if $t==default { + background-color: $selected_bg_color; + color: $selected_fg_color; + box-shadow: none; + &:focus { + box-shadow: inset 0 0 0 2px lighten($selected_bg_color, 10%); + } + &:hover, &:focus { + background-color: lighten($selected_bg_color, 5%); + color: lighten($selected_fg_color, 5%); + } + &:active { + background-color: darken($selected_bg_color, 7%); + color: darken($selected_fg_color, 7%); + } + &:insensitive { + @include button(insensitive); + background-color: transparentize($selected_bg_color, .5); + color: transparentize($selected_fg_color, .5); + } + } + + // reset + @else if $t==undecorated { + background-color: transparent; + background-color: none; + box-shadow: none; + &:insensitive { + @include button(insensitive); + background-color: transparent; + color: transparentize($selected_fg_color, .5); + } + } +} + +// tile +@mixin tile_button($color, $flat: true) { + @extend %tile; + @if $flat { + background-color: transparent; + } @else { + background-color: transparentize($color, .84); + } + &:hover { background-color: transparentize($color, .9);} + &:selected, &:focus { + background-color: transparentize($color, .87); + &:hover { background-color: transparentize($color, .84);} + &:active { background-color: transparentize($color, .87);} + } + &:active { background-color: transparentize($color, .84);} + &:outlined, &:checked { + background-color: transparentize($color, .81); + &:active { background-color: transparentize($color, .78);} + &:hover { background-color: transparentize($color, .75);} + } + &:drop { + border: 2px solid transparentize($selected_bg_color, .2); //already 2px transparent so no jumping + background-color: transparentize($selected_bg_color, .8); + } +} + +// overview icon, dash, app grid +@mixin overview_icon($color, $flat: true) { + transition-duration: 400ms; + .overview-icon { @extend %tile; } + @if $flat { + .overview-icon { background-color: transparent;} + } @else { + .overview-icon { background-color: transparentize($color, .81);} + } + &:hover .overview-icon { background-color: transparentize($color, .9);} + + &:selected .overview-icon, + &:focus .overview-icon { + background-color: transparentize($color, .87); + &:hover .overview-icon { background-color: transparentize($color, .84);} + &:active .overview-icon { background-color: transparentize($color, .87);} + } + &:active .overview-icon { background-color: transparentize($color, .84);} + &:outlined .overview-icon, + &:checked .overview-icon { + background-color: transparentize($color, .81); + &:active .overview-icon { background-color: transparentize($color, .78);} + &:hover .overview-icon { background-color: transparentize($color, .75);} + } + &:drop .overview-icon { + border: 2px solid transparentize($selected_bg_color, .2); //already 2px transparent so no jumping + background-color: transparentize($selected_bg_color, .8); + } +} + +// styling for elements within popovers that look like notifications +@mixin card($flat: false) { + border-radius: $base_border_radius; + margin: $base_margin; + box-shadow: inset 0 0 0 1px $card_outer_borders_color; + + @if $flat { + @include button(undecorated); + box-shadow: none !important; + } @else { + @include button(normal, $c:$card_bg_color); + } + + &:focus { + @include button(focus, $c:$card_bg_color); + } + + &:hover { + @include button(hover, $c:$card_bg_color); + } + + &:active { + @include button(active, $c:$card_bg_color); + } +} diff --git a/data/theme/gnome-shell-sass/_high-contrast-colors.scss b/data/theme/gnome-shell-sass/_high-contrast-colors.scss new file mode 100644 index 0000000..15fdec3 --- /dev/null +++ b/data/theme/gnome-shell-sass/_high-contrast-colors.scss @@ -0,0 +1,72 @@ +// When color definition differs for dark and light variant, +// it gets @if ed depending on $variant + +@import '_palette.scss'; + +$is_highcontrast: 'true'; + +$base_color: if($variant == 'light', #fff, #000); +$bg_color: $base_color; +$fg_color: if($variant == 'light', transparentize(black, .2), white); + +$selected_fg_color: #ffffff; +$selected_bg_color: $blue_3; + +$selected_borders_color: darken($selected_bg_color, 20%); +$borders_color: lighten($bg_color,17%); +$borders_edge: $borders_color; +$link_color: lighten($selected_bg_color,20%); +$link_visited_color: lighten($selected_bg_color,10%); + +$warning_color: if($variant == 'light', $yellow_5, #cd9309); +$error_color: if($variant == 'light', $red_3, $red_4); +$success_color: if($variant == 'light', $green_4, $green_5); +$destructive_color: $error_color; + +$osd_fg_color: white; +$osd_bg_color: $base_color; +$osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5); +$osd_insensitive_fg_color: if($variant == 'light', mix($osd_fg_color, $osd_bg_color, 80%), mix($osd_fg_color, $osd_bg_color, 70%)); +$osd_borders_color: $osd_bg_color; +$osd_outer_borders_color: $osd_bg_color; + +$shadow_color: transparent; + +// button +$button_inset_color: transparentize($fg_color, 0.8); +$button_mix_factor: 10%; + +// cards +$card_bg_color: if($variant == 'light', darken($bg_color, 12%), lighten($bg_color, 12%)); +$card_outer_borders_color: $card_bg_color; + +// notifications +$bubble_buttons_color: if($variant == 'light', darken($bg_color, 22%), lighten($bg_color, 31%)); + +// overview background color +$system_bg_color: lighten($base_color, 17%); + +//insensitive state derived colors +$insensitive_fg_color: mix($fg_color, $bg_color, 50%); +$insensitive_bg_color: mix($bg_color, $base_color, 60%); +$insensitive_borders_color: $borders_color; + +//colors for the backdrop state, derived from the main colors. +$backdrop_base_color: lighten($base_color,1%); +$backdrop_bg_color: $bg_color; +$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%); +$backdrop_insensitive_color: lighten($backdrop_bg_color,15%); +$backdrop_borders_color: mix($borders_color, $bg_color, 90%); +$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%); + +// derived checked colors +$checked_bg_color: if($variant=='light', darken($bg_color, 12%), lighten($bg_color, 18%)); +$checked_fg_color: if($variant=='light', darken($fg_color, 12%), lighten($fg_color, 18%)); + +// derived hover colors +$hover_bg_color: if($variant=='light', darken($bg_color, 8%), lighten($bg_color, 20%)); +$hover_fg_color: if($variant=='light', darken($fg_color, 10%), lighten($fg_color, 20%)); + +// derived active colors +$active_bg_color: if($variant=='light', darken($bg_color, 10%), lighten($bg_color, 22%)); +$active_fg_color: if($variant=='light', darken($fg_color, 10%), lighten($fg_color, 22%)); diff --git a/data/theme/gnome-shell-sass/_palette.scss b/data/theme/gnome-shell-sass/_palette.scss new file mode 100644 index 0000000..78847d9 --- /dev/null +++ b/data/theme/gnome-shell-sass/_palette.scss @@ -0,0 +1,46 @@ +//GNOME Color Palette +$blue_1: #99c1f1; +$blue_2: #62a0ea; +$blue_3: #3584e4; +$blue_4: #1c71d8; +$blue_5: #1a5fb4; +$green_1: #8ff0a4; +$green_2: #57e389; +$green_3: #33d17a; +$green_4: #2ec27e; +$green_5: #26a269; +$yellow_1: #f9f06b; +$yellow_2: #f8e45c; +$yellow_3: #f6d32d; +$yellow_4: #f5c211; +$yellow_5: #e5a50a; +$orange_1: #ffbe6f; +$orange_2: #ffa348; +$orange_3: #ff7800; +$orange_4: #e66100; +$orange_5: #c64600; +$red_1: #f66151; +$red_2: #ed333b; +$red_3: #e01b24; +$red_4: #c01c28; +$red_5: #a51d2d; +$purple_1: #dc8add; +$purple_2: #c061cb; +$purple_3: #9141ac; +$purple_4: #813d9c; +$purple_5: #613583; +$brown_1: #cdab8f; +$brown_2: #b5835a; +$brown_3: #986a44; +$brown_4: #865e3c; +$brown_5: #63452c; +$light_1: #ffffff; +$light_2: #f6f5f4; +$light_3: #deddda; +$light_4: #c0bfbc; +$light_5: #9a9996; +$dark_1: #77767b; +$dark_2: #5e5c64; +$dark_3: #3d3846; +$dark_4: #241f31; +$dark_5: #000000; \ No newline at end of file diff --git a/data/theme/gnome-shell-sass/_widgets.scss b/data/theme/gnome-shell-sass/_widgets.scss new file mode 100644 index 0000000..a09e0b5 --- /dev/null +++ b/data/theme/gnome-shell-sass/_widgets.scss @@ -0,0 +1,51 @@ +// +// Shell widgets stylesheets are placed in separate .scss files +// in 'widgets' and imported into the main stylesheet in this file. +// To create or update a widget for the shell modify the list below. +// + +/* WIDGETS */ + +// Primary widgets +@import 'widgets/base'; +@import 'widgets/entries'; +@import 'widgets/buttons'; +@import 'widgets/check-box'; +@import 'widgets/switches'; +@import 'widgets/slider'; +@import 'widgets/scrollbars'; +// Popovers +@import 'widgets/popovers'; +@import 'widgets/calendar'; +@import 'widgets/message-list'; +@import 'widgets/ibus-popup'; +// Notifications +@import 'widgets/notifications'; +@import 'widgets/hotplug'; +// Dialogs +@import 'widgets/dialogs'; +// OSDs +@import 'widgets/osd'; +@import 'widgets/switcher-popup'; +@import 'widgets/workspace-switcher'; +@import 'widgets/screenshot'; +// Panel +@import 'widgets/panel'; +@import 'widgets/corner-ripple'; +@import 'widgets/quick-settings'; +// Overview +@import 'widgets/overview'; +@import 'widgets/window-picker'; +@import 'widgets/search-entry'; +@import 'widgets/search-results'; +@import 'widgets/dash'; +@import 'widgets/app-grid'; +@import 'widgets/workspace-thumbnails'; +// A11y / misc +@import 'widgets/a11y'; +@import 'widgets/misc'; +@import 'widgets/keyboard'; +@import 'widgets/looking-glass'; +// Lock / login screens +@import 'widgets/login-dialog'; +@import 'widgets/screen-shield'; diff --git a/data/theme/gnome-shell-sass/gnome-shell-sass.doap b/data/theme/gnome-shell-sass/gnome-shell-sass.doap new file mode 100644 index 0000000..f18ec1b --- /dev/null +++ b/data/theme/gnome-shell-sass/gnome-shell-sass.doap @@ -0,0 +1,37 @@ + + + GNOME Shell Sass + Sass sources of GNOME Shell + GNOME Shell Sass is a project intended to allow the sharing of the + sass theme sources between gnome-shell and other projects like gnome-shell-extensions. + + + sass + css + + + + Carlos Soriano + + csoriano + + + + + Florian Müllner + + fmuellner + + + + + Jakub Steiner + + jimmac + + + diff --git a/data/theme/gnome-shell-sass/widgets/_a11y.scss b/data/theme/gnome-shell-sass/widgets/_a11y.scss new file mode 100644 index 0000000..31b5c4b --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_a11y.scss @@ -0,0 +1,24 @@ +// Pointer location +.ripple-pointer-location { + width: $ripple_size; + height: $ripple_size; + border-radius: $ripple_size * 0.5; // radius equals the size of the box to give us the curve + background-color: lighten(transparentize($selected_bg_color, 0.7), 30%); + box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%); +} + +// Pointer accessibility notifications +.pie-timer { + width: 60px; + height: 60px; + -pie-border-width: 3px; + -pie-border-color: $selected_bg_color; + -pie-background-color: lighten(transparentize($selected_bg_color, 0.7), 40%); +} + +// Screen zoom/Magnifier +.magnifier-zoom-region { + border: 2px solid $selected_bg_color; + + &.full-screen { border-width: 0; } +} diff --git a/data/theme/gnome-shell-sass/widgets/_app-grid.scss b/data/theme/gnome-shell-sass/widgets/_app-grid.scss new file mode 100644 index 0000000..9da650c --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_app-grid.scss @@ -0,0 +1,161 @@ +/* App Grid */ + +$app_icon_size: 96px; + +// app icons +.icon-grid { + row-spacing: $base_padding * 2; + column-spacing: $base_padding * 2; + max-row-spacing: $base_padding * 7; + max-column-spacing: $base_padding * 7; + page-padding-top: $base_padding * 4; + page-padding-bottom: $base_padding * 4; + page-padding-left: $base_padding * 3; + page-padding-right: $base_padding * 3; +} + +/* App Icons */ + +// Icon tiles in the app grid +.app-well-app { + @include overview_icon($osd_fg_color); + + .overview-icon { padding: $base_padding*2;} + .overview-icon.overview-icon-with-label { + > StBoxLayout { + spacing: $base_padding; + } + } +} + +// app folders +.app-well-app.app-folder { + @include overview_icon($osd_fg_color, $flat: false); +} + +// expanded folder +.app-folder-dialog { + border-radius: $modal_radius*2; + background-color: $dash_background_color; + + & .folder-name-container { + padding: 24px 36px 0; + spacing: 12px; + + & .folder-name-label, + & .folder-name-entry { + @extend %title_1; + } + + & .folder-name-entry { width: 300px } + + /* FIXME: this is to keep the label in sync with the entry */ + & .folder-name-label { padding: 5px 7px; color: $osd_fg_color; } + + & .edit-folder-button { + @extend %button; + padding: 0; + width: 36px; + height: 36px; + border-radius: 99px; + & > StIcon { icon-size: $base_icon_size } + } + } + + & .icon-grid { + row-spacing: $base_padding * 2; + column-spacing: $base_padding * 5; + page-padding-top: 0; + page-padding-bottom: 0; + page-padding-left: 0; + page-padding-right: 0; + } + + & .page-indicators { + margin-bottom: 18px; + } +} + +.app-folder-dialog-container { + padding: $base_padding*2; + width: 720px; + height: 720px; +} + +// Running app indicator (also shown in dash) +.app-well-app-running-dot { + height: 5px; + width: 5px; + border-radius:5px; + margin-bottom: 8px; + background-color: $osd_fg_color; +} + +// Rename popup for app folders +.rename-folder-popup { + .rename-folder-popup-item { + spacing: $base_padding; + &:ltr, &:rtl { padding: 0 $base_padding * 2; } + } +} + +// App Grid pagination indicators +.page-indicator { + padding: $base_padding $base_padding * 2 0; + transition-duration:400ms; + + .page-indicator-icon { + width: 10px; + height: 10px; + border-radius: 10px; // the same as height&width + background-color: white; + } +} + +.apps-scroll-view { + padding: 0; +} + +// shutdown and other actions in the grid +.system-action-icon { + background-color: rgba(0,0,0,0.8); + color: #fff; + border-radius: 99px; + icon-size: $app_icon_size * 0.5; +} + +.page-navigation-hint { + &.dnd { + background: rgba(255, 255, 255, 0.1); + } + + &.next:ltr, + &.previous:rtl { + background-gradient-start: rgba(255, 255, 255, 0.05); + background-gradient-end: transparent; + background-gradient-direction: horizontal; + border-radius: $modal_radius*1.5 0px 0px $modal_radius*1.5; + } + + &.previous:ltr, + &.next:rtl { + background-gradient-start: transparent; + background-gradient-end: rgba(255, 255, 255, 0.05); + background-gradient-direction: horizontal; + border-radius: 0px $modal_radius*1.5 $modal_radius*1.5 0px; + } +} + +.page-navigation-arrow { + & > StIcon { + margin: 6px; + padding: 18px; + width: 24px; + height: 24px; + border-radius: 99px; + } + + &:insensitive > StIcon { @include button(undecorated, $osd_fg_color, transparentize($osd_bg_color, 0.5));} + &:hover > StIcon { @include button(hover, $osd_fg_color, transparentize($osd_bg_color, 0.5));} + &:active > StIcon { @include button(active, $osd_fg_color, transparentize($osd_bg_color, 0.5));} +} diff --git a/data/theme/gnome-shell-sass/widgets/_base.scss b/data/theme/gnome-shell-sass/widgets/_base.scss new file mode 100644 index 0000000..69ebb30 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_base.scss @@ -0,0 +1,18 @@ +// Links +.shell-link { + color: $link_color; + + &:hover { + color: lighten($link_color, 10%); + } +} + +// Outline for low res icons +.lowres-icon { + icon-shadow: 0 1px 2px rgba(black, 0.3); +} + +// Dropshadow for large icons +.icon-dropshadow { + icon-shadow: 0 1px 5px rgba(black, 0.8); +} diff --git a/data/theme/gnome-shell-sass/widgets/_buttons.scss b/data/theme/gnome-shell-sass/widgets/_buttons.scss new file mode 100644 index 0000000..def96fe --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_buttons.scss @@ -0,0 +1,19 @@ +/* Buttons */ + +.button { + @extend %button; // that's it + min-height: 22px; +} + +.icon-button { + @extend .button; // same style as buttons + + border-radius: 99px; + padding: $base_padding*2; + min-height: 16px; + + StIcon { + icon-size: $base_icon_size; + -st-icon-style: symbolic; + } +} \ No newline at end of file diff --git a/data/theme/gnome-shell-sass/widgets/_calendar.scss b/data/theme/gnome-shell-sass/widgets/_calendar.scss new file mode 100644 index 0000000..fa7080b --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_calendar.scss @@ -0,0 +1,257 @@ +/* Date/Time Menu */ + +// overall menu +#calendarArea { + padding: $base_padding - 2px; +} + +// Calendar menu side column +.datemenu-calendar-column { + spacing: $base_padding; + &:ltr {padding-left: $base_padding;} + &:rtl {padding-right: $base_padding;} + .datemenu-displays-box {spacing: $base_padding;} +} + +/* today button (the date) */ +.datemenu-today-button { + @include card(flat); + padding: $base_padding * 1.5; + + // weekday label + .day-label { + @extend %heading; + } + + // date label + .date-label { + @extend %title_2; + } +} + +/* Calendar */ +.calendar { + @include card(flat); + margin-top: 0; + + // month header + .calendar-month-header { + + // prev/next month icons + .calendar-change-month-back StIcon, + .calendar-change-month-forward StIcon { + icon-size: $base_icon_size; + } + + // month label + .calendar-month-label { + color: lighten($fg_color,5%); + @extend %heading; + padding: 8px 0; + } + .pager-button { + background-color: transparent; + height: 32px; + width: 32px; + margin: 2px; + border-radius: $base_border_radius - 2px; + &:hover, &:focus {background-color: $hover_bg_color;} + &:active {background-color: $active_bg_color;} + } + } + + $calendar_day_size: 3em; + + .calendar-day-base { + text-align: center; + margin: 2px; + padding: 0 !important; + height: $calendar_day_size !important; + width: $calendar_day_size !important; + border-radius: 99px; + transition-duration: 100ms; + @extend %numeric; + @extend %smaller; + + &:hover {background-color: $hover_bg_color;} + &:focus { + background-color: mix($bg_color, $selected_bg_color, 80%); + color: $selected_fg_color; + box-shadow:inset 0 0 0 2px transparentize($selected_bg_color, 0.4); + } + + &:active,&:selected { + color: $active_fg_color; + background-color: $active_bg_color; + &:focus { + background-color: mix($active_bg_color, $selected_bg_color, 80%); + } + } + + // day of week heading + &.calendar-day-heading { + color: $insensitive_fg_color; + padding-top: $base_padding; + height: 16px !important; // force heading to be smaller height + font-weight: bold; + @extend %smaller; + } + } + + .calendar-day {} + .calendar-work-day {} + .calendar-nonwork-day {color: $insensitive_fg_color;} + .calendar-other-month-day { + color: transparentize($fg_color, 0.5); + &.calendar-nonwork-day { + color: transparentize($insensitive_fg_color, 0.5); + } + } + + // Today + .calendar-today { + background-color: $selected_bg_color; + font-weight: 800; + color: $selected_fg_color !important; + + &:hover,&:focus { + background-color:lighten($selected_bg_color, 3%); + color: inherit; + } + + &:active,&:selected { + background-color: $selected_bg_color; + color: inherit; + + &:hover,&:focus { + background-color:lighten($selected_bg_color, 3%); + color: inherit; + } + } + } + + .calendar-day-with-events { + background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/calendar-today-light.svg"),url("resource:///org/gnome/shell/theme/calendar-today.svg")); + background-size: contain; + } + + .calendar-week-number { + @include fontsize($base_font_size - 4); + font-weight: bold; + font-feature-settings: "tnum"; + margin: 6px; + padding: 0 $base_padding; + border-radius: 3px; + background-color: darken($bg_color, 2%); + color: $insensitive_fg_color + } +} + +/* Events */ +.events-button { + @include card; + padding: $base_padding * 2; + + .events-box { + spacing: $base_padding; + } + + .events-list { + spacing: 2 * $base_padding; + } + + .events-title { + @extend %heading; + color: $insensitive_fg_color; + margin-bottom: $base_margin; + } + + .event-time { + @extend %numeric; + @extend %caption; + color: $insensitive_fg_color; + } +} + +/* World clocks */ +.world-clocks-button { + @include card; + padding: $base_padding * 2; + + .world-clocks-grid { + spacing-rows: $base_padding; + spacing-columns: $base_padding * 2; + } + + // title + .world-clocks-header { + @extend %heading; + color: $insensitive_fg_color; + } + + // city label + .world-clocks-city { + color: $fg_color; + } + + // timezone time + .world-clocks-time { + @extend %heading; + @extend %numeric; + color: $fg_color; + + &:ltr {text-align: right;} + &:rtl {text-align: left;} + } + + // timezone offset label + .world-clocks-timezone { + @extend %numeric; + @extend %caption; + color: $insensitive_fg_color; + } +} + +/* Weather */ +.weather-button { + @include card; + padding: $base_padding * 2; + + .weather-box { + spacing: $base_padding + $base_margin; + } + + .weather-header-box { + spacing: $base_padding; + } + + .weather-header { + color: $insensitive_fg_color; + @extend %heading; + + &.location { + font-weight: normal; + } + } + + .weather-grid { + spacing-rows: $base_padding; + spacing-columns: $base_padding * 2; + } + + .weather-forecast-time { + @extend %numeric; + @extend %caption; + color: darken($fg_color,30%); + padding-top: 0.2em; + padding-bottom: 0.4em; + } + + .weather-forecast-icon { + icon-size: $large_icon_size; + } + + .weather-forecast-temp { + @extend %heading; + } +} diff --git a/data/theme/gnome-shell-sass/widgets/_check-box.scss b/data/theme/gnome-shell-sass/widgets/_check-box.scss new file mode 100644 index 0000000..1480ade --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_check-box.scss @@ -0,0 +1,18 @@ +/* Check Boxes */ + +// these are equal to the size of the SVG assets +$check_height: 24px; +$check_width: 24px; + + +.check-box { + StBoxLayout { spacing: .8em; } + StBin { + width: $check_width; + height: $check_height; + background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/checkbox-off-light.svg"), url("resource:///org/gnome/shell/theme/checkbox-off.svg")); + } + &:focus StBin { background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/checkbox-off-focused-light.svg"), url("resource:///org/gnome/shell/theme/checkbox-off-focused.svg"));; } + &:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox.svg"); } + &:focus:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-focused.svg"); } +} diff --git a/data/theme/gnome-shell-sass/widgets/_corner-ripple.scss b/data/theme/gnome-shell-sass/widgets/_corner-ripple.scss new file mode 100644 index 0000000..9aff431 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_corner-ripple.scss @@ -0,0 +1,15 @@ +/* Activities Ripple */ + +$ripple_size: 50px; + +.ripple-box { + background-color: rgba(255,255,255,0.2); + box-shadow: 0 0 2px 2px rgba(255,255,255,0.2); + // plus + 2px for the border (box-shadow) + width: $ripple_size + 2px; + height: $ripple_size + 2px; + border-radius: 0 0 $ripple_size + 2px 0; // radius equals the size of the box to give us the curve + + // just a simple change to the border radius position + &:rtl { border-radius: 0 0 0 $ripple_size + 2px; } +} diff --git a/data/theme/gnome-shell-sass/widgets/_dash.scss b/data/theme/gnome-shell-sass/widgets/_dash.scss new file mode 100644 index 0000000..8f5d5f9 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_dash.scss @@ -0,0 +1,75 @@ +/* Dash */ + +$dash_background_color: lighten($system_bg_color, 5%); +$dash_placeholder_size: 32px; +$dash_padding: $base_padding*2; // 12px +$dash_border_radius: $modal_radius + $dash_padding; + +// container for the dash +#dash { + @extend %caption; + margin-top: $dash_padding; + + .placeholder { + // background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg"); + background-image:none; + background-size: contain; + height: $dash_placeholder_size; + } + + .empty-dash-drop-target { + width: $dash_placeholder_size; + height: $dash_placeholder_size; + } + + // Running app indicator (also shown in app grid) + .app-well-app-running-dot { + margin-bottom: 14px; // hardcoded + } +} + +// background of the dash behind app icons +.dash-background { + background-color: $dash_background_color; + border-radius: $dash_border_radius; + padding: $dash_padding; + spacing: $base_padding; + margin-bottom: $dash_padding; +} + +// items on the dash +.dash-item-container { + > * {margin: 0 2px;} + &:ltr:first-child {margin-left: 0;} + &:rtl:first-child {margin-right: 0;} + + // each app item on the dash + .app-well-app .overview-icon { + padding: $base_padding; + } + + // show apps button + .show-apps { @include overview_icon($osd_fg_color);} + + .show-apps, .app-well-app { + padding-bottom: $dash_padding; + } +} + +// separator between favourites and running apps +.dash-separator { + width: 1px; + margin: 0 $base_margin; + background-color: $borders_color; + margin-bottom: $dash_padding; +} + +// OSD Tooltip +.dash-label { + color: $osd_fg_color; + background-color: $osd_bg_color; + border-radius: 99px; + padding: $base_padding $base_padding * 2; + text-align: center; + -y-offset: $base_margin * 2; // distance from the dash edge +} diff --git a/data/theme/gnome-shell-sass/widgets/_dialogs.scss b/data/theme/gnome-shell-sass/widgets/_dialogs.scss new file mode 100644 index 0000000..defa20b --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_dialogs.scss @@ -0,0 +1,172 @@ +/* Modal Dialogs */ + +.headline { + @extend %title_4; +} + +.modal-dialog { + @extend %bubble_panel; + + .modal-dialog-content-box { + margin: 32px 40px; + spacing: 32px; + max-width: 28em; + } + + .modal-dialog-linked-button { + @extend %bubble_button; + } +} + +/* End Session Dialog */ +.end-session-dialog { + width: 30em; + + .end-session-dialog-battery-warning, + .dialog-list-title { + color: $warning_color; + } +} + +/* Message Dialog */ +.message-dialog-content { + spacing: 18px; + + .message-dialog-title { + text-align: center; + @extend %title_2; + + &.lightweight { @extend %title_4;} + } + .message-dialog-description { text-align: center; } +} + +/* Dialog List */ +.dialog-list { + spacing: 18px; + + .dialog-list-title { + text-align: center; + @extend %heading; + } + + .dialog-list-scrollview { max-height: 200px; } + .dialog-list-box { + spacing: 1em; + + .dialog-list-item { + spacing: 1em; + + .dialog-list-item-title { font-weight: bold; } + .dialog-list-item-description { + color: darken($fg_color,5%); + @extend %caption; + } + } + } +} + +/* Run Dialog */ +.run-dialog { + .modal-dialog-content-box { + margin-top: 24px; + margin-bottom: 14px; + } + .run-dialog-entry { width: 20em; } + .run-dialog-description { + @extend %caption; + text-align: center; + color: darken($fg_color, 20%); + } +} + +/* Password or Authentication Dialog */ + +.prompt-dialog { + width: 28em; + + .modal-dialog-content-box { + margin-bottom: 24px; + } +} + +.prompt-dialog-password-grid { + spacing-rows: 8px; + spacing-columns: 4px; + + .prompt-dialog-password-entry { + width: auto; + + // 4px (spacing) + 16px (spinner-width) + &:ltr { margin-left: 20px; } + &:rtl { margin-right: 20px; } + } +} + +.prompt-dialog-password-layout { + spacing: 8px; +} + +.prompt-dialog-password-entry { + width: 20em; +} + +.prompt-dialog-error-label, +.prompt-dialog-info-label, +.prompt-dialog-null-label { + text-align: center; + @extend %caption; +} + +.prompt-dialog-error-label { + color: $warning_color; +} + + +/* Polkit Dialog */ + +.polkit-dialog-user-layout { + text-align: center; + spacing: 8px; + margin-bottom: 6px; + + .polkit-dialog-user-root-label { color: $warning_color; } +} + +/* Audio selection dialog */ +.audio-device-selection-dialog { + .modal-dialog-content-box { margin-bottom: 28px; } + .audio-selection-box { spacing: 20px; } +} + +.audio-selection-device { + border-radius: $base_border_radius*2; + &:hover,&:focus { background-color: $hover_bg_color; } + &:active { + background-color: $selected_bg_color; + color: $selected_fg_color; + } +} + +.audio-selection-device-box { + padding: 20px; + spacing: 20px; +} + +.audio-selection-device-icon { + icon-size: $base_icon_size * 4; +} + +/* Welcome dialog */ +.welcome-dialog-image { + background-image: url("resource:///org/gnome/shell/theme/gnome-shell-start.svg"); + background-size: contain; + /* Reasonable maximum dimensions */ + height: 300px; + width: 300px; +} + +/* Access portal dialog */ +.access-dialog { + text-align: center; +} \ No newline at end of file diff --git a/data/theme/gnome-shell-sass/widgets/_entries.scss b/data/theme/gnome-shell-sass/widgets/_entries.scss new file mode 100644 index 0000000..6be6760 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_entries.scss @@ -0,0 +1,31 @@ +/* Entries */ + +StEntry { + border-radius: $base_border_radius; + padding: 8px; + color: $fg_color; + + @include entry(normal); + &:hover { @include entry(hover);} + &:focus { @include entry(focus);} + &:insensitive { @include entry(insensitive);} + + selection-background-color: $selected_bg_color; + selected-color: $selected_fg_color; + + StIcon.capslock-warning { + icon-size: 16px; + warning-color: $warning_color; + padding: 0 4px; + } + + StIcon.peek-password { + icon-size: $base_icon_size; + padding: 0 4px; + } + + StLabel.hint-text { + margin-left: 2px; + color: transparentize($fg_color, 0.3); + } +} diff --git a/data/theme/gnome-shell-sass/widgets/_hotplug.scss b/data/theme/gnome-shell-sass/widgets/_hotplug.scss new file mode 100644 index 0000000..acd0265 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_hotplug.scss @@ -0,0 +1,10 @@ +// hotplug + +.hotplug-notification-item { + @extend %bubble_button; +} + +.hotplug-notification-item-icon { + icon-size: 24px; + padding: 0 4px; +} diff --git a/data/theme/gnome-shell-sass/widgets/_ibus-popup.scss b/data/theme/gnome-shell-sass/widgets/_ibus-popup.scss new file mode 100644 index 0000000..8cbaa95 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_ibus-popup.scss @@ -0,0 +1,39 @@ +// IBus Candidate Popup + +.candidate-popup-boxpointer { + @extend .popup-menu-boxpointer; +} + +.candidate-popup-content { + padding: $base_padding; + spacing: $base_padding; + @extend .popup-menu-content; +} + +.candidate-index { + padding: 0; + padding-right: $base_padding; + color: $insensitive_fg_color; +} + +.candidate-box { + padding: $base_padding $base_padding*2 $base_padding $base_padding*2; + border-radius: $base_border_radius; + &:selected { background-color: $selected_bg_color; color: $selected_fg_color; } + &:hover { background-color: $hover_bg_color; color: $hover_fg_color; } +} + +.candidate-page-button-box { + height: 2em; + .vertical & { padding-top: $base_padding*2; } + .horizontal & { padding-left: $base_padding*2; } +} + +.candidate-page-button { + padding: $base_padding; + + & StIcon { icon-size: $base_icon_size; } +} + +.candidate-page-button-previous { border-radius: $base_border_radius 0px 0px $base_border_radius; border-right-width: 0;box-shadow: none;} +.candidate-page-button-next { border-radius: 0px $base_border_radius $base_border_radius 0px;box-shadow: none;} diff --git a/data/theme/gnome-shell-sass/widgets/_keyboard.scss b/data/theme/gnome-shell-sass/widgets/_keyboard.scss new file mode 100644 index 0000000..1dc6b95 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_keyboard.scss @@ -0,0 +1,159 @@ +/* On-screen Keyboard */ + +$key_size: 1.2em; +$key_border_radius: $base_border_radius + 4px; // 12px +$key_bg_color: darken($osd_fg_color, 70%); +// $default_key_bg_color: darken($key_bg_color, 4%); +$default_key_bg_color: if($variant=='light', darken($key_bg_color, 11%), darken($key_bg_color, 10%)); + + +// draw keys using button function +#keyboard { + // background-color: transparentize(if($variant=='light', darken($bg_color, 5%), darken($bg_color, 8%)), 0.1); + background-color: $osd_bg_color; + box-shadow: inset 0 1px 0 0 $osd_outer_borders_color; + + .page-indicator { + padding: $base_padding; + + .page-indicator-icon { + width: 8px; + height: 8px; + } + } +} + +// the container for individual keys +.key-container { + padding: $base_margin; + spacing: $base_margin; +} + +// the keys +.keyboard-key { + + @include fontsize($base_font_size + 5); + font-weight: bold; + min-height: $key_size; + min-width: $key_size; + border-width: 1px; + border-style: solid; + border-radius: $key_border_radius; + box-shadow: 0 1px 0 0 $shadow_color; + + @include keyboard_key(normal, $key_bg_color, $osd_fg_color); + + &:focus { @include keyboard_key(focus);} + &:hover { @include keyboard_key(hover, $key_bg_color, $osd_fg_color);} + &:active { @include keyboard_key(active, $key_bg_color, $osd_fg_color); } + &:checked { @include keyboard_key(checked, $key_bg_color, $osd_fg_color); } + + &:grayed { //FIXMEy + background-color: darken($bg_color, 3%); + color: $osd_fg_color; + border-color: $osd_borders_color; + } + + // non-character keys + &.default-key { + @include keyboard_key(normal, $default_key_bg_color, $osd_fg_color); + &:hover {@include keyboard_key(hover, $default_key_bg_color, $osd_fg_color);} + &:active { @include keyboard_key(active, $default_key_bg_color, $osd_fg_color);} + &:checked { @include keyboard_key(checked, $default_key_bg_color, $osd_fg_color);} + border-radius: $key_border_radius; + + // keys that may be latched: ctrl/alt/shift + &:latched { + border-color: lighten($selected_bg_color, 5%); + background-color: $selected_bg_color; + } + } + + // enter key is suggested-action + &.enter-key { + @include keyboard_key(normal, $selected_bg_color, $selected_fg_color); + &:hover { @include keyboard_key(hover, $selected_bg_color, $selected_fg_color);} + &:active {@include keyboard_key(active, $selected_bg_color, $selected_fg_color);} + &:checked {@include keyboard_key(checked, $selected_bg_color, $selected_fg_color);} + border-radius: $key_border_radius; + color: $osd_fg_color; + } + + &.shift-key-lowercase {} + + // pressed shift has different style + &.shift-key-uppercase { + background-color: lighten($key_bg_color, 20%); + color: $osd_bg_color; + &:hover { + background-color: lighten($key_bg_color, 25%); + color: lighten($osd_bg_color, 5%); + } + } + + // size of icons on keys + StIcon { icon-size: 24px; } +} + +// long press on a key popup +.keyboard-subkeys { + -arrow-border-radius: $base_border_radius*2; + -arrow-background-color: $osd_bg_color; + -arrow-border-width: 1px; + -arrow-border-color: lighten($osd_bg_color, 9%); + -arrow-base: 20px; + -arrow-rise: 10px; + -boxpointer-gap: $base_padding; + padding: $base_padding; + + .keyboard-key { + @include keyboard_key(normal, $key_bg_color, $osd_fg_color); + + &:focus { @include keyboard_key(focus);} + &:hover { @include keyboard_key(hover, $key_bg_color, $osd_fg_color);} + &:active { @include keyboard_key(active, $key_bg_color, $osd_fg_color); } + &:checked { @include keyboard_key(checked, $key_bg_color, $osd_fg_color); } + + border-radius:$key_border_radius; + } +} + +// emoji +.emoji-page { + .keyboard-key { + background-color: transparent; + border: none; + color: initial; + } +} + +.emoji-panel { + .keyboard-key:latched { + border-color: lighten($selected_bg_color, 5%); + background-color: $selected_bg_color; + } +} + +// suggestions +.word-suggestions { + @include fontsize($base_font_size + 1); + spacing: 12px; + min-height: 17pt; + padding: $base_padding*2; + color: $osd_fg_color; + + // each suggestion + StButton { + margin: 0 3px; + min-width: 32px; + border-radius: $base_border_radius - 2px; + padding: 0px $base_padding*3; + + @include keyboard_key(undecorated, $key_bg_color, $osd_fg_color); + + &:focus { @include keyboard_key(focus);} + &:hover { @include keyboard_key(hover, $key_bg_color, $osd_fg_color);} + &:active { @include keyboard_key(active, $key_bg_color, $osd_fg_color); } + &:checked { @include keyboard_key(checked, $key_bg_color, $osd_fg_color); } + } +} diff --git a/data/theme/gnome-shell-sass/widgets/_login-dialog.scss b/data/theme/gnome-shell-sass/widgets/_login-dialog.scss new file mode 100644 index 0000000..208165d --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_login-dialog.scss @@ -0,0 +1,201 @@ +/* Login Dialog */ + +.login-dialog-banner-view { + padding-top: 24px; + max-width: 23em; +} + +.login-dialog, +.unlock-dialog { + //reset + border: none; + background-color: transparent; + + $_gdm_bg: $system_bg_color; + + .modal-dialog-button-box { spacing: 3px; } + .modal-dialog-button { + padding: 4px 18px; + background-color: darken($system_bg_color, 3%); + border-color: darken($system_bg_color, 3%); + color: $osd_fg_color; + + $_hover_c: lighten($_gdm_bg, 5%); + &:hover, &:focus { + background-color: $_hover_c; + border-color: $_hover_c; + } + &:active { + $_active_c: darken($_gdm_bg, 5%); + background-color: $_active_c; + border-color: $_active_c; + } + &:insensitive { + @include button(insensitive); + border-color: darken($_gdm_bg, 5%); + background-color: darken($_gdm_bg, 5%); + color: transparentize($osd_fg_color, 0.3); + } + &:default { + @include button(default); + } + } + + .cancel-button, + .switch-user-button, + .login-dialog-session-list-button { + padding: 0; + border-radius: 99px; + width: $large_icon_size; + height: $large_icon_size; + border-color: darken($system_bg_color, 3%); + background-color: darken($system_bg_color, 3%); + + StIcon { icon-size: $base_icon_size; } + } + + .caps-lock-warning-label, + .login-dialog-message-warning { + color: $osd_fg_color; + } +} + +.login-dialog-logo-bin { padding: 24px 0px; } +.login-dialog-banner { color: darken($osd_fg_color,10%); } +.login-dialog-button-box { width: 23em; spacing: 5px; } +.login-dialog-message { text-align: center; } +.login-dialog-user-selection-box { padding: 100px 0px; } +.login-dialog-not-listed-label { + padding-left: 2px; + .login-dialog-not-listed-button:focus &, + .login-dialog-not-listed-button:hover & { + color: $osd_fg_color; + } +} + +.login-dialog-not-listed-label { + @extend %caption; + font-weight: bold; + color: darken($osd_fg_color,30%); + padding-top: 1em; +} + +.login-dialog-auth-list-view { -st-vfade-offset: 1em; } +.login-dialog-auth-list { + spacing: 6px; + margin-left: 2em; +} + +.login-dialog-auth-list-title { + margin-left: 2em; +} + +.login-dialog-auth-list-item { + border-radius: $base_border_radius + 4px; + padding: 6px; + color: darken($osd_fg_color,30%); + &:focus, &:selected { background-color: $selected_bg_color; color: $selected_fg_color; } +} + +.login-dialog-auth-list-label { + @include fontsize($base_font_size + 2); + font-weight: bold; + padding-left: 15px; + &:ltr { padding-left: 14px; text-align: left; } + &:rtl { padding-right: 14px; text-align: right; } +} + +.login-dialog-user-list-view { -st-vfade-offset: 1em; } +.login-dialog-user-list { + spacing: 12px; + width: 23em; + &:expanded .login-dialog-user-list-item:selected { background-color: $selected_bg_color; color: $selected_fg_color; } + &:expanded .login-dialog-user-list-item:logged-in { border-right: 2px solid $selected_bg_color; } +} + +.login-dialog-user-list-item { + border-radius: $base_border_radius + 4px; + padding: 6px; + color: darken($osd_fg_color,30%); + &:ltr .user-widget { padding-right: 1em; } + &:rtl .user-widget { padding-left: 1em; } + .login-dialog-timed-login-indicator { + height: 2px; + margin-top: 6px; + background-color: $osd_fg_color; + } + &:focus .login-dialog-timed-login-indicator { background-color: $selected_fg_color; } +} + +.user-widget-label { + color: $osd_fg_color; +} + +.user-widget.horizontal .user-widget-label { + @include fontsize($base_font_size + 2); + font-weight: bold; + padding-left: 15px; + + &:ltr { padding-left: 14px; text-align: left; } + &:rtl { padding-right: 14px; text-align: right; } +} + +.user-widget.vertical .user-widget-label { + @include fontsize($base_font_size + 5); + text-align: center; + font-weight: normal; + padding-top: 16px; +} + +.login-dialog-timed-login-indicator { + height: 2px; + background-color: darken($fg_color,40%); +} + +.login-dialog-prompt-layout { + padding-top: 24px; + padding-bottom: 12px; + spacing: $base_padding * 2; + width: 23em; +} + +.login-dialog-prompt-entry { + height: 1.5em; +} + +.login-dialog-prompt-label { + color: darken($osd_fg_color, 20%); + @include fontsize($base_font_size + 1); + padding-top: 1em; +} + +.login-dialog { + StEntry { + @if $variant=='dark' { + $_gdm_entry_bg: darken($system_bg_color, 3%); + background-color: $_gdm_entry_bg; + color: $fg_color; + } + } +} + +// Custom styling for unlock entry +.unlock-dialog { + StEntry { + border:none !important; + &:focus { + background-color: if($variant == 'light', transparentize(white, 0.9), transparentize($fg_color, 0.9)); + } + &:insensitive { + color: if($variant == 'light', transparentize(white, 0.5), transparentize($fg_color, 0.5)); + background-color: if($variant == 'light', transparentize(white, 0.95), transparentize($fg_color, 0.95)); + } + } + + .cancel-button, + .switch-user-button, + .login-dialog-session-list-button { + border-color: transparent; + background-color: transparentize($fg_color, 0.9); + } +} diff --git a/data/theme/gnome-shell-sass/widgets/_looking-glass.scss b/data/theme/gnome-shell-sass/widgets/_looking-glass.scss new file mode 100644 index 0000000..00630c3 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_looking-glass.scss @@ -0,0 +1,144 @@ +/* Looking Glass */ + +// Dialog +#LookingGlassDialog { + background-color: $osd_bg_color; + border-radius: 0 0 $modal_radius $modal_radius; + border-top-width: 0; + border: 1px solid $osd_outer_borders_color; + color: $osd_fg_color; + padding: $base_padding; + spacing: $base_padding; + box-shadow: 0 2px 4px 0 $shadow_color; + + & > #Toolbar { + border: none; + padding: $base_padding; + border-radius: 0; + background-color: transparent; + spacing: $base_padding; + + .lg-toolbar-button { + padding: $base_padding $base_padding*2; + @extend %button; + + & > StIcon { icon-size: $base_icon_size; } + } + } + + .labels { + spacing: $base_padding; + } + + .notebook-tab { + -natural-hpadding: $base_padding*2; + -minimum-hpadding: $base_padding*2; + + font-weight: bold; + padding: $base_padding $base_padding*2; + color: darken($osd_fg_color, 15%); + transition-duration: 100ms; + box-shadow:none; + border:none; + border-radius: $base_border_radius - 2px; + background-color: transparent; + + &:hover { + color: $osd_fg_color; + background-color: transparentize($osd_fg_color, 0.95); + } + + &:selected { + color: $osd_fg_color; + background-color: transparentize($osd_fg_color, 0.9); + } + } + + StBoxLayout#EvalBox { padding: 4px; spacing: $base_padding; padding: $base_padding; } + StBoxLayout#ResultsArea { spacing: $base_padding; padding: $base_padding; } +} + +.lg-dialog { + + StEntry { + background-color: transparentize(lighten($osd_bg_color, 5%), 0.4); + color: $osd_fg_color; + border-color: transparentize($osd_fg_color, 0.8); + min-height: 22px; + selection-background-color: $selected_bg_color; + selected-color: $selected_fg_color; + } + + .shell-link { + color: $link_color; + &:hover { color: lighten($link_color, 10%); } + &:active { color: darken($link_color, 10%); } + } + + .actor-link { + color: $insensitive_fg_color; + &:hover { color: lighten($insensitive_fg_color, 20%); } + &:active { color: darken($insensitive_fg_color, 20%); } + + & StIcon { icon-size: 12px; } + } +} + +.lg-completions-text { + @extend %caption; + font-style: italic; +} + +.lg-obj-inspector-title { + spacing: $base_padding; +} + +.lg-obj-inspector-button { + border: 1px solid $osd_borders_color; + padding: 4px; + border-radius: $base_border_radius; + &:hover { border: 1px solid #ffffff; } +} + +// Extensions +#lookingGlassExtensions { padding: $base_padding; } + +.lg-extensions-list { + padding: $base_padding; + spacing: $base_padding; +} + +.lg-extension { + padding: $base_padding*2; + @include card; +} + +.lg-extension-name { + @extend %heading; +} + +.lg-extension-meta { + spacing: $base_padding; +} + +// Inspector +#LookingGlassPropertyInspector { + background: $osd_bg_color; + border: 1px solid $osd_borders_color; + border-radius: $base_border_radius; + padding: $base_padding; +} + +.lg-debug-flag-button { + StLabel { padding: $base_padding, 2 * $base_padding; } + + color: $fg_color; + &:hover { color: lighten($fg_color, 20%); } + &:active { color: darken($fg_color, 20%); } +} + +.lg-debug-flags-header { + padding-top: 2 * $base_padding; + padding: $base_padding; + @extend %title_2; +} diff --git a/data/theme/gnome-shell-sass/widgets/_message-list.scss b/data/theme/gnome-shell-sass/widgets/_message-list.scss new file mode 100644 index 0000000..5196661 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_message-list.scss @@ -0,0 +1,180 @@ +/* Message List */ +// a.k.a. notifications in the menu + +// main list +.message-list { + width: 29em; + border: solid $borders_color; + + // padding and margins to account for scrollbar + &:ltr {margin-left: 0; margin-right: $base_margin; padding-right: $base_padding; border-right-width: 1px; } + &:rtl {margin-right: 0; margin-left: $base_margin; padding-left: $base_padding; border-left-width: 1px; } + + .message-list-placeholder { + @extend %title_2; + color: transparentize($insensitive_fg_color, .5); + + // icon size and color + > StIcon { + icon-size: $base_icon_size*3; // 48px + margin-bottom: $base_margin*3; + -st-icon-style: symbolic; + } + } +} + +.message-list-sections { + spacing: $base_padding; + margin: 0; + padding-bottom: $base_padding; + + // to account for scrollbar + &:ltr {margin-right: $base_margin * 3; } + &:rtl {margin-left: $base_margin * 3;} +} + +.message-list-section, +.message-list-section-list { + spacing: $base_padding; +} + +// do-not-disturb + clear button +.message-list-controls { + // NOTE: remove the padding if notification_bubble could remove margin for drop shadow + padding: $base_padding; + spacing: $base_padding; + @extend %heading; + + .dnd-button { + // We need this because the focus outline isn't inset like for the buttons + // so the dnd button would grow when it gets focus if we didn't change only + // its color when focusing. + border-width: 2px; + border-color: transparent; + border-radius: 32px; + border-style: solid; + + &:focus { + border-color: transparentize($selected_bg_color, 0.4); + } + } +} + +// message bubbles +.message { + @include card; + + // icon container + .message-icon-bin { + padding: ($base_padding * 3); + + &:ltr {padding-right:$base_padding;} + &:rtl {padding-left:$base_padding;} + + // icon size and color + > StIcon { + icon-size: $large_icon_size; // 32px + -st-icon-style: symbolic; + } + + // fallback + > .fallback-app-icon { + width: $base_icon_size; + height: $base_icon_size; + } + } + + // content + .message-content { + spacing: 4px; + padding: ($base_padding*1.5); + margin-bottom: $base_margin*2; + } + + // title + .message-title { + font-weight: bold; + /* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */ + padding-top: 0.57em; + } + + // secondary container in title box + .message-secondary-bin { + padding: 0 $base_margin * 2; + + // notification time stamp + > .event-time { + color: transparentize($fg_color, 0.5); + @include fontsize($base_font_size - 2); + /* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */ + padding-bottom: 0.13em; + + &:ltr { text-align: right }; + &:rtl { text-align: left }; + } + } + + // close button + .message-close-button { + color: $fg_color; + background-color: transparentize($fg_color, 0.9); + border-radius: 99px; + padding: $base_padding - 1px; + margin: 1px; + &:hover {background-color: transparentize($fg_color, 0.8);} + &:active {background-color: transparentize($fg_color, 0.9);} + + & StIcon { icon-size: $base_icon_size; } + } + + // body + .message-body {color: darken($fg_color, 10%);} +} + +// URLs in messages +.url-highlighter { + link-color: $link_color; +} + +/* Media Controls */ +.message-media-control { + padding: 0 $base_padding*3; + margin: $base_padding*2 0; + border-radius: $base_border_radius; + color: $fg_color; + + // colors are lightened since the media controls are in a card + &:hover { + background-color: lighten($hover_bg_color, 5%); + color: $fg_color; + } + + &:active { + background-color: lighten($active_bg_color, 5%); + color: $fg_color; + } + + &:insensitive { color: lighten($insensitive_fg_color, 5%); } + + // fix margin for last button + &:last-child:ltr { margin-right: $base_margin*3; } + &:last-child:rtl { margin-left: $base_margin*3; } + + & StIcon { icon-size: $base_icon_size; } +} + +// album-art +.media-message-cover-icon { + icon-size: $base_icon_size*3 !important; // 48px + border-radius: $base_border_radius; + + // when there is no artwork + &.fallback { + color: darken($fg_color, 17%); + background-color: $bg_color; + border: 1px solid transparent; + border-radius: $base_border_radius; + icon-size: $large_icon_size !important; // 32px + padding: ($base_padding*2 + 2); // 16px + } +} diff --git a/data/theme/gnome-shell-sass/widgets/_misc.scss b/data/theme/gnome-shell-sass/widgets/_misc.scss new file mode 100644 index 0000000..7409278 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_misc.scss @@ -0,0 +1,65 @@ +// Rubberband for select-area screenshots +.select-area-rubberband { + background-color: transparentize($selected_bg_color,0.7); + border: 1px solid $selected_bg_color; +} + +// User icon +.user-icon { + background-size: contain; + color: $osd_fg_color; + border-radius: 99px; + icon-size: $base_icon_size * 4; // 64px + &:hover { + color: lighten($osd_fg_color,30%); + } + + & StIcon { + background-color: transparentize($osd_fg_color,0.95); + border-radius: 99px; + padding: $base_padding * 2 ; // 12px + width: $base_icon_size * 2.5; height: $base_icon_size * 2.5; // 40px; + } + + &.user-avatar { + border: 2px $osd_fg_color; + } +} + +.user-widget.vertical .user-icon { + icon-size: $base_icon_size * 6; // 128px + + & StIcon { + padding: $base_padding * 3 + 2px; // 20px + padding-top: $base_padding * 3; // 18 px + padding-bottom: $base_padding * 3 + 4px; // 22px + width: $base_icon_size * 5.5; height: $base_icon_size * 5.5; // 88px; + } +} + +.lightbox { background-color: black; } +.flashspot { background-color: white; } + + +// Hidden +.hidden { color: rgba(0,0,0,0);} + +// Caps-lock warning +.caps-lock-warning-label { + text-align: center; + padding-bottom: 8px; + @extend %caption; + color: $warning_color; +} + +/* Workspace animation */ + +.workspace-animation { + background-color: $system_bg_color; +} + +/* Tiled window previews */ +.tile-preview { + background-color: transparentize($selected_bg_color,0.5); + border: 1px solid $selected_bg_color; +} diff --git a/data/theme/gnome-shell-sass/widgets/_notifications.scss b/data/theme/gnome-shell-sass/widgets/_notifications.scss new file mode 100644 index 0000000..86480a8 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_notifications.scss @@ -0,0 +1,61 @@ +/* Notifications & Message Tray */ + +$notification_banner_height: 64px; +$notification_banner_width: 34em; +$notification_banner_radius: $base_border_radius*1.5; + +// Banner notifications +.notification-banner { + min-height: $notification_banner_height; + width: $notification_banner_width; + box-shadow: 0 2px 4px 2px $shadow_color; + border-radius: $notification_banner_radius; + margin: $base_margin; + + .notification-actions { + spacing: 0; + } + + .notification-button { + @extend %bubble_button; + } +} + +// counter +.summary-source-counter { + font-size: $base_font_size - 1pt; + font-weight: bold; + height: 1.6em; + width: 1.6em; + -shell-counter-overlap-x: 3px; + -shell-counter-overlap-y: 3px; + background-color: $selected_bg_color; + color: $selected_fg_color; + border: 2px solid $fg_color; + box-shadow: 0 2px 2px rgba(0,0,0,0.5); + border-radius: 0.9em; // should be 0.8 but whatever; wish I could do 50%; +} + +// chat bubbles +.chat-body { spacing: 5px; } +.chat-response { margin: 5px; } +.chat-log-message { color: darken($fg_color,10%); } +.chat-new-group { padding-top: 1em; } +.chat-received { + padding-left: 4px; + &:rtl { padding-left: 0px; padding-right: 4px; } +} + +.chat-sent { + padding-left: 18pt; + color: lighten($fg_color, 15%); + &:rtl { padding-left: 0; padding-right: 18pt; } +} + +.chat-meta-message { + padding-left: 4px; + @include fontsize($base_font_size - 2); + font-weight: bold; + color: lighten($fg_color,18%); + &:rtl { padding-left: 0; padding-right: 4px; } +} diff --git a/data/theme/gnome-shell-sass/widgets/_osd.scss b/data/theme/gnome-shell-sass/widgets/_osd.scss new file mode 100644 index 0000000..a8d1a55 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_osd.scss @@ -0,0 +1,64 @@ +/* OSD */ + +$osd_levelbar_height:6px; + +.osd-window { + @extend %osd_panel; + @extend %heading; + text-align: center; + font-weight: bold; + spacing: $base_padding * 2; // 12px + padding: $base_padding * 2 $base_padding * 3; + & > * { spacing: 8px; } + margin-bottom: 4em; + + StIcon { icon-size:$large_icon_size;} + + StLabel { + &:ltr { margin-right: 6px; } + &:rtl { margin-left: 6px; } + } + + .level { + margin-bottom: 4px; + &:first-child { margin-bottom: 0px; } + + height: $osd_levelbar_height; + min-width:$base_icon_size * 10; + -barlevel-height: $osd_levelbar_height; + -barlevel-background-color: transparentize($osd_fg_color, if($variant=='light', 0.7, 0.9)); + -barlevel-active-background-color: $osd_fg_color; + -barlevel-overdrive-color: $destructive_color; + -barlevel-overdrive-separator-width: 3px; + &:ltr { margin-right: 6px; } + &:rtl { margin-left: 6px; } + } +} + +// Monitor number label +.osd-monitor-label { + @extend %osd_panel; + border-radius: $modal_radius; + font-size: 3em; + font-weight: bold; + margin: $base_margin * 3; + text-align: center; + min-width: 1.3em; +} + +/* Pad OSD */ +.pad-osd-window { + padding: 32px; + background-color: transparentize(#000, 0.2); + + .pad-osd-title-box { spacing: 12px; } + .pad-osd-title-menu-box { spacing: 6px; } +} + +.combo-box-label { + width: 15em; +} + +.resize-popup { + @extend %osd_panel; +} diff --git a/data/theme/gnome-shell-sass/widgets/_overview.scss b/data/theme/gnome-shell-sass/widgets/_overview.scss new file mode 100644 index 0000000..d8e70ea --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_overview.scss @@ -0,0 +1,13 @@ +/* OVERVIEW */ + +.controls-manager, .secondary-monitor-workspaces { + spacing: $base_padding * 2; +} + +#overviewGroup { + background-color: $system_bg_color; +} + +.overview-controls { + padding-bottom: 32px; +} diff --git a/data/theme/gnome-shell-sass/widgets/_panel.scss b/data/theme/gnome-shell-sass/widgets/_panel.scss new file mode 100644 index 0000000..fd3e7d2 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_panel.scss @@ -0,0 +1,233 @@ +/* Top Bar */ +// a.k.a. the panel + +$panel_bg_color: #000; +$panel_fg_color: if($variant == 'light', lighten($bg_color, 10%), darken($fg_color, 5%)); +$panel_height: 2.2em; +$panel_transition_duration: 250ms; // same as the overview transition duration + +#panel { + background-color: $panel_bg_color; + font-weight: bold; + height: $panel_height; + @extend %numeric; + transition-duration: $panel_transition_duration; + + // transparent panel on lock & login screens + &.unlock-screen, + &.login-screen, + &:overview { + background-color: transparent; + } + + // panel menus + .panel-button { + font-weight: bold; + color: $panel_fg_color; + -natural-hpadding: $base_padding * 2; + -minimum-hpadding: $base_padding; + transition-duration: 150ms; + border: 3px solid transparent; + border-radius: 99px; + + &.clock-display { + .clock { + transition-duration: 150ms; + border: 3px solid transparent; + border-radius: 99px; + } + } + + &.screen-recording-indicator { + box-shadow: inset 0 0 0 100px $screenshot_ui_button_red; + } + &.screen-sharing-indicator { + box-shadow: inset 0 0 0 100px $warning_color; + StBoxLayout { margin: 0 $base_padding; } + } + + &.screen-recording-indicator, + &.screen-sharing-indicator { + StBoxLayout { + spacing: $base_padding; + } + + StIcon { + icon-size: $base_icon_size; + } + } + + &:active, &:overview, &:focus, &:checked { + box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.8); + + // The clock display needs to have the background on .clock because + // we want to exclude the do-not-disturb indicator from the background + &.clock-display { + box-shadow: none; + + .clock { + box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.8); + } + } + + &.screen-recording-indicator { + box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.15); + } + &.screen-sharing-indicator { + box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.15); + } + } + + &:hover { + box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.85); + &.clock-display { + box-shadow: none; + .clock { + box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.85); + } + } + + &.screen-recording-indicator { + box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.1); + } + &.screen-sharing-indicator { + box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.1); + } + } + + &:active:hover, &:overview:hover, &:focus:hover, &:checked:hover { + box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.75); + &.clock-display { + box-shadow: none; + .clock { + box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.75); + } + } + + &.screen-recording-indicator { + box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.2); + } + &.screen-sharing-indicator { + box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.2); + } + } + + // status area icons + .system-status-icon { + icon-size: $base_icon_size; + padding: $base_padding - 1px; + margin: 0 $base_margin; + } + + .panel-status-indicators-box .system-status-icon, + .panel-status-menu-box .system-status-icon { + margin: 0; + } + + // app menu icon + .app-menu-icon { + -st-icon-style: symbolic; + // dimensions of the icon are hardcoded + } + + &#panelActivities { + -natural-hpadding: $base_padding * 3; + } + } + + &.unlock-screen, + &.login-screen, + &:overview { + .panel-button { + &:active, &:overview, &:focus, &:checked { + box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.15); + + &.clock-display { + box-shadow: none; + + .clock { + box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.15); + } + } + + &.screen-recording-indicator { + box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.15); + } + &.screen-sharing-indicator { + box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.15); + } + } + + &:hover { + box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.10); + &.clock-display { + box-shadow: none; + .clock { + box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.10); + } + } + + &.screen-recording-indicator { + box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.1); + } + &.screen-sharing-indicator { + box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.1); + } + } + + &:active:hover, &:overview:hover, &:focus:hover, &:checked:hover { + box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.2); + &.clock-display { + box-shadow: none; + .clock { + box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.2); + } + } + + &.screen-recording-indicator { + box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.2); + } + &.screen-sharing-indicator { + box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.2); + } + } + } + } + + .panel-status-indicators-box, + .panel-status-menu-box { + spacing: 2px; + } + + // spacing between power icon and (optional) percentage label + .power-status.panel-status-indicators-box { + spacing: 0; + } + + // indicator for active + .screencast-indicator, + .remote-access-indicator { color: $warning_color; } +} + +// App Menu +#appMenu { + spacing: $base_padding; + .label-shadow { color: transparent; } +} + +#appMenu .panel-status-menu-box { + padding: 0 $base_padding; + spacing: $base_padding; +} + + +// Clock + +.clock-display-box { + spacing: 2px; + + .clock { + padding-left: $base_padding * 2; + padding-right: $base_padding * 2; + } +} diff --git a/data/theme/gnome-shell-sass/widgets/_popovers.scss b/data/theme/gnome-shell-sass/widgets/_popovers.scss new file mode 100644 index 0000000..138a4fc --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_popovers.scss @@ -0,0 +1,182 @@ +/* Popovers/Menus */ + +// the popover itself +.popup-menu-boxpointer { + -arrow-rise: $base_margin+2px; // distance from the panel & screen edge +} + +// container of the popover menu +.popup-menu { + min-width: 15em; + color: $fg_color; + + //.popup-status-menu-item {font-weight: normal; color: pink;} //dunno what that is + &.panel-menu { + margin-bottom: 1.75em; // so it doesn't touch the bottom of the screen + } +} + +// popover content +.popup-menu-content { + padding: $base_padding; + border-radius: $modal_radius*1.25; + border: 1px solid $borders_edge; + box-shadow: 0 2px 4px 0 $shadow_color; + background-color: $bg_color; +} + +// menu items +.popup-menu-item { + padding: $base_padding*1.5 $base_padding*2; + border-radius: $base_border_radius*1.5; + spacing: $base_padding; + transition-duration: 100ms; + background-color: transparent; + + &:ltr {padding-left: $base_padding;} + &:rtl {padding-right: $base_padding;} + + &:focus, &:hover { + background-color: $hover_bg_color !important; + &:active { background-color: $active_bg_color !important;} + } + + &:checked {background-color: $checked_bg_color !important;} + + &:checked { + margin-bottom: 0; + box-shadow: inset 0 -1px 0 0 darken($checked_bg_color, 5%); + border-radius: $base_border_radius $base_border_radius 0 0; + &:focus,&:hover { background-color: lighten($checked_bg_color, 3%) !important;} + &:active { background-color: lighten($checked_bg_color, 5%) !important;} + } + + &:active { + background-color: lighten($active_bg_color, 5%); + color: $active_fg_color; + } + + &:insensitive {color: transparentize($fg_color,0.5);} + + // add margin to switches in menu items + .toggle-switch { + &:ltr { margin-left: $base_margin;} + &:rtl { margin-right: $base_margin;} + } +} + + +// all other graphical elements (sliders) +.popup-inactive-menu-item { + color: $fg_color; + &:insensitive { color: $insensitive_fg_color; } +} + +// symbolic icons in popover +.popup-menu-arrow, +.popup-menu-icon { + icon-size: 16px !important; // for some reason the variable doesn't work here +} + +.popup-menu-arrow { +} + + +// popover submenus +.popup-sub-menu { + background-color: $checked_bg_color; + border-radius: 0 0 $base_border_radius $base_border_radius; + + .popup-menu-ornament { + min-width: $base_icon_size !important; + } + + // submenu specific styles + .popup-menu-item { + border-radius: 0; + margin: 0; + + &:last-child { + border-radius: 0 0 $base_border_radius $base_border_radius; + } + + &:focus,&:hover { background-color: $hover_bg_color !important;} + &:checked { + background-color: $checked_bg_color !important; + &:focus,&:hover { background-color: lighten($checked_bg_color, 8%) !important;} + } + &:active { background-color: $active_bg_color !important;} + } + + .popup-menu-section { + .popup-menu-item:last-child { + &:hover,&:focus { border-radius: 0;} + } + &:last-child .popup-menu-item:last-child { + border-radius: 0 0 $base_border_radius $base_border_radius; + } + } +} + +// container for radio and check boxes +.popup-menu-ornament { + @extend %heading; + width: 1.2em; + text-align: center !important; + + &:ltr { text-align: right;} + &:rtl { text-align: left;} +} + +// separator +.popup-separator-menu-item { + margin: 6px 0; + padding:0 !important; + &:ltr { margin-right: $base_margin;} + &:rtl { margin-left: $base_margin;} + + .popup-separator-menu-item-separator { + height: 1px; //not really the whole box + background-color: $borders_color; + } + + .popup-menu-ornament { + width: 0 !important; + } + + // separators in submenus + .popup-sub-menu & { + background-color: transparent; + + // account for ornament + &:ltr { margin-right: 2.5em;} + &:rtl { margin-left: 2.5em;} + + .popup-separator-menu-item-separator { + background-color: lighten($borders_color, 7%); + } + } +} + +// desktop background menu +.background-menu { + -boxpointer-gap: 0px; + -arrow-rise: 0px; // hide the beak on the menu +} + +// right-click (and panel) app menu +.app-menu { + max-width: 27.25em; + + // this is unneeded at the top-level in this menu, hide it + .popup-menu-ornament { width: 0 !important; } + + .popup-inactive-menu-item:first-child { + // "Open Windows" label + > StLabel { + @extend %caption_heading; + &:ltr {margin-right: $base_margin*2;} + &:rtl {margin-left: $base_margin*2;} + } + } +} diff --git a/data/theme/gnome-shell-sass/widgets/_quick-settings.scss b/data/theme/gnome-shell-sass/widgets/_quick-settings.scss new file mode 100644 index 0000000..b429a2d --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_quick-settings.scss @@ -0,0 +1,118 @@ +.quick-settings { + padding: $base_padding*3; + border-radius: $modal_radius*2.25; + + .icon-button, .button { + padding: $base_padding*1.75; + } +} + +.quick-settings-grid { + spacing-rows: $base_padding*2; + spacing-columns: $base_padding*2; +} + +.quick-toggle { + border-radius: 99px; + min-width: 12em; + max-width: 12em; + min-height: 40px; + border:none; + + &:checked { @include button(default); } + + & > StBoxLayout { spacing: $base_padding; } + + /* Move padding into the box; this is to allow menu arrows + to extend to the border */ + &.button { padding: 0; } + & > StBoxLayout { padding: 0 $base_padding*2; } + &:ltr > StBoxLayout { padding-left: $base_padding*2.5; } + &:rtl > StBoxLayout { padding-right: $base_padding*2.5; } + + .quick-toggle-label { font-weight: bold; } + .quick-toggle-icon, .quick-toggle-arrow { icon-size: $base_icon_size; } +} + +.quick-menu-toggle { + &:ltr > StBoxLayout { padding-right: 0; } + &:rtl > StBoxLayout { padding-left: 0; } + + & .quick-toggle-arrow { + background-color: transparentize($fg_color, 0.9); + padding: $base_padding $base_padding*1.75; + + &:ltr { border-radius: 0 99px 99px 0; } + &:rtl { border-radius: 99px 0 0 99px; } + } +} + +.quick-slider { + & > StBoxLayout { spacing: $base_padding; } + + .slider-bin { + &:focus {@include button(focus);} + min-height: 16px; // slider size + padding: $base_padding; + border-radius: 99px; + } + .quick-toggle-icon { + icon-size: $base_icon_size; + + &:ltr { margin-left: $base_padding; } + &:rtl { margin-right: $base_padding; } + } +} + +.quick-toggle-menu { + background-color: $card_bg_color; + border-radius: $base_border_radius*3; + padding: $base_padding*2; + margin: $base_padding*2 $base_padding*3 0; + + .popup-menu-item > StIcon { -st-icon-style: symbolic; } + + & .header { + spacing-rows: 0.5 * $base_padding; + spacing-columns: $base_padding*2; + padding-bottom: 2 * $base_padding; + + & .icon { + icon-size: $base_icon_size*1.5; // a non-standard symbolic size but ok + border-radius: 999px; + padding: 1.5 * $base_padding; + background-color: lighten($bg_color, 10%); + + &.active { background-color: $selected_bg_color; } + } + + & .title { + @extend %title_3; + } + + & .subtitle { + @extend %caption_heading; + } + } +} + +.quick-toggle-menu-container { +} + +.quick-settings-system-item { + & > StBoxLayout { spacing: 2 * $base_padding; } + + & .power-item { + min-height: 0; + min-width: 0; + + &:insensitive { + @include button(normal); + background-color: transparent; + } + } +} + +.nm-network-item { + .wireless-secure-icon { icon-size: 0.5 * $base_icon_size; } +} diff --git a/data/theme/gnome-shell-sass/widgets/_screen-shield.scss b/data/theme/gnome-shell-sass/widgets/_screen-shield.scss new file mode 100644 index 0000000..a459ba1 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_screen-shield.scss @@ -0,0 +1,78 @@ +/* Screen Shield */ + +.unlock-dialog-clock { + color: white; + font-weight: 300; + text-align: center; + spacing: 24px; + padding-bottom: 2.5em; +} + +.unlock-dialog-clock-time { + font-size: 64pt; + padding-top: 42px; + @extend %numeric; +} + +.unlock-dialog-clock-date { + font-size: 16pt; + font-weight: normal; +} + +.unlock-dialog-clock-hint { + font-weight: normal; + padding-top: 48px; +} + +.unlock-dialog-notifications-container { + margin: 12px; + spacing: 6px; + width: 23em; + background-color: transparent; + + .summary-notification-stack-scrollview { + padding-top: 0; + padding-bottom: 0; + } + + .notification, + .unlock-dialog-notification-source { + padding: 12px 16px; + border: none; + background-color: transparentize($osd_fg_color,0.9); + color: $osd_fg_color; + border-radius: $modal_radius; + + &.critical { background-color: transparentize($osd_fg_color,0.8) } + } +} + +.unlock-dialog-notification-label { + padding-left: 12px; + padding-right: 0; + &:rtl { padding-right: 12px; padding-left: 0; } +} + +.unlock-dialog-notification-count-text { + font-weight: bold; + padding: 0 12px; + color: $osd_fg_color; + background-color: transparentize($osd_fg_color, 0.9); + border-radius: 99px; +} + +.screen-shield-background { //just the shadow, really + background: black; + box-shadow: 0 2px 4px rgba(0,0,0,0.6); +} + +#lockDialogGroup { + background-color: $system_bg_color; +} +#unlockDialogNotifications { + StButton#vhandle, StButton#hhandle { + background-color: transparentize($bg_color,0.7); + &:hover, &:focus { background-color: transparentize($bg_color,0.5); } + &:active { background-color: transparentize($selected_bg_color,0.5); } + } +} diff --git a/data/theme/gnome-shell-sass/widgets/_screenshot.scss b/data/theme/gnome-shell-sass/widgets/_screenshot.scss new file mode 100644 index 0000000..150f273 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_screenshot.scss @@ -0,0 +1,204 @@ +// Screenshot UI +.icon-label-button-container { + spacing: $base_padding; + @extend %caption; + + StIcon { icon-size: 32px;} +} + +$screenshot_ui_panel_padding: $base_padding*3; +$screenshot_ui_shot_cast_margin: 21px; +$screenshot_ui_panel_border_radius: $modal_radius + $screenshot_ui_shot_cast_margin; +$screenshot_ui_shot_cast_spacing: 3px; + +$screenshot_ui_button_red: $error_color; + +.screenshot-ui-panel { + @extend %osd_panel; + border-radius: $screenshot_ui_panel_border_radius; + padding: $screenshot_ui_panel_padding; + // Reduce the bottom padding a little to accommodate the large capture button. + padding-bottom: $screenshot_ui_panel_padding - 6px; + margin-bottom: 4em; + spacing: $base_padding * 2; +} + +.screenshot-ui-close-button { + @extend .window-close; // copy window close button + padding: $base_padding !important; // but with more padding + margin-top: 12px; + box-shadow: 0 2px 4px 0 $shadow_color; + &.left { margin-left: 12px;} + &.right { margin-right: 12px;} +} + +.screenshot-ui-type-button { + @extend %osd_button; + min-width: 48px; + padding: $base_padding * 2 $base_padding * 3 !important; + border-radius: $screenshot_ui_panel_border_radius - $screenshot_ui_panel_padding; +} + +.screenshot-ui-capture-button { + width: 36px; + height: 36px; + border-radius: 99px; + border: 4px $osd_fg_color; + padding: 4px; + + .screenshot-ui-capture-button-circle { + background-color: $osd_fg_color; + transition-duration: 200ms; + &:hover, &:focus { background-color: $hover_bg_color;} + border-radius: 99px; + } + + &:hover, &:focus { + .screenshot-ui-capture-button-circle { + background-color: darken($osd_fg_color, 15%); + } + } + + &:active { + .screenshot-ui-capture-button-circle { + background-color: darken($osd_fg_color, 50%); + } + } + + &:cast { + .screenshot-ui-capture-button-circle { + background-color: $screenshot_ui_button_red; + } + &:hover, &:focus { + .screenshot-ui-capture-button-circle { + background-color: lighten($screenshot_ui_button_red, 5%); + } + } + &:active { + .screenshot-ui-capture-button-circle { + background-color: darken($screenshot_ui_button_red, 7%); + } + } + } +} + +.screenshot-ui-shot-cast-container { + background-color: lighten($osd_bg_color,5%); + border-radius: $modal_radius; + padding: $screenshot_ui_shot_cast_spacing; + spacing: $screenshot_ui_shot_cast_spacing; + + &:ltr { margin-left: $screenshot_ui_shot_cast_margin - $screenshot_ui_panel_padding;} + &:rtl { margin-right: $screenshot_ui_shot_cast_margin - $screenshot_ui_panel_padding;} +} + +.screenshot-ui-shot-cast-button { + padding: $base_padding $base_padding*2; + background-color: transparent; + &:hover, &:focus { background-color: lighten($osd_bg_color, 10%);} + &:active { background-color: lighten($active_bg_color,5%);} + &:checked { background-color: white;color: black;} + &:insensitive { color: transparentize($osd_fg_color, 0.5);} + + border-radius: $modal_radius - $screenshot_ui_shot_cast_spacing; + + StIcon { icon-size: $base_icon_size;} +} + +.screenshot-ui-show-pointer-button { + @extend %osd_button; + border-radius: 99px; + padding: $base_padding * 2 !important; + StIcon { icon-size: $base_icon_size;} +} + +.screenshot-ui-area-indicator-shade { + background-color: rgba(0,0,0,.3); +} + +.screenshot-ui-area-selector { + .screenshot-ui-area-indicator-shade { + background-color: rgba(0,0,0,.5); + } + + .screenshot-ui-area-indicator-selection { + border: 2px white; + } +} + +.screenshot-ui-area-selector-handle { + border-radius: 99px; + background-color: white; + box-shadow: 0 1px 3px 2px rgba(0,0,0,0.2); + width: 24px; + height: 24px; +} + +.screenshot-ui-window-selector { + background-color: $system_bg_color; + + .screenshot-ui-window-selector-window-container { + margin: 100px; + } + + &:primary-monitor { + .screenshot-ui-window-selector-window-container { + // Make some room for the panel. + margin-bottom: 200px; + } + } +} + +.screenshot-ui-window-selector-window-border { + transition-duration: 200ms; + border-radius: $modal_radius; + border: 6px transparent; +} + +.screenshot-ui-window-selector-check { + transition-duration: 200ms; + color: transparent; + border-radius: 99px; + border-width: 12px; + icon-size: 24px; +} + +.screenshot-ui-window-selector-window { + &:hover { + .screenshot-ui-window-selector-window-border { + border-color: darken($selected_bg_color, 15%); + } + } + &:checked { + .screenshot-ui-window-selector-window-border { + border-color: $selected_bg_color; + background-color: transparentize($selected_bg_color, 0.8); + } + + .screenshot-ui-window-selector-check { + color: $selected_fg_color; + background-color: $selected_bg_color; + } + } +} + +.screenshot-ui-screen-selector { + transition-duration: 200ms; + background-color: rgba(0,0,0,.5); + + &:hover { background-color: rgba(0,0,0,.3);} + &:active { background-color: rgba(0,0,0,.7);} + &:checked { + background-color: transparent; + border: 2px white; + } +} + +.screenshot-ui-tooltip { + color: $osd_fg_color; + background-color: $osd_bg_color; + border-radius: 99px; + padding: $base_padding $base_padding * 2; + text-align: center; + -y-offset: 24px; +} diff --git a/data/theme/gnome-shell-sass/widgets/_scrollbars.scss b/data/theme/gnome-shell-sass/widgets/_scrollbars.scss new file mode 100644 index 0000000..77cde65 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_scrollbars.scss @@ -0,0 +1,29 @@ +/* Scrollbars */ + +StScrollView { + &.vfade { -st-vfade-offset: 68px; } + &.hfade { -st-hfade-offset: 68px; } +} + +StScrollBar { + padding: 0; + + StScrollView & { + min-width: 8px; + min-height: 8px; + } + + StBin#trough { + border-radius: 0; + background-color: transparent; + } + + StButton#vhandle, StButton#hhandle { + border-radius: 8px; + background-color: mix($fg_color, $bg_color, 30%); + border: 3px solid transparent; //would be nice to margin or at least to transparent + transition: 500ms all ease; + &:hover {background-color: mix($fg_color, $bg_color, 50%);} + &:active {background-color: mix($fg_color, $bg_color, 40%);} + } +} diff --git a/data/theme/gnome-shell-sass/widgets/_search-entry.scss b/data/theme/gnome-shell-sass/widgets/_search-entry.scss new file mode 100644 index 0000000..faca50e --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_search-entry.scss @@ -0,0 +1,26 @@ +// Search entry + +$search_entry_width: 320px; +$search_entry_height: 36px; + +%search_entry, +.search-entry { + border-radius: $search_entry_height * 0.5; // half the height + + margin-top: $base_padding * 2; + margin-bottom: $base_padding; + padding: $base_padding+1 $base_padding+3; + width: $search_entry_width; + + @include entry(normal); + &:hover { @include entry(hover);} + &:focus { @include entry(focus);} + &:insensitive { @include entry(insensitive);} + + .search-entry-icon { + color: inherit; + icon-size: $base_icon_size; + margin-top: 2px; // center vertically + padding: 0 4px; + } +} diff --git a/data/theme/gnome-shell-sass/widgets/_search-results.scss b/data/theme/gnome-shell-sass/widgets/_search-results.scss new file mode 100644 index 0000000..644c53d --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_search-results.scss @@ -0,0 +1,96 @@ +/* Search */ + +// search overview container +#searchResults { + margin: 0 $base_margin; +} + +#searchResultsContent { + max-width: 1072px; +} + +// search results sections "the boxes" +.search-section { + // This should be equal to #searchResultsContent spacing + spacing: $base_padding*3; + + // separator (unstyled) + .search-section-separator { + height: $base_margin*2; // use it as a spacer + background-color: transparent; + } +} + +// content +.search-section-content { + background-color: lighten($system_bg_color, 5%); + border-radius: $modal_radius*1.5; + border: 1px solid $osd_outer_borders_color; + color: $osd_fg_color; + padding: $base_padding*2; + margin:0 $base_margin*3; +} + +%search_section_content_item { + @include tile_button($osd_fg_color); + border-radius: $base_border_radius+3px; +} + +// "no results" text +.search-statustext { + @extend %title_1; +} + +.grid-search-results { + spacing: $base_padding*5; + margin:0 $base_margin*3; +} + +// Search results with icons +.grid-search-result { + @extend .app-well-app; +} + +// search result provider +.search-provider-icon { + @extend %search_section_content_item; + &:ltr {margin-right: $base_margin;} + &:rtl {margin-left: $base_margin;} + + // content + .list-search-provider-content { + spacing: $base_padding * 2; + + // provider labels + .list-search-provider-details { + width: 120px; + color: $osd_fg_color; + } + } +} + +// search results list +.list-search-results { + spacing: $base_padding; +} + +// search result listitem +.list-search-result { + @extend %search_section_content_item; + + // content + .list-search-result-content { + spacing: $base_padding; + } + + // list item title (with leading icon) + .list-search-result-title { + spacing: $base_padding * 2; + // font-weight: bold; + } + + // list item description + .list-search-result-description { + color: $osd_insensitive_fg_color; + } +} diff --git a/data/theme/gnome-shell-sass/widgets/_slider.scss b/data/theme/gnome-shell-sass/widgets/_slider.scss new file mode 100644 index 0000000..500249a --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_slider.scss @@ -0,0 +1,22 @@ +/* Slider */ + +$slider_size: 16px; + +.slider { + // slider trough + -barlevel-height: 4px; + -barlevel-background-color: if($variant == 'light', transparentize($fg_color, 0.6), transparentize($fg_color, 0.8)); //background of the trough + -barlevel-border-width: 2px; + -barlevel-border-color: transparent; // trough border color + // fill style + -barlevel-active-background-color: $selected_bg_color; + -barlevel-active-border-color: transparent; + // overfill style (red in this case) + -barlevel-overdrive-color: $destructive_color; + -barlevel-overdrive-border-color: transparent; //trough border when red; + -barlevel-overdrive-separator-width:1px; + // slider handler + -slider-handle-radius: $slider_size * 0.5; // half the size of the size + -slider-handle-border-width: 0; + -slider-handle-border-color: transparent; // because 0 width +} diff --git a/data/theme/gnome-shell-sass/widgets/_switcher-popup.scss b/data/theme/gnome-shell-sass/widgets/_switcher-popup.scss new file mode 100644 index 0000000..cec6c9a --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_switcher-popup.scss @@ -0,0 +1,72 @@ +/* App Switcher */ + +// same as dash +$switcher_padding: $base_padding + 4px; // 10px +$switcher_border_radius: $modal_radius + 8px; + + +// the full screen container of the switcher +.switcher-popup { + padding: 0; + spacing: $base_padding * 4; +} + +// switcher onscreen panel +.switcher-list { + @extend %osd_panel; + padding: $switcher_padding; + border-radius: $switcher_border_radius; + box-shadow: 0 8px 8px 0 rgba(0,0,0,0.1); + + // container for items in list + .switcher-list-item-container { + spacing: $base_padding * 2; + } + + // each item in the list + .item-box { + @include tile_button($osd_fg_color); + // override over style so mouse doesn't steal focus + &:hover {background: none;} + } + + .separator { + width: 1px; + background: $borders_color; + } + + // container of thumbnails + .thumbnail-box { + padding: 2px; + spacing: $base_padding; + } + + // window thumbnail itself + .thumbnail { + width: 256px; // equal to THUMBNAIL_DEFAULT_SIZE in altTab.js + border-radius:$base_border_radius; + } +} + +// arrow if app has multiple windows +.switcher-arrow { + border-color: transparentize($osd_fg_color, 0.2); + color: transparentize($osd_fg_color, 0.2); + + &:highlighted { + border-color: $osd_fg_color; + color: $osd_fg_color; + } +} + +// Input Source Switcher +.input-source-switcher-symbol { + font-size: 34pt; + width: 96px; + height: 96px; +} + +// Window cycler highlight +.cycler-highlight { + border: 5px solid $selected_bg_color; +} diff --git a/data/theme/gnome-shell-sass/widgets/_switches.scss b/data/theme/gnome-shell-sass/widgets/_switches.scss new file mode 100644 index 0000000..b6d8fe8 --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_switches.scss @@ -0,0 +1,16 @@ +/* Switches */ + +// these are equal to the size of the SVG assets +$switch_height: 26px; +$switch_width: 48px; + +.toggle-switch { + color: $fg_color; + height: $switch_height; + width: $switch_width; + background-size: contain; + background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-off-light.svg"),url("resource:///org/gnome/shell/theme/toggle-off.svg")); + &:checked { + background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-on-light.svg"),url("resource:///org/gnome/shell/theme/toggle-on.svg")); + } +} diff --git a/data/theme/gnome-shell-sass/widgets/_window-picker.scss b/data/theme/gnome-shell-sass/widgets/_window-picker.scss new file mode 100644 index 0000000..9067a6d --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_window-picker.scss @@ -0,0 +1,53 @@ +/* Window Picker */ + +$window_picker_spacing: $base_padding; // 6px +$window_picker_padding: $base_padding * 2; // 12px + +$window_thumbnail_label_color: transparentize($osd_bg_color, 0.4); + +$window_close_button_color: transparentize(lighten($osd_bg_color, 7%), .02); +$window_close_button_size: 30px; +$window_close_button_padding: 3px; + +// Window picker +.window-picker { + // Space between window thumbnails + spacing: $window_picker_spacing; +} + +// Window titles +.window-caption { + color: $osd_fg_color; + background-color: lighten($osd_bg_color, 5%); + border-radius: 99px; + padding: $base_padding $base_padding * 2; +} + +// Close button +.window-close { + background-color: $window_close_button_color; + color: $osd_fg_color; + border-radius: 99px; + box-shadow: 0 2px 4px 0 $shadow_color; + padding: $window_close_button_padding; + height: $window_close_button_size; + width: $window_close_button_size; + transition-duration: 100ms; + + & StIcon { icon-size: 24px; } // uses non standard icon size + + &:hover { + background-color: lighten($window_close_button_color, 7%); + } + + &:active { + background-color: lighten($window_close_button_color, 13%); + } +} + +.workspace-background { + // keep in sync with BACKGROUND_CORNER_RADIUS_PIXELS in workspace.js + border-radius: 30px; + background-color: $invisible_occluded_bg_color; + box-shadow: 0 4px 16px 4px transparentize(darken($osd_bg_color, 30%), 0.7); +} diff --git a/data/theme/gnome-shell-sass/widgets/_workspace-switcher.scss b/data/theme/gnome-shell-sass/widgets/_workspace-switcher.scss new file mode 100644 index 0000000..f06130b --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_workspace-switcher.scss @@ -0,0 +1,25 @@ +/* Workspace Switcher */ + +$ws_indicator_height: $large_icon_size; +$ws_dot_active: $ws_indicator_height / 3; +$ws_dot_inactive: $ws_indicator_height / 6; + +.workspace-switcher { + @extend %osd_panel; + margin-bottom: 4em; + spacing: $base_padding * 2; + padding: $base_padding * 2 $base_padding * 3; +} + +.ws-switcher-indicator { + background-color: transparentize($osd_fg_color,0.5); + padding: $ws_dot_inactive / 2; + margin: ($ws_indicator_height - $ws_dot_inactive) / 2; + border-radius: $ws_indicator_height; + + &:active { + background-color: $osd_fg_color; + padding: $ws_dot_active / 2; + margin: ($ws_indicator_height - $ws_dot_active) / 2; + } +} diff --git a/data/theme/gnome-shell-sass/widgets/_workspace-thumbnails.scss b/data/theme/gnome-shell-sass/widgets/_workspace-thumbnails.scss new file mode 100644 index 0000000..0a1867c --- /dev/null +++ b/data/theme/gnome-shell-sass/widgets/_workspace-thumbnails.scss @@ -0,0 +1,28 @@ +/* Workspace pager */ + +// thumbnails in overview +.workspace-thumbnails { + visible-width: 32px; //amount visible before hover + spacing: $base_padding; + padding: $base_padding; + + .workspace-thumbnail { + @extend %overview_panel; + border-radius: 3px; + } + + // drag and drop indicator + .placeholder { + background-image: url("resource:///org/gnome/shell/theme/workspace-placeholder.svg"); + background-size: contain; + width: 18px; + } +} + +// selected indicator +.workspace-thumbnail-indicator { + border: 3px solid $selected_bg_color; + border-radius: 3px; + padding: 0px; + // background-color: transparentize($selected_bg_color, 0.9); +} diff --git a/data/theme/gnome-shell-start.svg b/data/theme/gnome-shell-start.svg new file mode 100644 index 0000000..af139cf --- /dev/null +++ b/data/theme/gnome-shell-start.svg @@ -0,0 +1,343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css new file mode 100644 index 0000000..6e4abda --- /dev/null +++ b/data/theme/gnome-shell.css @@ -0,0 +1,2784 @@ +/* This stylesheet is generated, DO NOT EDIT */ +/* Copyright 2009, 2015 Red Hat, Inc. + * + * Portions adapted from Mx's data/style/default.css + * Copyright 2009 Intel Corporation + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU Lesser General Public License, + * version 2.1, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for + * more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. + */ +/* Global Values */ +stage { + font-size: 11pt; + color: white; } + +/* Common Stylings */ +.screenshot-ui-panel, .workspace-switcher, .switcher-list, .resize-popup, .osd-monitor-label, .osd-window { + color: white; + background-color: #232323; + border: 1px solid rgba(255, 255, 255, 0.02); + border-radius: 999px; + padding: 12px; } + +.workspace-thumbnails .workspace-thumbnail { + color: white; + background-color: rgba(255, 255, 255, 0.1); } + +.app-well-app.app-folder .overview-icon, .app-folder.grid-search-result .overview-icon, .app-well-app .overview-icon, .grid-search-result .overview-icon, .dash-item-container .show-apps .overview-icon, .list-search-result, .search-provider-icon, .switcher-list .item-box { + border-radius: 16px; + padding: 6px; + spacing: 6px; + border: 2px solid transparent; + transition-duration: 200ms; + text-align: center; } + +.modal-dialog { + color: white; + background-color: #303030; + border-radius: 11px; + border: 1px solid #3c3c3c; } + +#LookingGlassDialog > #Toolbar .lg-toolbar-button, .app-folder-dialog .folder-name-container .edit-folder-button, .button, .icon-button { + border-radius: 6px; + border-style: solid; + border-width: 1px; + font-weight: bold; + padding: 3px 24px; + transition-duration: 100ms; + color: white; + background-color: #3a3a3a; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus, .app-folder-dialog .folder-name-container .edit-folder-button:focus, .button:focus, .icon-button:focus { + transition-duration: 100ms; + color: white; + background-color: #3a414b; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus:hover, .app-folder-dialog .folder-name-container .edit-folder-button:focus:hover, .button:focus:hover, .icon-button:focus:hover { + background-color: #404852; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus:active, .app-folder-dialog .folder-name-container .edit-folder-button:focus:active, .button:focus:active, .icon-button:focus:active { + background-color: #474f59; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:hover, .app-folder-dialog .folder-name-container .edit-folder-button:hover, .button:hover, .icon-button:hover { + transition-duration: 100ms; + color: white; + background-color: #424242; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:insensitive, .app-folder-dialog .folder-name-container .edit-folder-button:insensitive, .button:insensitive, .icon-button:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:active, .app-folder-dialog .folder-name-container .edit-folder-button:active, .button:active, .icon-button:active { + transition-duration: 100ms; + color: white; + background-color: #494949; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked, .app-folder-dialog .folder-name-container .edit-folder-button:checked, .button:checked, .icon-button:checked { + transition-duration: 100ms; + color: white; + background-color: #515151; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked:hover, .app-folder-dialog .folder-name-container .edit-folder-button:checked:hover, .button:checked:hover, .icon-button:checked:hover { + background-color: #595959; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked:active, .app-folder-dialog .folder-name-container .edit-folder-button:checked:active, .button:checked:active, .icon-button:checked:active { + background-color: #606060; } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button, .app-folder-dialog .folder-name-container .flat.edit-folder-button, .flat.button, .flat.icon-button { + transition-duration: 100ms; + color: white; + background-color: #3a3a3a; + background-color: transparent; } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:focus, .app-folder-dialog .folder-name-container .flat.edit-folder-button:focus, .flat.button:focus, .flat.icon-button:focus { + transition-duration: 100ms; + color: white; + background-color: #3a414b; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:focus:hover, .app-folder-dialog .folder-name-container .flat.edit-folder-button:focus:hover, .flat.button:focus:hover, .flat.icon-button:focus:hover { + background-color: #404852; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:focus:active, .app-folder-dialog .folder-name-container .flat.edit-folder-button:focus:active, .flat.button:focus:active, .flat.icon-button:focus:active { + background-color: #474f59; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:hover, .app-folder-dialog .folder-name-container .flat.edit-folder-button:hover, .flat.button:hover, .flat.icon-button:hover { + transition-duration: 100ms; + color: white; + background-color: #424242; } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:insensitive, .app-folder-dialog .folder-name-container .flat.edit-folder-button:insensitive, .flat.button:insensitive, .flat.icon-button:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:active, .app-folder-dialog .folder-name-container .flat.edit-folder-button:active, .flat.button:active, .flat.icon-button:active { + transition-duration: 100ms; + color: white; + background-color: #494949; } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:checked, .app-folder-dialog .folder-name-container .flat.edit-folder-button:checked, .flat.button:checked, .flat.icon-button:checked { + transition-duration: 100ms; + color: white; + background-color: #515151; } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:checked:hover, .app-folder-dialog .folder-name-container .flat.edit-folder-button:checked:hover, .flat.button:checked:hover, .flat.icon-button:checked:hover { + background-color: #595959; } + #LookingGlassDialog > #Toolbar .flat.lg-toolbar-button:checked:active, .app-folder-dialog .folder-name-container .flat.edit-folder-button:checked:active, .flat.button:checked:active, .flat.icon-button:checked:active { + background-color: #606060; } + +.modal-dialog .modal-dialog-linked-button, .hotplug-notification-item, .notification-banner .notification-button { + padding: 12px; + font-weight: bold !important; + transition-duration: 100ms; + color: white; + background-color: #525252; } + .modal-dialog .modal-dialog-linked-button:ltr, .hotplug-notification-item:ltr, .notification-banner .notification-button:ltr { + margin-right: 1px; } + .modal-dialog .modal-dialog-linked-button:rtl, .hotplug-notification-item:rtl, .notification-banner .notification-button:rtl { + margin-left: 1px; } + .modal-dialog .modal-dialog-linked-button:insensitive, .hotplug-notification-item:insensitive, .notification-banner .notification-button:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); } + .modal-dialog .modal-dialog-linked-button:focus, .hotplug-notification-item:focus, .notification-banner .notification-button:focus { + transition-duration: 100ms; + color: white; + background-color: #4f5761; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .modal-dialog .modal-dialog-linked-button:focus:hover, .hotplug-notification-item:focus:hover, .notification-banner .notification-button:focus:hover { + background-color: #565e67; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .modal-dialog .modal-dialog-linked-button:focus:active, .hotplug-notification-item:focus:active, .notification-banner .notification-button:focus:active { + background-color: #5d656e; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .modal-dialog .modal-dialog-linked-button:hover, .hotplug-notification-item:hover, .notification-banner .notification-button:hover { + transition-duration: 100ms; + color: white; + background-color: #5a5a5a; } + .modal-dialog .modal-dialog-linked-button:active, .hotplug-notification-item:active, .notification-banner .notification-button:active { + transition-duration: 100ms; + color: white; + background-color: #616161; } + .modal-dialog .modal-dialog-linked-button:checked, .hotplug-notification-item:checked, .notification-banner .notification-button:checked { + transition-duration: 100ms; + color: white; + background-color: dimgray; } + .modal-dialog .modal-dialog-linked-button:checked:hover, .hotplug-notification-item:checked:hover, .notification-banner .notification-button:checked:hover { + background-color: #717171; } + .modal-dialog .modal-dialog-linked-button:checked:active, .hotplug-notification-item:checked:active, .notification-banner .notification-button:checked:active { + background-color: #787878; } + .modal-dialog .modal-dialog-linked-button:first-child:ltr, .hotplug-notification-item:first-child:ltr, .notification-banner .notification-button:first-child:ltr { + border-radius: 0 0 0 10px; } + .modal-dialog .modal-dialog-linked-button:last-child:ltr, .hotplug-notification-item:last-child:ltr, .notification-banner .notification-button:last-child:ltr { + border-radius: 0 0 10px 0; + margin-right: 0 !important; } + .modal-dialog .modal-dialog-linked-button:first-child:rtl, .hotplug-notification-item:first-child:rtl, .notification-banner .notification-button:first-child:rtl { + border-radius: 0 0 10px 0; } + .modal-dialog .modal-dialog-linked-button:last-child:rtl, .hotplug-notification-item:last-child:rtl, .notification-banner .notification-button:last-child:rtl { + border-radius: 0 0 0 10px; + margin-left: 0 !important; } + .modal-dialog .modal-dialog-linked-button:first-child:last-child, .hotplug-notification-item:first-child:last-child, .notification-banner .notification-button:first-child:last-child { + border-radius: 0 0 10px 10px !important; + margin-left: 0 !important; + margin-right: 0 !important; } + +.screenshot-ui-show-pointer-button, .screenshot-ui-type-button { + transition-duration: 100ms; + background-color: transparent; + background-color: none; + box-shadow: none; } + .screenshot-ui-show-pointer-button:insensitive, .screenshot-ui-type-button:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + background-color: transparent; + color: rgba(255, 255, 255, 0.5); } + .screenshot-ui-show-pointer-button:insensitive, .screenshot-ui-type-button:insensitive { + transition-duration: 100ms; + background-color: transparent; + background-color: none; + box-shadow: none; } + .screenshot-ui-show-pointer-button:insensitive:insensitive, .screenshot-ui-type-button:insensitive:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + background-color: transparent; + color: rgba(255, 255, 255, 0.5); } + .screenshot-ui-show-pointer-button:focus, .screenshot-ui-type-button:focus { + transition-duration: 100ms; + color: white; + background-color: #2f3740; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .screenshot-ui-show-pointer-button:focus:hover, .screenshot-ui-type-button:focus:hover { + background-color: #363d47; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .screenshot-ui-show-pointer-button:focus:active, .screenshot-ui-type-button:focus:active { + background-color: #3c444e; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .screenshot-ui-show-pointer-button:hover, .screenshot-ui-type-button:hover { + transition-duration: 100ms; + color: white; + background-color: #363636; } + .screenshot-ui-show-pointer-button:active, .screenshot-ui-type-button:active { + transition-duration: 100ms; + color: white; + background-color: #3d3d3d; } + .screenshot-ui-show-pointer-button:outlined, .screenshot-ui-type-button:outlined, .screenshot-ui-show-pointer-button:checked, .screenshot-ui-type-button:checked { + transition-duration: 100ms; + color: white; + background-color: #454545; } + .screenshot-ui-show-pointer-button:outlined:hover, .screenshot-ui-type-button:outlined:hover, .screenshot-ui-show-pointer-button:checked:hover, .screenshot-ui-type-button:checked:hover { + background-color: #4d4d4d; } + .screenshot-ui-show-pointer-button:outlined:active, .screenshot-ui-type-button:outlined:active, .screenshot-ui-show-pointer-button:checked:active, .screenshot-ui-type-button:checked:active { + background-color: #545454; } + +/* General Typography */ +.app-folder-dialog .folder-name-container .folder-name-label, .app-folder-dialog .folder-name-container .folder-name-entry, .search-statustext { + font-weight: 800; + font-size: 20pt; } + +.lg-debug-flags-header, .message-dialog-content .message-dialog-title, .message-list .message-list-placeholder, .datemenu-today-button .date-label { + font-weight: 800; + font-size: 15pt; } + +.quick-toggle-menu .header .title { + font-weight: 700; + font-size: 15pt; } + +.message-dialog-content .message-dialog-title.lightweight, .headline { + font-weight: 700; + font-size: 13pt; } + +.lg-extension-name, .osd-window, .dialog-list .dialog-list-title, .message-list-controls, .weather-button .weather-forecast-temp, .weather-button .weather-header, .world-clocks-button .world-clocks-time, .world-clocks-button .world-clocks-header, .events-button .events-title, .calendar .calendar-month-header .calendar-month-label, .datemenu-today-button .day-label, .popup-menu-ornament { + font-weight: 700; + font-size: 11pt; } + +.quick-toggle-menu .header .subtitle, .app-menu .popup-inactive-menu-item:first-child > StLabel { + font-weight: 700; + font-size: 9pt; } + +.login-dialog-not-listed-label, .lg-completions-text, .caps-lock-warning-label, #dash, .icon-label-button-container, .prompt-dialog-error-label, +.prompt-dialog-info-label, +.prompt-dialog-null-label, .run-dialog .run-dialog-description, .dialog-list .dialog-list-box .dialog-list-item .dialog-list-item-description, .weather-button .weather-forecast-time, .world-clocks-button .world-clocks-timezone, .events-button .event-time { + font-weight: 400; + font-size: 9pt; } + +.calendar .calendar-day-base.calendar-day-heading, .calendar .calendar-day-base { + font-weight: 400; + font-size: 8pt; } + +.unlock-dialog-clock-time, #panel, .weather-button .weather-forecast-time, .world-clocks-button .world-clocks-timezone, .world-clocks-button .world-clocks-time, .events-button .event-time, .calendar .calendar-day-base { + font-feature-settings: "tnum"; } + +/* WIDGETS */ +.shell-link { + color: #8fbbf0; } + .shell-link:hover { + color: #bcd6f6; } + +.lowres-icon { + icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } + +.icon-dropshadow { + icon-shadow: 0 1px 5px rgba(0, 0, 0, 0.8); } + +/* Entries */ +StEntry { + border-radius: 8px; + padding: 8px; + color: white; + background-color: #3c3c3c; + color: rgba(255, 255, 255, 0.7); + border: 2px solid #3c3c3c; + selection-background-color: #3584e4; + selected-color: #fff; } + StEntry:hover { + background-color: #565656; + border-color: #565656; + color: rgba(255, 255, 255, 0.7); } + StEntry:focus { + background-color: #3c4045; + border-color: #3584e4; + color: white; } + StEntry:insensitive { + background-color: #383838; + border-color: #383838; + color: #979797; } + StEntry StIcon.capslock-warning { + icon-size: 16px; + warning-color: #cd9309; + padding: 0 4px; } + StEntry StIcon.peek-password { + icon-size: 1.09em; + padding: 0 4px; } + StEntry StLabel.hint-text { + margin-left: 2px; + color: rgba(255, 255, 255, 0.7); } + +/* Buttons */ +.button, .icon-button { + min-height: 22px; } + +.icon-button { + border-radius: 99px; + padding: 12px; + min-height: 16px; } + .icon-button StIcon { + icon-size: 1.09em; + -st-icon-style: symbolic; } + +/* Check Boxes */ +.check-box StBoxLayout { + spacing: .8em; } + +.check-box StBin { + width: 24px; + height: 24px; + background-image: url("resource:///org/gnome/shell/theme/checkbox-off.svg"); } + +.check-box:focus StBin { + background-image: url("resource:///org/gnome/shell/theme/checkbox-off-focused.svg"); } + +.check-box:checked StBin { + background-image: url("resource:///org/gnome/shell/theme/checkbox.svg"); } + +.check-box:focus:checked StBin { + background-image: url("resource:///org/gnome/shell/theme/checkbox-focused.svg"); } + +/* Switches */ +.toggle-switch { + color: white; + height: 26px; + width: 48px; + background-size: contain; + background-image: url("resource:///org/gnome/shell/theme/toggle-off.svg"); } + .toggle-switch:checked { + background-image: url("resource:///org/gnome/shell/theme/toggle-on.svg"); } + +/* Slider */ +.slider { + -barlevel-height: 4px; + -barlevel-background-color: rgba(255, 255, 255, 0.2); + -barlevel-border-width: 2px; + -barlevel-border-color: transparent; + -barlevel-active-background-color: #3584e4; + -barlevel-active-border-color: transparent; + -barlevel-overdrive-color: #c01c28; + -barlevel-overdrive-border-color: transparent; + -barlevel-overdrive-separator-width: 1px; + -slider-handle-radius: 8px; + -slider-handle-border-width: 0; + -slider-handle-border-color: transparent; } + +/* Scrollbars */ +StScrollView.vfade { + -st-vfade-offset: 68px; } + +StScrollView.hfade { + -st-hfade-offset: 68px; } + +StScrollBar { + padding: 0; } + StScrollView StScrollBar { + min-width: 8px; + min-height: 8px; } + StScrollBar StBin#trough { + border-radius: 0; + background-color: transparent; } + StScrollBar StButton#vhandle, StScrollBar StButton#hhandle { + border-radius: 8px; + background-color: #6e6e6e; + border: 3px solid transparent; + transition: 500ms all ease; } + StScrollBar StButton#vhandle:hover, StScrollBar StButton#hhandle:hover { + background-color: #979797; } + StScrollBar StButton#vhandle:active, StScrollBar StButton#hhandle:active { + background-color: #838383; } + +/* Popovers/Menus */ +.popup-menu-boxpointer, .candidate-popup-boxpointer { + -arrow-rise: 6px; } + +.popup-menu { + min-width: 15em; + color: white; } + .popup-menu.panel-menu { + margin-bottom: 1.75em; } + +.popup-menu-content, .candidate-popup-content { + padding: 6px; + border-radius: 20px; + border: 1px solid #3c3c3c; + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); + background-color: #303030; } + +.popup-menu-item { + padding: 9px 12px; + border-radius: 12px; + spacing: 6px; + transition-duration: 100ms; + background-color: transparent; } + .popup-menu-item:ltr { + padding-left: 6px; } + .popup-menu-item:rtl { + padding-right: 6px; } + .popup-menu-item:focus, .popup-menu-item:hover { + background-color: #494949 !important; } + .popup-menu-item:focus:active, .popup-menu-item:hover:active { + background-color: #4e4e4e !important; } + .popup-menu-item:checked { + background-color: #424242 !important; } + .popup-menu-item:checked { + margin-bottom: 0; + box-shadow: inset 0 -1px 0 0 #353535; + border-radius: 8px 8px 0 0; } + .popup-menu-item:checked:focus, .popup-menu-item:checked:hover { + background-color: #494949 !important; } + .popup-menu-item:checked:active { + background-color: #4e4e4e !important; } + .popup-menu-item:active { + background-color: #5b5b5b; + color: white; } + .popup-menu-item:insensitive { + color: rgba(255, 255, 255, 0.5); } + .popup-menu-item .toggle-switch:ltr { + margin-left: 4px; } + .popup-menu-item .toggle-switch:rtl { + margin-right: 4px; } + +.popup-inactive-menu-item { + color: white; } + .popup-inactive-menu-item:insensitive { + color: #979797; } + +.popup-menu-arrow, +.popup-menu-icon { + icon-size: 16px !important; } + +.popup-sub-menu { + background-color: #424242; + border-radius: 0 0 8px 8px; } + .popup-sub-menu .popup-menu-ornament { + min-width: 1.09em !important; } + .popup-sub-menu .popup-menu-item { + border-radius: 0; + margin: 0; } + .popup-sub-menu .popup-menu-item:last-child { + border-radius: 0 0 8px 8px; } + .popup-sub-menu .popup-menu-item:focus, .popup-sub-menu .popup-menu-item:hover { + background-color: #494949 !important; } + .popup-sub-menu .popup-menu-item:checked { + background-color: #424242 !important; } + .popup-sub-menu .popup-menu-item:checked:focus, .popup-sub-menu .popup-menu-item:checked:hover { + background-color: #565656 !important; } + .popup-sub-menu .popup-menu-item:active { + background-color: #4e4e4e !important; } + .popup-sub-menu .popup-menu-section .popup-menu-item:last-child:hover, .popup-sub-menu .popup-menu-section .popup-menu-item:last-child:focus { + border-radius: 0; } + .popup-sub-menu .popup-menu-section:last-child .popup-menu-item:last-child { + border-radius: 0 0 8px 8px; } + +.popup-menu-ornament { + width: 1.2em; + text-align: center !important; } + .popup-menu-ornament:ltr { + text-align: right; } + .popup-menu-ornament:rtl { + text-align: left; } + +.popup-separator-menu-item { + margin: 6px 0; + padding: 0 !important; } + .popup-separator-menu-item:ltr { + margin-right: 4px; } + .popup-separator-menu-item:rtl { + margin-left: 4px; } + .popup-separator-menu-item .popup-separator-menu-item-separator { + height: 1px; + background-color: rgba(255, 255, 255, 0.1); } + .popup-separator-menu-item .popup-menu-ornament { + width: 0 !important; } + .popup-sub-menu .popup-separator-menu-item { + background-color: transparent; } + .popup-sub-menu .popup-separator-menu-item:ltr { + margin-right: 2.5em; } + .popup-sub-menu .popup-separator-menu-item:rtl { + margin-left: 2.5em; } + .popup-sub-menu .popup-separator-menu-item .popup-separator-menu-item-separator { + background-color: rgba(255, 255, 255, 0.1); } + +.background-menu { + -boxpointer-gap: 0px; + -arrow-rise: 0px; } + +.app-menu { + max-width: 27.25em; } + .app-menu .popup-menu-ornament { + width: 0 !important; } + .app-menu .popup-inactive-menu-item:first-child > StLabel:ltr { + margin-right: 8px; } + .app-menu .popup-inactive-menu-item:first-child > StLabel:rtl { + margin-left: 8px; } + +/* Date/Time Menu */ +#calendarArea { + padding: 4px; } + +.datemenu-calendar-column { + spacing: 6px; } + .datemenu-calendar-column:ltr { + padding-left: 6px; } + .datemenu-calendar-column:rtl { + padding-right: 6px; } + .datemenu-calendar-column .datemenu-displays-box { + spacing: 6px; } + +/* today button (the date) */ +.datemenu-today-button { + border-radius: 8px; + margin: 4px; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02); + transition-duration: 100ms; + background-color: transparent; + background-color: none; + box-shadow: none; + box-shadow: none !important; + padding: 9px; } + .datemenu-today-button:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + background-color: transparent; + color: rgba(255, 255, 255, 0.5); } + .datemenu-today-button:focus { + transition-duration: 100ms; + color: white; + background-color: #3e4650; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .datemenu-today-button:focus:hover { + background-color: #454d56; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .datemenu-today-button:focus:active { + background-color: #4c545d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .datemenu-today-button:hover { + transition-duration: 100ms; + color: white; + background-color: #474747; } + .datemenu-today-button:active { + transition-duration: 100ms; + color: white; + background-color: #4e4e4e; } + +/* Calendar */ +.calendar { + border-radius: 8px; + margin: 4px; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02); + transition-duration: 100ms; + background-color: transparent; + background-color: none; + box-shadow: none; + box-shadow: none !important; + margin-top: 0; } + .calendar:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + background-color: transparent; + color: rgba(255, 255, 255, 0.5); } + .calendar:focus { + transition-duration: 100ms; + color: white; + background-color: #3e4650; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .calendar:focus:hover { + background-color: #454d56; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .calendar:focus:active { + background-color: #4c545d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .calendar:hover { + transition-duration: 100ms; + color: white; + background-color: #474747; } + .calendar:active { + transition-duration: 100ms; + color: white; + background-color: #4e4e4e; } + .calendar .calendar-month-header .calendar-change-month-back StIcon, + .calendar .calendar-month-header .calendar-change-month-forward StIcon { + icon-size: 1.09em; } + .calendar .calendar-month-header .calendar-month-label { + color: white; + padding: 8px 0; } + .calendar .calendar-month-header .pager-button { + background-color: transparent; + height: 32px; + width: 32px; + margin: 2px; + border-radius: 6px; } + .calendar .calendar-month-header .pager-button:hover, .calendar .calendar-month-header .pager-button:focus { + background-color: #494949; } + .calendar .calendar-month-header .pager-button:active { + background-color: #4e4e4e; } + .calendar .calendar-day-base { + text-align: center; + margin: 2px; + padding: 0 !important; + height: 3em !important; + width: 3em !important; + border-radius: 99px; + transition-duration: 100ms; } + .calendar .calendar-day-base:hover { + background-color: #494949; } + .calendar .calendar-day-base:focus { + background-color: #314154; + color: #fff; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6); } + .calendar .calendar-day-base:active, .calendar .calendar-day-base:selected { + color: white; + background-color: #4e4e4e; } + .calendar .calendar-day-base:active:focus, .calendar .calendar-day-base:selected:focus { + background-color: #49596c; } + .calendar .calendar-day-base.calendar-day-heading { + color: #979797; + padding-top: 6px; + height: 16px !important; + font-weight: bold; } + .calendar .calendar-nonwork-day { + color: #979797; } + .calendar .calendar-other-month-day { + color: rgba(255, 255, 255, 0.5); } + .calendar .calendar-other-month-day.calendar-nonwork-day { + color: rgba(151, 151, 151, 0.5); } + .calendar .calendar-today { + background-color: #3584e4; + font-weight: 800; + color: #fff !important; } + .calendar .calendar-today:hover, .calendar .calendar-today:focus { + background-color: #428ce6; + color: inherit; } + .calendar .calendar-today:active, .calendar .calendar-today:selected { + background-color: #3584e4; + color: inherit; } + .calendar .calendar-today:active:hover, .calendar .calendar-today:active:focus, .calendar .calendar-today:selected:hover, .calendar .calendar-today:selected:focus { + background-color: #428ce6; + color: inherit; } + .calendar .calendar-day-with-events { + background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg"); + background-size: contain; } + .calendar .calendar-week-number { + font-size: 7pt; + font-weight: bold; + font-feature-settings: "tnum"; + margin: 6px; + padding: 0 6px; + border-radius: 3px; + background-color: #2b2b2b; + color: #979797; } + +/* Events */ +.events-button { + border-radius: 8px; + margin: 4px; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02); + transition-duration: 100ms; + color: white; + background-color: #3f3f3f; + padding: 12px; } + .events-button:focus { + transition-duration: 100ms; + color: white; + background-color: #3e4650; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .events-button:focus:hover { + background-color: #454d56; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .events-button:focus:active { + background-color: #4c545d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .events-button:hover { + transition-duration: 100ms; + color: white; + background-color: #474747; } + .events-button:active { + transition-duration: 100ms; + color: white; + background-color: #4e4e4e; } + .events-button .events-box { + spacing: 6px; } + .events-button .events-list { + spacing: 12px; } + .events-button .events-title { + color: #979797; + margin-bottom: 4px; } + .events-button .event-time { + color: #979797; } + +/* World clocks */ +.world-clocks-button { + border-radius: 8px; + margin: 4px; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02); + transition-duration: 100ms; + color: white; + background-color: #3f3f3f; + padding: 12px; } + .world-clocks-button:focus { + transition-duration: 100ms; + color: white; + background-color: #3e4650; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .world-clocks-button:focus:hover { + background-color: #454d56; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .world-clocks-button:focus:active { + background-color: #4c545d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .world-clocks-button:hover { + transition-duration: 100ms; + color: white; + background-color: #474747; } + .world-clocks-button:active { + transition-duration: 100ms; + color: white; + background-color: #4e4e4e; } + .world-clocks-button .world-clocks-grid { + spacing-rows: 6px; + spacing-columns: 12px; } + .world-clocks-button .world-clocks-header { + color: #979797; } + .world-clocks-button .world-clocks-city { + color: white; } + .world-clocks-button .world-clocks-time { + color: white; } + .world-clocks-button .world-clocks-time:ltr { + text-align: right; } + .world-clocks-button .world-clocks-time:rtl { + text-align: left; } + .world-clocks-button .world-clocks-timezone { + color: #979797; } + +/* Weather */ +.weather-button { + border-radius: 8px; + margin: 4px; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02); + transition-duration: 100ms; + color: white; + background-color: #3f3f3f; + padding: 12px; } + .weather-button:focus { + transition-duration: 100ms; + color: white; + background-color: #3e4650; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .weather-button:focus:hover { + background-color: #454d56; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .weather-button:focus:active { + background-color: #4c545d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .weather-button:hover { + transition-duration: 100ms; + color: white; + background-color: #474747; } + .weather-button:active { + transition-duration: 100ms; + color: white; + background-color: #4e4e4e; } + .weather-button .weather-box { + spacing: 10px; } + .weather-button .weather-header-box { + spacing: 6px; } + .weather-button .weather-header { + color: #979797; } + .weather-button .weather-header.location { + font-weight: normal; } + .weather-button .weather-grid { + spacing-rows: 6px; + spacing-columns: 12px; } + .weather-button .weather-forecast-time { + color: #b3b3b3; + padding-top: 0.2em; + padding-bottom: 0.4em; } + .weather-button .weather-forecast-icon { + icon-size: 2.18em; } + +/* Message List */ +.message-list { + width: 29em; + border: solid rgba(255, 255, 255, 0.1); } + .message-list:ltr { + margin-left: 0; + margin-right: 4px; + padding-right: 6px; + border-right-width: 1px; } + .message-list:rtl { + margin-right: 0; + margin-left: 4px; + padding-left: 6px; + border-left-width: 1px; } + .message-list .message-list-placeholder { + color: rgba(151, 151, 151, 0.5); } + .message-list .message-list-placeholder > StIcon { + icon-size: 3.27em; + margin-bottom: 12px; + -st-icon-style: symbolic; } + +.message-list-sections { + spacing: 6px; + margin: 0; + padding-bottom: 6px; } + .message-list-sections:ltr { + margin-right: 12px; } + .message-list-sections:rtl { + margin-left: 12px; } + +.message-list-section, +.message-list-section-list { + spacing: 6px; } + +.message-list-controls { + padding: 6px; + spacing: 6px; } + .message-list-controls .dnd-button { + border-width: 2px; + border-color: transparent; + border-radius: 32px; + border-style: solid; } + .message-list-controls .dnd-button:focus { + border-color: rgba(53, 132, 228, 0.6); } + +.message { + border-radius: 8px; + margin: 4px; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02); + transition-duration: 100ms; + color: white; + background-color: #3f3f3f; } + .message:focus { + transition-duration: 100ms; + color: white; + background-color: #3e4650; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .message:focus:hover { + background-color: #454d56; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .message:focus:active { + background-color: #4c545d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .message:hover { + transition-duration: 100ms; + color: white; + background-color: #474747; } + .message:active { + transition-duration: 100ms; + color: white; + background-color: #4e4e4e; } + .message .message-icon-bin { + padding: 18px; } + .message .message-icon-bin:ltr { + padding-right: 6px; } + .message .message-icon-bin:rtl { + padding-left: 6px; } + .message .message-icon-bin > StIcon { + icon-size: 2.18em; + -st-icon-style: symbolic; } + .message .message-icon-bin > .fallback-app-icon { + width: 1.09em; + height: 1.09em; } + .message .message-content { + spacing: 4px; + padding: 9px; + margin-bottom: 8px; } + .message .message-title { + font-weight: bold; + /* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */ + padding-top: 0.57em; } + .message .message-secondary-bin { + padding: 0 8px; } + .message .message-secondary-bin > .event-time { + color: rgba(255, 255, 255, 0.5); + font-size: 9pt; + /* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */ + padding-bottom: 0.13em; } + .message .message-secondary-bin > .event-time:ltr { + text-align: right; } + .message .message-secondary-bin > .event-time:rtl { + text-align: left; } + .message .message-close-button { + color: white; + background-color: rgba(255, 255, 255, 0.1); + border-radius: 99px; + padding: 5px; + margin: 1px; } + .message .message-close-button:hover { + background-color: rgba(255, 255, 255, 0.2); } + .message .message-close-button:active { + background-color: rgba(255, 255, 255, 0.1); } + .message .message-close-button StIcon { + icon-size: 1.09em; } + .message .message-body { + color: #e6e6e6; } + +.url-highlighter { + link-color: #8fbbf0; } + +/* Media Controls */ +.message-media-control { + padding: 0 18px; + margin: 12px 0; + border-radius: 8px; + color: white; } + .message-media-control:hover { + background-color: #565656; + color: white; } + .message-media-control:active { + background-color: #5b5b5b; + color: white; } + .message-media-control:insensitive { + color: #a4a4a4; } + .message-media-control:last-child:ltr { + margin-right: 12px; } + .message-media-control:last-child:rtl { + margin-left: 12px; } + .message-media-control StIcon { + icon-size: 1.09em; } + +.media-message-cover-icon { + icon-size: 3.27em !important; + border-radius: 8px; } + .media-message-cover-icon.fallback { + color: #d4d4d4; + background-color: #303030; + border: 1px solid transparent; + border-radius: 8px; + icon-size: 2.18em !important; + padding: 14px; } + +.candidate-popup-content { + padding: 6px; + spacing: 6px; } + +.candidate-index { + padding: 0; + padding-right: 6px; + color: #979797; } + +.candidate-box { + padding: 6px 12px 6px 12px; + border-radius: 8px; } + .candidate-box:selected { + background-color: #3584e4; + color: #fff; } + .candidate-box:hover { + background-color: #494949; + color: white; } + +.candidate-page-button-box { + height: 2em; } + .vertical .candidate-page-button-box { + padding-top: 12px; } + .horizontal .candidate-page-button-box { + padding-left: 12px; } + +.candidate-page-button { + padding: 6px; } + .candidate-page-button StIcon { + icon-size: 1.09em; } + +.candidate-page-button-previous { + border-radius: 8px 0px 0px 8px; + border-right-width: 0; + box-shadow: none; } + +.candidate-page-button-next { + border-radius: 0px 8px 8px 0px; + box-shadow: none; } + +/* Notifications & Message Tray */ +.notification-banner { + min-height: 64px; + width: 34em; + box-shadow: 0 2px 4px 2px rgba(0, 0, 0, 0.2); + border-radius: 12px; + margin: 4px; } + .notification-banner .notification-actions { + spacing: 0; } + +.summary-source-counter { + font-size: 10pt; + font-weight: bold; + height: 1.6em; + width: 1.6em; + -shell-counter-overlap-x: 3px; + -shell-counter-overlap-y: 3px; + background-color: #3584e4; + color: #fff; + border: 2px solid white; + box-shadow: 0 2px 2px rgba(0, 0, 0, 0.5); + border-radius: 0.9em; } + +.chat-body { + spacing: 5px; } + +.chat-response { + margin: 5px; } + +.chat-log-message { + color: #e6e6e6; } + +.chat-new-group { + padding-top: 1em; } + +.chat-received { + padding-left: 4px; } + .chat-received:rtl { + padding-left: 0px; + padding-right: 4px; } + +.chat-sent { + padding-left: 18pt; + color: white; } + .chat-sent:rtl { + padding-left: 0; + padding-right: 18pt; } + +.chat-meta-message { + padding-left: 4px; + font-size: 9pt; + font-weight: bold; + color: white; } + .chat-meta-message:rtl { + padding-left: 0; + padding-right: 4px; } + +.hotplug-notification-item-icon { + icon-size: 24px; + padding: 0 4px; } + +/* Modal Dialogs */ +.modal-dialog .modal-dialog-content-box { + margin: 32px 40px; + spacing: 32px; + max-width: 28em; } + +/* End Session Dialog */ +.end-session-dialog { + width: 30em; } + .end-session-dialog .end-session-dialog-battery-warning, + .end-session-dialog .dialog-list-title { + color: #cd9309; } + +/* Message Dialog */ +.message-dialog-content { + spacing: 18px; } + .message-dialog-content .message-dialog-title { + text-align: center; } + .message-dialog-content .message-dialog-description { + text-align: center; } + +/* Dialog List */ +.dialog-list { + spacing: 18px; } + .dialog-list .dialog-list-title { + text-align: center; } + .dialog-list .dialog-list-scrollview { + max-height: 200px; } + .dialog-list .dialog-list-box { + spacing: 1em; } + .dialog-list .dialog-list-box .dialog-list-item { + spacing: 1em; } + .dialog-list .dialog-list-box .dialog-list-item .dialog-list-item-title { + font-weight: bold; } + .dialog-list .dialog-list-box .dialog-list-item .dialog-list-item-description { + color: #f2f2f2; } + +/* Run Dialog */ +.run-dialog .modal-dialog-content-box { + margin-top: 24px; + margin-bottom: 14px; } + +.run-dialog .run-dialog-entry { + width: 20em; } + +.run-dialog .run-dialog-description { + text-align: center; + color: #cccccc; } + +/* Password or Authentication Dialog */ +.prompt-dialog { + width: 28em; } + .prompt-dialog .modal-dialog-content-box { + margin-bottom: 24px; } + +.prompt-dialog-password-grid { + spacing-rows: 8px; + spacing-columns: 4px; } + .prompt-dialog-password-grid .prompt-dialog-password-entry { + width: auto; } + .prompt-dialog-password-grid .prompt-dialog-password-entry:ltr { + margin-left: 20px; } + .prompt-dialog-password-grid .prompt-dialog-password-entry:rtl { + margin-right: 20px; } + +.prompt-dialog-password-layout { + spacing: 8px; } + +.prompt-dialog-password-entry { + width: 20em; } + +.prompt-dialog-error-label, +.prompt-dialog-info-label, +.prompt-dialog-null-label { + text-align: center; } + +.prompt-dialog-error-label { + color: #cd9309; } + +/* Polkit Dialog */ +.polkit-dialog-user-layout { + text-align: center; + spacing: 8px; + margin-bottom: 6px; } + .polkit-dialog-user-layout .polkit-dialog-user-root-label { + color: #cd9309; } + +/* Audio selection dialog */ +.audio-device-selection-dialog .modal-dialog-content-box { + margin-bottom: 28px; } + +.audio-device-selection-dialog .audio-selection-box { + spacing: 20px; } + +.audio-selection-device { + border-radius: 16px; } + .audio-selection-device:hover, .audio-selection-device:focus { + background-color: #494949; } + .audio-selection-device:active { + background-color: #3584e4; + color: #fff; } + +.audio-selection-device-box { + padding: 20px; + spacing: 20px; } + +.audio-selection-device-icon { + icon-size: 4.36em; } + +/* Welcome dialog */ +.welcome-dialog-image { + background-image: url("resource:///org/gnome/shell/theme/gnome-shell-start.svg"); + background-size: contain; + /* Reasonable maximum dimensions */ + height: 300px; + width: 300px; } + +/* Access portal dialog */ +.access-dialog { + text-align: center; } + +/* OSD */ +.osd-window { + text-align: center; + font-weight: bold; + spacing: 12px; + padding: 12px 18px; + margin-bottom: 4em; } + .osd-window > * { + spacing: 8px; } + .osd-window StIcon { + icon-size: 2.18em; } + .osd-window StLabel:ltr { + margin-right: 6px; } + .osd-window StLabel:rtl { + margin-left: 6px; } + .osd-window .level { + margin-bottom: 4px; + height: 6px; + min-width: 10.9em; + -barlevel-height: 6px; + -barlevel-background-color: rgba(255, 255, 255, 0.1); + -barlevel-active-background-color: white; + -barlevel-overdrive-color: #c01c28; + -barlevel-overdrive-separator-width: 3px; } + .osd-window .level:first-child { + margin-bottom: 0px; } + .osd-window .level:ltr { + margin-right: 6px; } + .osd-window .level:rtl { + margin-left: 6px; } + +.osd-monitor-label { + border-radius: 16px; + font-size: 3em; + font-weight: bold; + margin: 12px; + text-align: center; + min-width: 1.3em; } + +/* Pad OSD */ +.pad-osd-window { + padding: 32px; + background-color: rgba(0, 0, 0, 0.8); } + .pad-osd-window .pad-osd-title-box { + spacing: 12px; } + .pad-osd-window .pad-osd-title-menu-box { + spacing: 6px; } + +.combo-box-label { + width: 15em; } + +/* App Switcher */ +.switcher-popup { + padding: 0; + spacing: 24px; } + +.switcher-list { + padding: 10px; + border-radius: 24px; + box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.1); } + .switcher-list .switcher-list-item-container { + spacing: 12px; } + .switcher-list .item-box { + background-color: transparent; } + .switcher-list .item-box:hover { + background-color: rgba(255, 255, 255, 0.1); } + .switcher-list .item-box:selected, .switcher-list .item-box:focus { + background-color: rgba(255, 255, 255, 0.13); } + .switcher-list .item-box:selected:hover, .switcher-list .item-box:focus:hover { + background-color: rgba(255, 255, 255, 0.16); } + .switcher-list .item-box:selected:active, .switcher-list .item-box:focus:active { + background-color: rgba(255, 255, 255, 0.13); } + .switcher-list .item-box:active { + background-color: rgba(255, 255, 255, 0.16); } + .switcher-list .item-box:outlined, .switcher-list .item-box:checked { + background-color: rgba(255, 255, 255, 0.19); } + .switcher-list .item-box:outlined:active, .switcher-list .item-box:checked:active { + background-color: rgba(255, 255, 255, 0.22); } + .switcher-list .item-box:outlined:hover, .switcher-list .item-box:checked:hover { + background-color: rgba(255, 255, 255, 0.25); } + .switcher-list .item-box:drop { + border: 2px solid rgba(53, 132, 228, 0.8); + background-color: rgba(53, 132, 228, 0.2); } + .switcher-list .item-box:hover { + background: none; } + .switcher-list .separator { + width: 1px; + background: rgba(255, 255, 255, 0.1); } + .switcher-list .thumbnail-box { + padding: 2px; + spacing: 6px; } + .switcher-list .thumbnail { + width: 256px; + border-radius: 8px; } + +.switcher-arrow { + border-color: rgba(255, 255, 255, 0.8); + color: rgba(255, 255, 255, 0.8); } + .switcher-arrow:highlighted { + border-color: white; + color: white; } + +.input-source-switcher-symbol { + font-size: 34pt; + width: 96px; + height: 96px; } + +.cycler-highlight { + border: 5px solid #3584e4; } + +/* Workspace Switcher */ +.workspace-switcher { + margin-bottom: 4em; + spacing: 12px; + padding: 12px 18px; } + +.ws-switcher-indicator { + background-color: rgba(255, 255, 255, 0.5); + padding: 0.1816666667em; + margin: 0.9083333333em; + border-radius: 2.18em; } + .ws-switcher-indicator:active { + background-color: white; + padding: 0.3633333333em; + margin: 0.7266666667em; } + +.icon-label-button-container { + spacing: 6px; } + .icon-label-button-container StIcon { + icon-size: 32px; } + +.screenshot-ui-panel { + border-radius: 37px; + padding: 18px; + padding-bottom: 12px; + margin-bottom: 4em; + spacing: 12px; } + +.screenshot-ui-close-button { + padding: 6px !important; + margin-top: 12px; + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); } + .screenshot-ui-close-button.left { + margin-left: 12px; } + .screenshot-ui-close-button.right { + margin-right: 12px; } + +.screenshot-ui-type-button { + min-width: 48px; + padding: 12px 18px !important; + border-radius: 19px; } + +.screenshot-ui-capture-button { + width: 36px; + height: 36px; + border-radius: 99px; + border: 4px white; + padding: 4px; } + .screenshot-ui-capture-button .screenshot-ui-capture-button-circle { + background-color: white; + transition-duration: 200ms; + border-radius: 99px; } + .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:hover, .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:focus { + background-color: #494949; } + .screenshot-ui-capture-button:hover .screenshot-ui-capture-button-circle, .screenshot-ui-capture-button:focus .screenshot-ui-capture-button-circle { + background-color: #d9d9d9; } + .screenshot-ui-capture-button:active .screenshot-ui-capture-button-circle { + background-color: gray; } + .screenshot-ui-capture-button:cast .screenshot-ui-capture-button-circle { + background-color: #c01c28; } + .screenshot-ui-capture-button:cast:hover .screenshot-ui-capture-button-circle, .screenshot-ui-capture-button:cast:focus .screenshot-ui-capture-button-circle { + background-color: #d61f2d; } + .screenshot-ui-capture-button:cast:active .screenshot-ui-capture-button-circle { + background-color: #a11722; } + +.screenshot-ui-shot-cast-container { + background-color: #303030; + border-radius: 16px; + padding: 3px; + spacing: 3px; } + .screenshot-ui-shot-cast-container:ltr { + margin-left: 3px; } + .screenshot-ui-shot-cast-container:rtl { + margin-right: 3px; } + +.screenshot-ui-shot-cast-button { + padding: 6px 12px; + background-color: transparent; + border-radius: 13px; } + .screenshot-ui-shot-cast-button:hover, .screenshot-ui-shot-cast-button:focus { + background-color: #3c3c3c; } + .screenshot-ui-shot-cast-button:active { + background-color: #5b5b5b; } + .screenshot-ui-shot-cast-button:checked { + background-color: white; + color: black; } + .screenshot-ui-shot-cast-button:insensitive { + color: rgba(255, 255, 255, 0.5); } + .screenshot-ui-shot-cast-button StIcon { + icon-size: 1.09em; } + +.screenshot-ui-show-pointer-button { + border-radius: 99px; + padding: 12px !important; } + .screenshot-ui-show-pointer-button StIcon { + icon-size: 1.09em; } + +.screenshot-ui-area-indicator-shade { + background-color: rgba(0, 0, 0, 0.3); } + +.screenshot-ui-area-selector .screenshot-ui-area-indicator-shade { + background-color: rgba(0, 0, 0, 0.5); } + +.screenshot-ui-area-selector .screenshot-ui-area-indicator-selection { + border: 2px white; } + +.screenshot-ui-area-selector-handle { + border-radius: 99px; + background-color: white; + box-shadow: 0 1px 3px 2px rgba(0, 0, 0, 0.2); + width: 24px; + height: 24px; } + +.screenshot-ui-window-selector { + background-color: #232323; } + .screenshot-ui-window-selector .screenshot-ui-window-selector-window-container { + margin: 100px; } + .screenshot-ui-window-selector:primary-monitor .screenshot-ui-window-selector-window-container { + margin-bottom: 200px; } + +.screenshot-ui-window-selector-window-border { + transition-duration: 200ms; + border-radius: 16px; + border: 6px transparent; } + +.screenshot-ui-window-selector-check { + transition-duration: 200ms; + color: transparent; + border-radius: 99px; + border-width: 12px; + icon-size: 24px; } + +.screenshot-ui-window-selector-window:hover .screenshot-ui-window-selector-window-border { + border-color: #185fb4; } + +.screenshot-ui-window-selector-window:checked .screenshot-ui-window-selector-window-border { + border-color: #3584e4; + background-color: rgba(53, 132, 228, 0.2); } + +.screenshot-ui-window-selector-window:checked .screenshot-ui-window-selector-check { + color: #fff; + background-color: #3584e4; } + +.screenshot-ui-screen-selector { + transition-duration: 200ms; + background-color: rgba(0, 0, 0, 0.5); } + .screenshot-ui-screen-selector:hover { + background-color: rgba(0, 0, 0, 0.3); } + .screenshot-ui-screen-selector:active { + background-color: rgba(0, 0, 0, 0.7); } + .screenshot-ui-screen-selector:checked { + background-color: transparent; + border: 2px white; } + +.screenshot-ui-tooltip { + color: white; + background-color: #232323; + border-radius: 99px; + padding: 6px 12px; + text-align: center; + -y-offset: 24px; } + +/* Top Bar */ +#panel { + background-color: #000; + font-weight: bold; + height: 2.2em; + transition-duration: 250ms; } + #panel.unlock-screen, #panel.login-screen, #panel:overview { + background-color: transparent; } + #panel .panel-button { + font-weight: bold; + color: #f2f2f2; + -natural-hpadding: 12px; + -minimum-hpadding: 6px; + transition-duration: 150ms; + border: 3px solid transparent; + border-radius: 99px; } + #panel .panel-button.clock-display .clock { + transition-duration: 150ms; + border: 3px solid transparent; + border-radius: 99px; } + #panel .panel-button.screen-recording-indicator { + box-shadow: inset 0 0 0 100px #c01c28; } + #panel .panel-button.screen-sharing-indicator { + box-shadow: inset 0 0 0 100px #cd9309; } + #panel .panel-button.screen-sharing-indicator StBoxLayout { + margin: 0 6px; } + #panel .panel-button.screen-recording-indicator StBoxLayout, #panel .panel-button.screen-sharing-indicator StBoxLayout { + spacing: 6px; } + #panel .panel-button.screen-recording-indicator StIcon, #panel .panel-button.screen-sharing-indicator StIcon { + icon-size: 1.09em; } + #panel .panel-button:active, #panel .panel-button:overview, #panel .panel-button:focus, #panel .panel-button:checked { + box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.2); } + #panel .panel-button.clock-display:active, #panel .panel-button.clock-display:overview, #panel .panel-button.clock-display:focus, #panel .panel-button.clock-display:checked { + box-shadow: none; } + #panel .panel-button.clock-display:active .clock, #panel .panel-button.clock-display:overview .clock, #panel .panel-button.clock-display:focus .clock, #panel .panel-button.clock-display:checked .clock { + box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.2); } + #panel .panel-button.screen-recording-indicator:active, #panel .panel-button.screen-recording-indicator:overview, #panel .panel-button.screen-recording-indicator:focus, #panel .panel-button.screen-recording-indicator:checked { + box-shadow: inset 0 0 0 100px rgba(192, 28, 40, 0.85); } + #panel .panel-button.screen-sharing-indicator:active, #panel .panel-button.screen-sharing-indicator:overview, #panel .panel-button.screen-sharing-indicator:focus, #panel .panel-button.screen-sharing-indicator:checked { + box-shadow: inset 0 0 0 100px rgba(205, 147, 9, 0.85); } + #panel .panel-button:hover { + box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.15); } + #panel .panel-button.clock-display:hover { + box-shadow: none; } + #panel .panel-button.clock-display:hover .clock { + box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.15); } + #panel .panel-button.screen-recording-indicator:hover { + box-shadow: inset 0 0 0 100px rgba(192, 28, 40, 0.9); } + #panel .panel-button.screen-sharing-indicator:hover { + box-shadow: inset 0 0 0 100px rgba(205, 147, 9, 0.9); } + #panel .panel-button:active:hover, #panel .panel-button:overview:hover, #panel .panel-button:focus:hover, #panel .panel-button:checked:hover { + box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.25); } + #panel .panel-button.clock-display:active:hover, #panel .panel-button.clock-display:overview:hover, #panel .panel-button.clock-display:focus:hover, #panel .panel-button.clock-display:checked:hover { + box-shadow: none; } + #panel .panel-button.clock-display:active:hover .clock, #panel .panel-button.clock-display:overview:hover .clock, #panel .panel-button.clock-display:focus:hover .clock, #panel .panel-button.clock-display:checked:hover .clock { + box-shadow: inset 0 0 0 100px rgba(242, 242, 242, 0.25); } + #panel .panel-button.screen-recording-indicator:active:hover, #panel .panel-button.screen-recording-indicator:overview:hover, #panel .panel-button.screen-recording-indicator:focus:hover, #panel .panel-button.screen-recording-indicator:checked:hover { + box-shadow: inset 0 0 0 100px rgba(192, 28, 40, 0.8); } + #panel .panel-button.screen-sharing-indicator:active:hover, #panel .panel-button.screen-sharing-indicator:overview:hover, #panel .panel-button.screen-sharing-indicator:focus:hover, #panel .panel-button.screen-sharing-indicator:checked:hover { + box-shadow: inset 0 0 0 100px rgba(205, 147, 9, 0.8); } + #panel .panel-button .system-status-icon { + icon-size: 1.09em; + padding: 5px; + margin: 0 4px; } + #panel .panel-button .panel-status-indicators-box .system-status-icon, + #panel .panel-button .panel-status-menu-box .system-status-icon { + margin: 0; } + #panel .panel-button .app-menu-icon { + -st-icon-style: symbolic; } + #panel #panelActivities.panel-button { + -natural-hpadding: 18px; } + #panel.unlock-screen .panel-button:active, #panel.unlock-screen .panel-button:overview, #panel.unlock-screen .panel-button:focus, #panel.unlock-screen .panel-button:checked, #panel.login-screen .panel-button:active, #panel.login-screen .panel-button:overview, #panel.login-screen .panel-button:focus, #panel.login-screen .panel-button:checked, #panel:overview .panel-button:active, #panel:overview .panel-button:overview, #panel:overview .panel-button:focus, #panel:overview .panel-button:checked { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.15); } + #panel.unlock-screen .panel-button.clock-display:active, #panel.unlock-screen .panel-button.clock-display:overview, #panel.unlock-screen .panel-button.clock-display:focus, #panel.unlock-screen .panel-button.clock-display:checked, #panel.login-screen .panel-button.clock-display:active, #panel.login-screen .panel-button.clock-display:overview, #panel.login-screen .panel-button.clock-display:focus, #panel.login-screen .panel-button.clock-display:checked, #panel:overview .panel-button.clock-display:active, #panel:overview .panel-button.clock-display:overview, #panel:overview .panel-button.clock-display:focus, #panel:overview .panel-button.clock-display:checked { + box-shadow: none; } + #panel.unlock-screen .panel-button.clock-display:active .clock, #panel.unlock-screen .panel-button.clock-display:overview .clock, #panel.unlock-screen .panel-button.clock-display:focus .clock, #panel.unlock-screen .panel-button.clock-display:checked .clock, #panel.login-screen .panel-button.clock-display:active .clock, #panel.login-screen .panel-button.clock-display:overview .clock, #panel.login-screen .panel-button.clock-display:focus .clock, #panel.login-screen .panel-button.clock-display:checked .clock, #panel:overview .panel-button.clock-display:active .clock, #panel:overview .panel-button.clock-display:overview .clock, #panel:overview .panel-button.clock-display:focus .clock, #panel:overview .panel-button.clock-display:checked .clock { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.15); } + #panel.unlock-screen .panel-button.screen-recording-indicator:active, #panel.unlock-screen .panel-button.screen-recording-indicator:overview, #panel.unlock-screen .panel-button.screen-recording-indicator:focus, #panel.unlock-screen .panel-button.screen-recording-indicator:checked, #panel.login-screen .panel-button.screen-recording-indicator:active, #panel.login-screen .panel-button.screen-recording-indicator:overview, #panel.login-screen .panel-button.screen-recording-indicator:focus, #panel.login-screen .panel-button.screen-recording-indicator:checked, #panel:overview .panel-button.screen-recording-indicator:active, #panel:overview .panel-button.screen-recording-indicator:overview, #panel:overview .panel-button.screen-recording-indicator:focus, #panel:overview .panel-button.screen-recording-indicator:checked { + box-shadow: inset 0 0 0 100px rgba(192, 28, 40, 0.85); } + #panel.unlock-screen .panel-button.screen-sharing-indicator:active, #panel.unlock-screen .panel-button.screen-sharing-indicator:overview, #panel.unlock-screen .panel-button.screen-sharing-indicator:focus, #panel.unlock-screen .panel-button.screen-sharing-indicator:checked, #panel.login-screen .panel-button.screen-sharing-indicator:active, #panel.login-screen .panel-button.screen-sharing-indicator:overview, #panel.login-screen .panel-button.screen-sharing-indicator:focus, #panel.login-screen .panel-button.screen-sharing-indicator:checked, #panel:overview .panel-button.screen-sharing-indicator:active, #panel:overview .panel-button.screen-sharing-indicator:overview, #panel:overview .panel-button.screen-sharing-indicator:focus, #panel:overview .panel-button.screen-sharing-indicator:checked { + box-shadow: inset 0 0 0 100px rgba(205, 147, 9, 0.85); } + #panel.unlock-screen .panel-button:hover, #panel.login-screen .panel-button:hover, #panel:overview .panel-button:hover { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.1); } + #panel.unlock-screen .panel-button.clock-display:hover, #panel.login-screen .panel-button.clock-display:hover, #panel:overview .panel-button.clock-display:hover { + box-shadow: none; } + #panel.unlock-screen .panel-button.clock-display:hover .clock, #panel.login-screen .panel-button.clock-display:hover .clock, #panel:overview .panel-button.clock-display:hover .clock { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.1); } + #panel.unlock-screen .panel-button.screen-recording-indicator:hover, #panel.login-screen .panel-button.screen-recording-indicator:hover, #panel:overview .panel-button.screen-recording-indicator:hover { + box-shadow: inset 0 0 0 100px rgba(192, 28, 40, 0.9); } + #panel.unlock-screen .panel-button.screen-sharing-indicator:hover, #panel.login-screen .panel-button.screen-sharing-indicator:hover, #panel:overview .panel-button.screen-sharing-indicator:hover { + box-shadow: inset 0 0 0 100px rgba(205, 147, 9, 0.9); } + #panel.unlock-screen .panel-button:active:hover, #panel.unlock-screen .panel-button:overview:hover, #panel.unlock-screen .panel-button:focus:hover, #panel.unlock-screen .panel-button:checked:hover, #panel.login-screen .panel-button:active:hover, #panel.login-screen .panel-button:overview:hover, #panel.login-screen .panel-button:focus:hover, #panel.login-screen .panel-button:checked:hover, #panel:overview .panel-button:active:hover, #panel:overview .panel-button:overview:hover, #panel:overview .panel-button:focus:hover, #panel:overview .panel-button:checked:hover { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.2); } + #panel.unlock-screen .panel-button.clock-display:active:hover, #panel.unlock-screen .panel-button.clock-display:overview:hover, #panel.unlock-screen .panel-button.clock-display:focus:hover, #panel.unlock-screen .panel-button.clock-display:checked:hover, #panel.login-screen .panel-button.clock-display:active:hover, #panel.login-screen .panel-button.clock-display:overview:hover, #panel.login-screen .panel-button.clock-display:focus:hover, #panel.login-screen .panel-button.clock-display:checked:hover, #panel:overview .panel-button.clock-display:active:hover, #panel:overview .panel-button.clock-display:overview:hover, #panel:overview .panel-button.clock-display:focus:hover, #panel:overview .panel-button.clock-display:checked:hover { + box-shadow: none; } + #panel.unlock-screen .panel-button.clock-display:active:hover .clock, #panel.unlock-screen .panel-button.clock-display:overview:hover .clock, #panel.unlock-screen .panel-button.clock-display:focus:hover .clock, #panel.unlock-screen .panel-button.clock-display:checked:hover .clock, #panel.login-screen .panel-button.clock-display:active:hover .clock, #panel.login-screen .panel-button.clock-display:overview:hover .clock, #panel.login-screen .panel-button.clock-display:focus:hover .clock, #panel.login-screen .panel-button.clock-display:checked:hover .clock, #panel:overview .panel-button.clock-display:active:hover .clock, #panel:overview .panel-button.clock-display:overview:hover .clock, #panel:overview .panel-button.clock-display:focus:hover .clock, #panel:overview .panel-button.clock-display:checked:hover .clock { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.2); } + #panel.unlock-screen .panel-button.screen-recording-indicator:active:hover, #panel.unlock-screen .panel-button.screen-recording-indicator:overview:hover, #panel.unlock-screen .panel-button.screen-recording-indicator:focus:hover, #panel.unlock-screen .panel-button.screen-recording-indicator:checked:hover, #panel.login-screen .panel-button.screen-recording-indicator:active:hover, #panel.login-screen .panel-button.screen-recording-indicator:overview:hover, #panel.login-screen .panel-button.screen-recording-indicator:focus:hover, #panel.login-screen .panel-button.screen-recording-indicator:checked:hover, #panel:overview .panel-button.screen-recording-indicator:active:hover, #panel:overview .panel-button.screen-recording-indicator:overview:hover, #panel:overview .panel-button.screen-recording-indicator:focus:hover, #panel:overview .panel-button.screen-recording-indicator:checked:hover { + box-shadow: inset 0 0 0 100px rgba(192, 28, 40, 0.8); } + #panel.unlock-screen .panel-button.screen-sharing-indicator:active:hover, #panel.unlock-screen .panel-button.screen-sharing-indicator:overview:hover, #panel.unlock-screen .panel-button.screen-sharing-indicator:focus:hover, #panel.unlock-screen .panel-button.screen-sharing-indicator:checked:hover, #panel.login-screen .panel-button.screen-sharing-indicator:active:hover, #panel.login-screen .panel-button.screen-sharing-indicator:overview:hover, #panel.login-screen .panel-button.screen-sharing-indicator:focus:hover, #panel.login-screen .panel-button.screen-sharing-indicator:checked:hover, #panel:overview .panel-button.screen-sharing-indicator:active:hover, #panel:overview .panel-button.screen-sharing-indicator:overview:hover, #panel:overview .panel-button.screen-sharing-indicator:focus:hover, #panel:overview .panel-button.screen-sharing-indicator:checked:hover { + box-shadow: inset 0 0 0 100px rgba(205, 147, 9, 0.8); } + #panel .panel-status-indicators-box, + #panel .panel-status-menu-box { + spacing: 2px; } + #panel .power-status.panel-status-indicators-box { + spacing: 0; } + #panel .screencast-indicator, + #panel .remote-access-indicator { + color: #cd9309; } + +#appMenu { + spacing: 6px; } + #appMenu .label-shadow { + color: transparent; } + +#appMenu .panel-status-menu-box { + padding: 0 6px; + spacing: 6px; } + +.clock-display-box { + spacing: 2px; } + .clock-display-box .clock { + padding-left: 12px; + padding-right: 12px; } + +/* Activities Ripple */ +.ripple-box { + background-color: rgba(255, 255, 255, 0.2); + box-shadow: 0 0 2px 2px rgba(255, 255, 255, 0.2); + width: 52px; + height: 52px; + border-radius: 0 0 52px 0; } + .ripple-box:rtl { + border-radius: 0 0 0 52px; } + +.quick-settings { + padding: 18px; + border-radius: 36px; } + .quick-settings .icon-button, .quick-settings .button { + padding: 10.5px; } + +.quick-settings-grid { + spacing-rows: 12px; + spacing-columns: 12px; } + +.quick-toggle { + border-radius: 99px; + min-width: 12em; + max-width: 12em; + min-height: 40px; + border: none; + /* Move padding into the box; this is to allow menu arrows + to extend to the border */ } + .quick-toggle:checked { + transition-duration: 100ms; + background-color: #3584e4; + color: #fff; + box-shadow: none; } + .quick-toggle:checked:focus { + box-shadow: inset 0 0 0 2px #629fea; } + .quick-toggle:checked:hover, .quick-toggle:checked:focus { + background-color: #4b92e7; + color: white; } + .quick-toggle:checked:active { + background-color: #1d72d8; + color: #ededed; } + .quick-toggle:checked:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + background-color: rgba(53, 132, 228, 0.5); + color: rgba(255, 255, 255, 0.5); } + .quick-toggle > StBoxLayout { + spacing: 6px; } + .quick-toggle.button, .quick-toggle.icon-button { + padding: 0; } + .quick-toggle > StBoxLayout { + padding: 0 12px; } + .quick-toggle:ltr > StBoxLayout { + padding-left: 15px; } + .quick-toggle:rtl > StBoxLayout { + padding-right: 15px; } + .quick-toggle .quick-toggle-label { + font-weight: bold; } + .quick-toggle .quick-toggle-icon, .quick-toggle .quick-toggle-arrow { + icon-size: 1.09em; } + +.quick-menu-toggle:ltr > StBoxLayout { + padding-right: 0; } + +.quick-menu-toggle:rtl > StBoxLayout { + padding-left: 0; } + +.quick-menu-toggle .quick-toggle-arrow { + background-color: rgba(255, 255, 255, 0.1); + padding: 6px 10.5px; } + .quick-menu-toggle .quick-toggle-arrow:ltr { + border-radius: 0 99px 99px 0; } + .quick-menu-toggle .quick-toggle-arrow:rtl { + border-radius: 99px 0 0 99px; } + +.quick-slider > StBoxLayout { + spacing: 6px; } + +.quick-slider .slider-bin { + min-height: 16px; + padding: 6px; + border-radius: 99px; } + .quick-slider .slider-bin:focus { + transition-duration: 100ms; + color: white; + background-color: #3a414b; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .quick-slider .slider-bin:focus:hover { + background-color: #404852; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .quick-slider .slider-bin:focus:active { + background-color: #474f59; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + +.quick-slider .quick-toggle-icon { + icon-size: 1.09em; } + .quick-slider .quick-toggle-icon:ltr { + margin-left: 6px; } + .quick-slider .quick-toggle-icon:rtl { + margin-right: 6px; } + +.quick-toggle-menu { + background-color: #353535; + border-radius: 24px; + padding: 12px; + margin: 12px 18px 0; } + .quick-toggle-menu .popup-menu-item > StIcon { + -st-icon-style: symbolic; } + .quick-toggle-menu .header { + spacing-rows: 3px; + spacing-columns: 12px; + padding-bottom: 12px; } + .quick-toggle-menu .header .icon { + icon-size: 1.635em; + border-radius: 999px; + padding: 9px; + background-color: #494949; } + .quick-toggle-menu .header .icon.active { + background-color: #3584e4; } + +.quick-settings-system-item > StBoxLayout { + spacing: 12px; } + +.quick-settings-system-item .power-item { + min-height: 0; + min-width: 0; } + .quick-settings-system-item .power-item:insensitive { + transition-duration: 100ms; + color: white; + background-color: #3a3a3a; + background-color: transparent; } + +.nm-network-item .wireless-secure-icon { + icon-size: 0.545em; } + +/* OVERVIEW */ +.controls-manager, .secondary-monitor-workspaces { + spacing: 12px; } + +#overviewGroup { + background-color: #232323; } + +.overview-controls { + padding-bottom: 32px; } + +/* Window Picker */ +.window-picker { + spacing: 6px; } + +.window-caption { + color: white; + background-color: #303030; + border-radius: 99px; + padding: 6px 12px; } + +.window-close, .screenshot-ui-close-button { + background-color: rgba(53, 53, 53, 0.98); + color: white; + border-radius: 99px; + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); + padding: 3px; + height: 30px; + width: 30px; + transition-duration: 100ms; } + .window-close StIcon, .screenshot-ui-close-button StIcon { + icon-size: 24px; } + .window-close:hover, .screenshot-ui-close-button:hover { + background-color: rgba(71, 71, 71, 0.98); } + .window-close:active, .screenshot-ui-close-button:active { + background-color: rgba(86, 86, 86, 0.98); } + +.workspace-background { + border-radius: 30px; + background-color: rgba(3, 2, 1, 0); + box-shadow: 0 4px 16px 4px rgba(0, 0, 0, 0.3); } + + +.search-entry { + border-radius: 18px; + margin-top: 12px; + margin-bottom: 6px; + padding: 7px 9px; + width: 320px; + background-color: #3c3c3c; + color: rgba(255, 255, 255, 0.7); + border: 2px solid #3c3c3c; } + + .search-entry:hover { + background-color: #565656; + border-color: #565656; + color: rgba(255, 255, 255, 0.7); } + + .search-entry:focus { + background-color: #3c4045; + border-color: #3584e4; + color: white; } + + .search-entry:insensitive { + background-color: #383838; + border-color: #383838; + color: #979797; } + + .search-entry .search-entry-icon { + color: inherit; + icon-size: 1.09em; + margin-top: 2px; + padding: 0 4px; } + +/* Search */ +#searchResults { + margin: 0 4px; } + +#searchResultsContent { + max-width: 1072px; } + +.search-section { + spacing: 18px; } + .search-section .search-section-separator { + height: 8px; + background-color: transparent; } + +.search-section-content { + background-color: #303030; + border-radius: 24px; + border: 1px solid rgba(255, 255, 255, 0.02); + color: white; + padding: 12px; + margin: 0 12px; } + +.list-search-result, .search-provider-icon { + background-color: transparent; + border-radius: 11px; } + .list-search-result:hover, .search-provider-icon:hover { + background-color: rgba(255, 255, 255, 0.1); } + .list-search-result:selected, .search-provider-icon:selected, .list-search-result:focus, .search-provider-icon:focus { + background-color: rgba(255, 255, 255, 0.13); } + .list-search-result:selected:hover, .search-provider-icon:selected:hover, .list-search-result:focus:hover, .search-provider-icon:focus:hover { + background-color: rgba(255, 255, 255, 0.16); } + .list-search-result:selected:active, .search-provider-icon:selected:active, .list-search-result:focus:active, .search-provider-icon:focus:active { + background-color: rgba(255, 255, 255, 0.13); } + .list-search-result:active, .search-provider-icon:active { + background-color: rgba(255, 255, 255, 0.16); } + .list-search-result:outlined, .search-provider-icon:outlined, .list-search-result:checked, .search-provider-icon:checked { + background-color: rgba(255, 255, 255, 0.19); } + .list-search-result:outlined:active, .search-provider-icon:outlined:active, .list-search-result:checked:active, .search-provider-icon:checked:active { + background-color: rgba(255, 255, 255, 0.22); } + .list-search-result:outlined:hover, .search-provider-icon:outlined:hover, .list-search-result:checked:hover, .search-provider-icon:checked:hover { + background-color: rgba(255, 255, 255, 0.25); } + .list-search-result:drop, .search-provider-icon:drop { + border: 2px solid rgba(53, 132, 228, 0.8); + background-color: rgba(53, 132, 228, 0.2); } + +.grid-search-results { + spacing: 30px; + margin: 0 12px; } + +.search-provider-icon:ltr { + margin-right: 4px; } + +.search-provider-icon:rtl { + margin-left: 4px; } + +.search-provider-icon .list-search-provider-content { + spacing: 12px; } + .search-provider-icon .list-search-provider-content .list-search-provider-details { + width: 120px; + color: white; } + +.list-search-results { + spacing: 6px; } + +.list-search-result .list-search-result-content { + spacing: 6px; } + +.list-search-result .list-search-result-title { + spacing: 12px; } + +.list-search-result .list-search-result-description { + color: #bdbdbd; } + +/* Dash */ +#dash { + margin-top: 12px; } + #dash .placeholder { + background-image: none; + background-size: contain; + height: 32px; } + #dash .empty-dash-drop-target { + width: 32px; + height: 32px; } + #dash .app-well-app-running-dot { + margin-bottom: 14px; } + +.dash-background { + background-color: #303030; + border-radius: 28px; + padding: 12px; + spacing: 6px; + margin-bottom: 12px; } + +.dash-item-container > * { + margin: 0 2px; } + +.dash-item-container:ltr:first-child { + margin-left: 0; } + +.dash-item-container:rtl:first-child { + margin-right: 0; } + +.dash-item-container .app-well-app .overview-icon, .dash-item-container .grid-search-result .overview-icon { + padding: 6px; } + +.dash-item-container .show-apps { + transition-duration: 400ms; } + .dash-item-container .show-apps .overview-icon { + background-color: transparent; } + .dash-item-container .show-apps:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.1); } + .dash-item-container .show-apps:selected .overview-icon, .dash-item-container .show-apps:focus .overview-icon { + background-color: rgba(255, 255, 255, 0.13); } + .dash-item-container .show-apps:selected .overview-icon:hover .overview-icon, .dash-item-container .show-apps:focus .overview-icon:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.16); } + .dash-item-container .show-apps:selected .overview-icon:active .overview-icon, .dash-item-container .show-apps:focus .overview-icon:active .overview-icon { + background-color: rgba(255, 255, 255, 0.13); } + .dash-item-container .show-apps:active .overview-icon { + background-color: rgba(255, 255, 255, 0.16); } + .dash-item-container .show-apps:outlined .overview-icon, .dash-item-container .show-apps:checked .overview-icon { + background-color: rgba(255, 255, 255, 0.19); } + .dash-item-container .show-apps:outlined .overview-icon:active .overview-icon, .dash-item-container .show-apps:checked .overview-icon:active .overview-icon { + background-color: rgba(255, 255, 255, 0.22); } + .dash-item-container .show-apps:outlined .overview-icon:hover .overview-icon, .dash-item-container .show-apps:checked .overview-icon:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.25); } + .dash-item-container .show-apps:drop .overview-icon { + border: 2px solid rgba(53, 132, 228, 0.8); + background-color: rgba(53, 132, 228, 0.2); } + +.dash-item-container .show-apps, .dash-item-container .app-well-app, .dash-item-container .grid-search-result { + padding-bottom: 12px; } + +.dash-separator { + width: 1px; + margin: 0 4px; + background-color: rgba(255, 255, 255, 0.1); + margin-bottom: 12px; } + +.dash-label { + color: white; + background-color: #232323; + border-radius: 99px; + padding: 6px 12px; + text-align: center; + -y-offset: 8px; } + +/* App Grid */ +.icon-grid { + row-spacing: 12px; + column-spacing: 12px; + max-row-spacing: 42px; + max-column-spacing: 42px; + page-padding-top: 24px; + page-padding-bottom: 24px; + page-padding-left: 18px; + page-padding-right: 18px; } + +/* App Icons */ +.app-well-app, .grid-search-result { + transition-duration: 400ms; } + .app-well-app .overview-icon, .grid-search-result .overview-icon { + background-color: transparent; } + .app-well-app:hover .overview-icon, .grid-search-result:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.1); } + .app-well-app:selected .overview-icon, .grid-search-result:selected .overview-icon, .app-well-app:focus .overview-icon, .grid-search-result:focus .overview-icon { + background-color: rgba(255, 255, 255, 0.13); } + .app-well-app:selected .overview-icon:hover .overview-icon, .grid-search-result:selected .overview-icon:hover .overview-icon, .app-well-app:focus .overview-icon:hover .overview-icon, .grid-search-result:focus .overview-icon:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.16); } + .app-well-app:selected .overview-icon:active .overview-icon, .grid-search-result:selected .overview-icon:active .overview-icon, .app-well-app:focus .overview-icon:active .overview-icon, .grid-search-result:focus .overview-icon:active .overview-icon { + background-color: rgba(255, 255, 255, 0.13); } + .app-well-app:active .overview-icon, .grid-search-result:active .overview-icon { + background-color: rgba(255, 255, 255, 0.16); } + .app-well-app:outlined .overview-icon, .grid-search-result:outlined .overview-icon, .app-well-app:checked .overview-icon, .grid-search-result:checked .overview-icon { + background-color: rgba(255, 255, 255, 0.19); } + .app-well-app:outlined .overview-icon:active .overview-icon, .grid-search-result:outlined .overview-icon:active .overview-icon, .app-well-app:checked .overview-icon:active .overview-icon, .grid-search-result:checked .overview-icon:active .overview-icon { + background-color: rgba(255, 255, 255, 0.22); } + .app-well-app:outlined .overview-icon:hover .overview-icon, .grid-search-result:outlined .overview-icon:hover .overview-icon, .app-well-app:checked .overview-icon:hover .overview-icon, .grid-search-result:checked .overview-icon:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.25); } + .app-well-app:drop .overview-icon, .grid-search-result:drop .overview-icon { + border: 2px solid rgba(53, 132, 228, 0.8); + background-color: rgba(53, 132, 228, 0.2); } + .app-well-app .overview-icon, .grid-search-result .overview-icon { + padding: 12px; } + .app-well-app .overview-icon.overview-icon-with-label > StBoxLayout, .grid-search-result .overview-icon.overview-icon-with-label > StBoxLayout { + spacing: 6px; } + +.app-well-app.app-folder, .app-folder.grid-search-result { + transition-duration: 400ms; } + .app-well-app.app-folder .overview-icon, .app-folder.grid-search-result .overview-icon { + background-color: rgba(255, 255, 255, 0.19); } + .app-well-app.app-folder:hover .overview-icon, .app-folder.grid-search-result:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.1); } + .app-well-app.app-folder:selected .overview-icon, .app-folder.grid-search-result:selected .overview-icon, .app-well-app.app-folder:focus .overview-icon, .app-folder.grid-search-result:focus .overview-icon { + background-color: rgba(255, 255, 255, 0.13); } + .app-well-app.app-folder:selected .overview-icon:hover .overview-icon, .app-folder.grid-search-result:selected .overview-icon:hover .overview-icon, .app-well-app.app-folder:focus .overview-icon:hover .overview-icon, .app-folder.grid-search-result:focus .overview-icon:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.16); } + .app-well-app.app-folder:selected .overview-icon:active .overview-icon, .app-folder.grid-search-result:selected .overview-icon:active .overview-icon, .app-well-app.app-folder:focus .overview-icon:active .overview-icon, .app-folder.grid-search-result:focus .overview-icon:active .overview-icon { + background-color: rgba(255, 255, 255, 0.13); } + .app-well-app.app-folder:active .overview-icon, .app-folder.grid-search-result:active .overview-icon { + background-color: rgba(255, 255, 255, 0.16); } + .app-well-app.app-folder:outlined .overview-icon, .app-folder.grid-search-result:outlined .overview-icon, .app-well-app.app-folder:checked .overview-icon, .app-folder.grid-search-result:checked .overview-icon { + background-color: rgba(255, 255, 255, 0.19); } + .app-well-app.app-folder:outlined .overview-icon:active .overview-icon, .app-folder.grid-search-result:outlined .overview-icon:active .overview-icon, .app-well-app.app-folder:checked .overview-icon:active .overview-icon, .app-folder.grid-search-result:checked .overview-icon:active .overview-icon { + background-color: rgba(255, 255, 255, 0.22); } + .app-well-app.app-folder:outlined .overview-icon:hover .overview-icon, .app-folder.grid-search-result:outlined .overview-icon:hover .overview-icon, .app-well-app.app-folder:checked .overview-icon:hover .overview-icon, .app-folder.grid-search-result:checked .overview-icon:hover .overview-icon { + background-color: rgba(255, 255, 255, 0.25); } + .app-well-app.app-folder:drop .overview-icon, .app-folder.grid-search-result:drop .overview-icon { + border: 2px solid rgba(53, 132, 228, 0.8); + background-color: rgba(53, 132, 228, 0.2); } + +.app-folder-dialog { + border-radius: 32px; + background-color: #303030; } + .app-folder-dialog .folder-name-container { + padding: 24px 36px 0; + spacing: 12px; + /* FIXME: this is to keep the label in sync with the entry */ } + .app-folder-dialog .folder-name-container .folder-name-entry { + width: 300px; } + .app-folder-dialog .folder-name-container .folder-name-label { + padding: 5px 7px; + color: white; } + .app-folder-dialog .folder-name-container .edit-folder-button { + padding: 0; + width: 36px; + height: 36px; + border-radius: 99px; } + .app-folder-dialog .folder-name-container .edit-folder-button > StIcon { + icon-size: 1.09em; } + .app-folder-dialog .icon-grid { + row-spacing: 12px; + column-spacing: 30px; + page-padding-top: 0; + page-padding-bottom: 0; + page-padding-left: 0; + page-padding-right: 0; } + .app-folder-dialog .page-indicators { + margin-bottom: 18px; } + +.app-folder-dialog-container { + padding: 12px; + width: 720px; + height: 720px; } + +.app-well-app-running-dot { + height: 5px; + width: 5px; + border-radius: 5px; + margin-bottom: 8px; + background-color: white; } + +.rename-folder-popup .rename-folder-popup-item { + spacing: 6px; } + .rename-folder-popup .rename-folder-popup-item:ltr, .rename-folder-popup .rename-folder-popup-item:rtl { + padding: 0 12px; } + +.page-indicator { + padding: 6px 12px 0; + transition-duration: 400ms; } + .page-indicator .page-indicator-icon { + width: 10px; + height: 10px; + border-radius: 10px; + background-color: white; } + +.apps-scroll-view { + padding: 0; } + +.system-action-icon { + background-color: rgba(0, 0, 0, 0.8); + color: #fff; + border-radius: 99px; + icon-size: 48px; } + +.page-navigation-hint.dnd { + background: rgba(255, 255, 255, 0.1); } + +.page-navigation-hint.next:ltr, .page-navigation-hint.previous:rtl { + background-gradient-start: rgba(255, 255, 255, 0.05); + background-gradient-end: transparent; + background-gradient-direction: horizontal; + border-radius: 24px 0px 0px 24px; } + +.page-navigation-hint.previous:ltr, .page-navigation-hint.next:rtl { + background-gradient-start: transparent; + background-gradient-end: rgba(255, 255, 255, 0.05); + background-gradient-direction: horizontal; + border-radius: 0px 24px 24px 0px; } + +.page-navigation-arrow > StIcon { + margin: 6px; + padding: 18px; + width: 24px; + height: 24px; + border-radius: 99px; } + +.page-navigation-arrow:insensitive > StIcon { + transition-duration: 100ms; + background-color: transparent; + background-color: none; + box-shadow: none; } + .page-navigation-arrow:insensitive > StIcon:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + background-color: transparent; + color: rgba(255, 255, 255, 0.5); } + +.page-navigation-arrow:hover > StIcon { + transition-duration: 100ms; + color: white; + background-color: rgba(73, 73, 73, 0.525); } + +.page-navigation-arrow:active > StIcon { + transition-duration: 100ms; + color: white; + background-color: rgba(80, 80, 80, 0.525); } + +/* Workspace pager */ +.workspace-thumbnails { + visible-width: 32px; + spacing: 6px; + padding: 6px; } + .workspace-thumbnails .workspace-thumbnail { + border-radius: 3px; } + .workspace-thumbnails .placeholder { + background-image: url("resource:///org/gnome/shell/theme/workspace-placeholder.svg"); + background-size: contain; + width: 18px; } + +.workspace-thumbnail-indicator { + border: 3px solid #3584e4; + border-radius: 3px; + padding: 0px; } + +.ripple-pointer-location { + width: 50px; + height: 50px; + border-radius: 25px; + background-color: rgba(188, 214, 246, 0.3); + box-shadow: 0 0 2px 2px #8fbbf0; } + +.pie-timer { + width: 60px; + height: 60px; + -pie-border-width: 3px; + -pie-border-color: #3584e4; + -pie-background-color: rgba(233, 242, 252, 0.3); } + +.magnifier-zoom-region { + border: 2px solid #3584e4; } + .magnifier-zoom-region.full-screen { + border-width: 0; } + +.select-area-rubberband { + background-color: rgba(53, 132, 228, 0.3); + border: 1px solid #3584e4; } + +.user-icon { + background-size: contain; + color: white; + border-radius: 99px; + icon-size: 4.36em; } + .user-icon:hover { + color: white; } + .user-icon StIcon { + background-color: rgba(255, 255, 255, 0.05); + border-radius: 99px; + padding: 12px; + width: 2.725em; + height: 2.725em; } + .user-icon.user-avatar { + border: 2px white; } + +.user-widget.vertical .user-icon { + icon-size: 6.54em; } + .user-widget.vertical .user-icon StIcon { + padding: 20px; + padding-top: 18px; + padding-bottom: 22px; + width: 5.995em; + height: 5.995em; } + +.lightbox { + background-color: black; } + +.flashspot { + background-color: white; } + +.hidden { + color: rgba(0, 0, 0, 0); } + +.caps-lock-warning-label { + text-align: center; + padding-bottom: 8px; + color: #cd9309; } + +/* Workspace animation */ +.workspace-animation { + background-color: #232323; } + +/* Tiled window previews */ +.tile-preview { + background-color: rgba(53, 132, 228, 0.5); + border: 1px solid #3584e4; } + +/* On-screen Keyboard */ +#keyboard { + background-color: #232323; + box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.02); } + #keyboard .page-indicator { + padding: 6px; } + #keyboard .page-indicator .page-indicator-icon { + width: 8px; + height: 8px; } + +.key-container { + padding: 4px; + spacing: 4px; } + +.keyboard-key { + font-size: 16pt; + font-weight: bold; + min-height: 1.2em; + min-width: 1.2em; + border-width: 1px; + border-style: solid; + border-radius: 12px; + box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.2); + color: white; + background-color: #545454; } + .keyboard-key:focus { + color: white; + background-color: #2c333d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6); } + .keyboard-key:focus:hover { + background-color: #373f49; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7); } + .keyboard-key:focus:active { + background-color: #3c444d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7); } + .keyboard-key:hover { + color: white; + background-color: #5e5e5e; } + .keyboard-key:active { + color: white; + background-color: #666666; } + .keyboard-key:checked { + color: white; + background-color: #737373; } + .keyboard-key:grayed { + background-color: #282828; + color: white; + border-color: rgba(0, 0, 0, 0.7); } + .keyboard-key.default-key { + color: white; + background-color: #3b3b3b; + border-radius: 12px; } + .keyboard-key.default-key:hover { + color: white; + background-color: #454545; } + .keyboard-key.default-key:active { + color: white; + background-color: #4d4d4d; } + .keyboard-key.default-key:checked { + color: white; + background-color: #595959; } + .keyboard-key.default-key:latched { + border-color: #4b92e7; + background-color: #3584e4; } + .keyboard-key.enter-key { + color: #fff; + background-color: #428ce6; + border-radius: 12px; + color: white; } + .keyboard-key.enter-key:hover { + color: #fff; + background-color: #5497e8; } + .keyboard-key.enter-key:active { + color: #fff; + background-color: #629fea; } + .keyboard-key.enter-key:checked { + color: #fff; + background-color: #78aded; } + .keyboard-key.shift-key-uppercase { + background-color: gray; + color: #232323; } + .keyboard-key.shift-key-uppercase:hover { + background-color: #8c8c8c; + color: #303030; } + .keyboard-key StIcon { + icon-size: 24px; } + +.keyboard-subkeys { + -arrow-border-radius: 16px; + -arrow-background-color: #232323; + -arrow-border-width: 1px; + -arrow-border-color: #3a3a3a; + -arrow-base: 20px; + -arrow-rise: 10px; + -boxpointer-gap: 6px; + padding: 6px; } + .keyboard-subkeys .keyboard-key { + color: white; + background-color: #545454; + border-radius: 12px; } + .keyboard-subkeys .keyboard-key:focus { + color: white; + background-color: #2c333d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6); } + .keyboard-subkeys .keyboard-key:focus:hover { + background-color: #373f49; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7); } + .keyboard-subkeys .keyboard-key:focus:active { + background-color: #3c444d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7); } + .keyboard-subkeys .keyboard-key:hover { + color: white; + background-color: #5e5e5e; } + .keyboard-subkeys .keyboard-key:active { + color: white; + background-color: #666666; } + .keyboard-subkeys .keyboard-key:checked { + color: white; + background-color: #737373; } + +.emoji-page .keyboard-key { + background-color: transparent; + border: none; + color: initial; } + +.emoji-panel .keyboard-key:latched { + border-color: #4b92e7; + background-color: #3584e4; } + +.word-suggestions { + font-size: 12pt; + spacing: 12px; + min-height: 17pt; + padding: 12px; + color: white; } + .word-suggestions StButton { + margin: 0 3px; + min-width: 32px; + border-radius: 6px; + padding: 0px 18px; + background-color: transparent; + background-image: none; } + .word-suggestions StButton:focus { + color: white; + background-color: #2c333d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6); } + .word-suggestions StButton:focus:hover { + background-color: #373f49; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7); } + .word-suggestions StButton:focus:active { + background-color: #3c444d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7); } + .word-suggestions StButton:hover { + color: white; + background-color: #5e5e5e; } + .word-suggestions StButton:active { + color: white; + background-color: #666666; } + .word-suggestions StButton:checked { + color: white; + background-color: #737373; } + +/* Looking Glass */ +#LookingGlassDialog { + background-color: #232323; + border-radius: 0 0 16px 16px; + border-top-width: 0; + border: 1px solid rgba(255, 255, 255, 0.02); + color: white; + padding: 6px; + spacing: 6px; + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); } + #LookingGlassDialog > #Toolbar { + border: none; + padding: 6px; + border-radius: 0; + background-color: transparent; + spacing: 6px; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button { + padding: 6px 12px; } + #LookingGlassDialog > #Toolbar .lg-toolbar-button > StIcon { + icon-size: 1.09em; } + #LookingGlassDialog .labels { + spacing: 6px; } + #LookingGlassDialog .notebook-tab { + -natural-hpadding: 12px; + -minimum-hpadding: 12px; + font-weight: bold; + padding: 6px 12px; + color: #d9d9d9; + transition-duration: 100ms; + box-shadow: none; + border: none; + border-radius: 6px; + background-color: transparent; } + #LookingGlassDialog .notebook-tab:hover { + color: white; + background-color: rgba(255, 255, 255, 0.05); } + #LookingGlassDialog .notebook-tab:selected { + color: white; + background-color: rgba(255, 255, 255, 0.1); } + #LookingGlassDialog StBoxLayout#EvalBox { + padding: 4px; + spacing: 6px; + padding: 6px; } + #LookingGlassDialog StBoxLayout#ResultsArea { + spacing: 6px; + padding: 6px; } + +.lg-dialog StEntry { + background-color: rgba(48, 48, 48, 0.6); + color: white; + border-color: rgba(255, 255, 255, 0.2); + min-height: 22px; + selection-background-color: #3584e4; + selected-color: #fff; } + +.lg-dialog .shell-link { + color: #8fbbf0; } + .lg-dialog .shell-link:hover { + color: #bcd6f6; } + .lg-dialog .shell-link:active { + color: #629fea; } + +.lg-dialog .actor-link { + color: #979797; } + .lg-dialog .actor-link:hover { + color: #cacaca; } + .lg-dialog .actor-link:active { + color: #646464; } + .lg-dialog .actor-link StIcon { + icon-size: 12px; } + +.lg-completions-text { + font-style: italic; } + +.lg-obj-inspector-title { + spacing: 6px; } + +.lg-obj-inspector-button { + border: 1px solid rgba(0, 0, 0, 0.7); + padding: 4px; + border-radius: 8px; } + .lg-obj-inspector-button:hover { + border: 1px solid #ffffff; } + +#lookingGlassExtensions { + padding: 6px; } + +.lg-extensions-list { + padding: 6px; + spacing: 6px; } + +.lg-extension { + padding: 12px; + border-radius: 8px; + margin: 4px; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02); + transition-duration: 100ms; + color: white; + background-color: #3f3f3f; } + .lg-extension:focus { + transition-duration: 100ms; + color: white; + background-color: #3e4650; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } + .lg-extension:focus:hover { + background-color: #454d56; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .lg-extension:focus:active { + background-color: #4c545d; + box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } + .lg-extension:hover { + transition-duration: 100ms; + color: white; + background-color: #474747; } + .lg-extension:active { + transition-duration: 100ms; + color: white; + background-color: #4e4e4e; } + +.lg-extension-meta { + spacing: 6px; } + +#LookingGlassPropertyInspector { + background: #232323; + border: 1px solid rgba(0, 0, 0, 0.7); + border-radius: 8px; + padding: 6px; } + +.lg-debug-flag-button { + color: white; } + .lg-debug-flag-button StLabel { + padding: 6px, 12px; } + .lg-debug-flag-button:hover { + color: white; } + .lg-debug-flag-button:active { + color: #cccccc; } + +.lg-debug-flags-header { + padding-top: 12px; + padding: 6px; } + +/* Login Dialog */ +.login-dialog-banner-view { + padding-top: 24px; + max-width: 23em; } + +.login-dialog, +.unlock-dialog { + border: none; + background-color: transparent; } + .login-dialog .modal-dialog-button-box, + .unlock-dialog .modal-dialog-button-box { + spacing: 3px; } + .login-dialog .modal-dialog-button, + .unlock-dialog .modal-dialog-button { + padding: 4px 18px; + background-color: #1b1b1b; + border-color: #1b1b1b; + color: white; } + .login-dialog .modal-dialog-button:hover, .login-dialog .modal-dialog-button:focus, + .unlock-dialog .modal-dialog-button:hover, + .unlock-dialog .modal-dialog-button:focus { + background-color: #303030; + border-color: #303030; } + .login-dialog .modal-dialog-button:active, + .unlock-dialog .modal-dialog-button:active { + background-color: #161616; + border-color: #161616; } + .login-dialog .modal-dialog-button:insensitive, + .unlock-dialog .modal-dialog-button:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + border-color: #161616; + background-color: #161616; + color: rgba(255, 255, 255, 0.7); } + .login-dialog .modal-dialog-button:default, + .unlock-dialog .modal-dialog-button:default { + transition-duration: 100ms; + background-color: #3584e4; + color: #fff; + box-shadow: none; } + .login-dialog .modal-dialog-button:default:focus, + .unlock-dialog .modal-dialog-button:default:focus { + box-shadow: inset 0 0 0 2px #629fea; } + .login-dialog .modal-dialog-button:default:hover, .login-dialog .modal-dialog-button:default:focus, + .unlock-dialog .modal-dialog-button:default:hover, + .unlock-dialog .modal-dialog-button:default:focus { + background-color: #4b92e7; + color: white; } + .login-dialog .modal-dialog-button:default:active, + .unlock-dialog .modal-dialog-button:default:active { + background-color: #1d72d8; + color: #ededed; } + .login-dialog .modal-dialog-button:default:insensitive, + .unlock-dialog .modal-dialog-button:default:insensitive { + transition-duration: 100ms; + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); + background-color: rgba(53, 132, 228, 0.5); + color: rgba(255, 255, 255, 0.5); } + .login-dialog .cancel-button, + .login-dialog .switch-user-button, + .login-dialog .login-dialog-session-list-button, + .unlock-dialog .cancel-button, + .unlock-dialog .switch-user-button, + .unlock-dialog .login-dialog-session-list-button { + padding: 0; + border-radius: 99px; + width: 2.18em; + height: 2.18em; + border-color: #1b1b1b; + background-color: #1b1b1b; } + .login-dialog .cancel-button StIcon, + .login-dialog .switch-user-button StIcon, + .login-dialog .login-dialog-session-list-button StIcon, + .unlock-dialog .cancel-button StIcon, + .unlock-dialog .switch-user-button StIcon, + .unlock-dialog .login-dialog-session-list-button StIcon { + icon-size: 1.09em; } + .login-dialog .caps-lock-warning-label, + .login-dialog .login-dialog-message-warning, + .unlock-dialog .caps-lock-warning-label, + .unlock-dialog .login-dialog-message-warning { + color: white; } + +.login-dialog-logo-bin { + padding: 24px 0px; } + +.login-dialog-banner { + color: #e6e6e6; } + +.login-dialog-button-box { + width: 23em; + spacing: 5px; } + +.login-dialog-message { + text-align: center; } + +.login-dialog-user-selection-box { + padding: 100px 0px; } + +.login-dialog-not-listed-label { + padding-left: 2px; } + .login-dialog-not-listed-button:focus .login-dialog-not-listed-label, .login-dialog-not-listed-button:hover .login-dialog-not-listed-label { + color: white; } + +.login-dialog-not-listed-label { + font-weight: bold; + color: #b3b3b3; + padding-top: 1em; } + +.login-dialog-auth-list-view { + -st-vfade-offset: 1em; } + +.login-dialog-auth-list { + spacing: 6px; + margin-left: 2em; } + +.login-dialog-auth-list-title { + margin-left: 2em; } + +.login-dialog-auth-list-item { + border-radius: 12px; + padding: 6px; + color: #b3b3b3; } + .login-dialog-auth-list-item:focus, .login-dialog-auth-list-item:selected { + background-color: #3584e4; + color: #fff; } + +.login-dialog-auth-list-label { + font-size: 13pt; + font-weight: bold; + padding-left: 15px; } + .login-dialog-auth-list-label:ltr { + padding-left: 14px; + text-align: left; } + .login-dialog-auth-list-label:rtl { + padding-right: 14px; + text-align: right; } + +.login-dialog-user-list-view { + -st-vfade-offset: 1em; } + +.login-dialog-user-list { + spacing: 12px; + width: 23em; } + .login-dialog-user-list:expanded .login-dialog-user-list-item:selected { + background-color: #3584e4; + color: #fff; } + .login-dialog-user-list:expanded .login-dialog-user-list-item:logged-in { + border-right: 2px solid #3584e4; } + +.login-dialog-user-list-item { + border-radius: 12px; + padding: 6px; + color: #b3b3b3; } + .login-dialog-user-list-item:ltr .user-widget { + padding-right: 1em; } + .login-dialog-user-list-item:rtl .user-widget { + padding-left: 1em; } + .login-dialog-user-list-item .login-dialog-timed-login-indicator { + height: 2px; + margin-top: 6px; + background-color: white; } + .login-dialog-user-list-item:focus .login-dialog-timed-login-indicator { + background-color: #fff; } + +.user-widget-label { + color: white; } + +.user-widget.horizontal .user-widget-label { + font-size: 13pt; + font-weight: bold; + padding-left: 15px; } + .user-widget.horizontal .user-widget-label:ltr { + padding-left: 14px; + text-align: left; } + .user-widget.horizontal .user-widget-label:rtl { + padding-right: 14px; + text-align: right; } + +.user-widget.vertical .user-widget-label { + font-size: 16pt; + text-align: center; + font-weight: normal; + padding-top: 16px; } + +.login-dialog-timed-login-indicator { + height: 2px; + background-color: #999999; } + +.login-dialog-prompt-layout { + padding-top: 24px; + padding-bottom: 12px; + spacing: 12px; + width: 23em; } + +.login-dialog-prompt-entry { + height: 1.5em; } + +.login-dialog-prompt-label { + color: #cccccc; + font-size: 12pt; + padding-top: 1em; } + +.login-dialog StEntry { + background-color: #1b1b1b; + color: white; } + +.unlock-dialog StEntry { + border: none !important; } + .unlock-dialog StEntry:focus { + background-color: rgba(255, 255, 255, 0.1); } + .unlock-dialog StEntry:insensitive { + color: rgba(255, 255, 255, 0.5); + background-color: rgba(255, 255, 255, 0.05); } + +.unlock-dialog .cancel-button, +.unlock-dialog .switch-user-button, +.unlock-dialog .login-dialog-session-list-button { + border-color: transparent; + background-color: rgba(255, 255, 255, 0.1); } + +/* Screen Shield */ +.unlock-dialog-clock { + color: white; + font-weight: 300; + text-align: center; + spacing: 24px; + padding-bottom: 2.5em; } + +.unlock-dialog-clock-time { + font-size: 64pt; + padding-top: 42px; } + +.unlock-dialog-clock-date { + font-size: 16pt; + font-weight: normal; } + +.unlock-dialog-clock-hint { + font-weight: normal; + padding-top: 48px; } + +.unlock-dialog-notifications-container { + margin: 12px; + spacing: 6px; + width: 23em; + background-color: transparent; } + .unlock-dialog-notifications-container .summary-notification-stack-scrollview { + padding-top: 0; + padding-bottom: 0; } + .unlock-dialog-notifications-container .notification, + .unlock-dialog-notifications-container .unlock-dialog-notification-source { + padding: 12px 16px; + border: none; + background-color: rgba(255, 255, 255, 0.1); + color: white; + border-radius: 16px; } + .unlock-dialog-notifications-container .notification.critical, + .unlock-dialog-notifications-container .unlock-dialog-notification-source.critical { + background-color: rgba(255, 255, 255, 0.2); } + +.unlock-dialog-notification-label { + padding-left: 12px; + padding-right: 0; } + .unlock-dialog-notification-label:rtl { + padding-right: 12px; + padding-left: 0; } + +.unlock-dialog-notification-count-text { + font-weight: bold; + padding: 0 12px; + color: white; + background-color: rgba(255, 255, 255, 0.1); + border-radius: 99px; } + +.screen-shield-background { + background: black; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6); } + +#lockDialogGroup { + background-color: #232323; } + +#unlockDialogNotifications StButton#vhandle, #unlockDialogNotifications StButton#hhandle { + background-color: rgba(48, 48, 48, 0.3); } + #unlockDialogNotifications StButton#vhandle:hover, #unlockDialogNotifications StButton#vhandle:focus, #unlockDialogNotifications StButton#hhandle:hover, #unlockDialogNotifications StButton#hhandle:focus { + background-color: rgba(48, 48, 48, 0.5); } + #unlockDialogNotifications StButton#vhandle:active, #unlockDialogNotifications StButton#hhandle:active { + background-color: rgba(53, 132, 228, 0.5); } diff --git a/data/theme/gnome-shell.scss b/data/theme/gnome-shell.scss new file mode 100644 index 0000000..8ee4999 --- /dev/null +++ b/data/theme/gnome-shell.scss @@ -0,0 +1,6 @@ +$variant: 'dark'; + +@import "gnome-shell-sass/_colors"; //use gtk colors +@import "gnome-shell-sass/_drawing"; +@import "gnome-shell-sass/_common"; +@import "gnome-shell-sass/_widgets"; diff --git a/data/theme/meson.build b/data/theme/meson.build new file mode 100644 index 0000000..e6c1723 --- /dev/null +++ b/data/theme/meson.build @@ -0,0 +1,62 @@ +theme_sources = files([ + 'gnome-shell-high-contrast.scss', + 'gnome-shell.scss', + 'gnome-shell-sass/_colors.scss', + 'gnome-shell-sass/_common.scss', + 'gnome-shell-sass/_drawing.scss', + 'gnome-shell-sass/_high-contrast-colors.scss', + 'gnome-shell-sass/_widgets.scss', + 'gnome-shell-sass/widgets/_a11y.scss', + 'gnome-shell-sass/widgets/_app-grid.scss', + 'gnome-shell-sass/widgets/_base.scss', + 'gnome-shell-sass/widgets/_buttons.scss', + 'gnome-shell-sass/widgets/_calendar.scss', + 'gnome-shell-sass/widgets/_check-box.scss', + 'gnome-shell-sass/widgets/_corner-ripple.scss', + 'gnome-shell-sass/widgets/_dash.scss', + 'gnome-shell-sass/widgets/_dialogs.scss', + 'gnome-shell-sass/widgets/_entries.scss', + 'gnome-shell-sass/widgets/_hotplug.scss', + 'gnome-shell-sass/widgets/_ibus-popup.scss', + 'gnome-shell-sass/widgets/_keyboard.scss', + 'gnome-shell-sass/widgets/_login-dialog.scss', + 'gnome-shell-sass/widgets/_looking-glass.scss', + 'gnome-shell-sass/widgets/_message-list.scss', + 'gnome-shell-sass/widgets/_misc.scss', + 'gnome-shell-sass/widgets/_notifications.scss', + 'gnome-shell-sass/widgets/_osd.scss', + 'gnome-shell-sass/widgets/_overview.scss', + 'gnome-shell-sass/widgets/_panel.scss', + 'gnome-shell-sass/widgets/_popovers.scss', + 'gnome-shell-sass/widgets/_quick-settings.scss', + 'gnome-shell-sass/widgets/_screen-shield.scss', + 'gnome-shell-sass/widgets/_screenshot.scss', + 'gnome-shell-sass/widgets/_scrollbars.scss', + 'gnome-shell-sass/widgets/_search-entry.scss', + 'gnome-shell-sass/widgets/_search-results.scss', + 'gnome-shell-sass/widgets/_slider.scss', + 'gnome-shell-sass/widgets/_switcher-popup.scss', + 'gnome-shell-sass/widgets/_switches.scss', + 'gnome-shell-sass/widgets/_window-picker.scss', + 'gnome-shell-sass/widgets/_workspace-switcher.scss', + 'gnome-shell-sass/widgets/_workspace-thumbnails.scss' +]) + +stylesheets = [ + 'gnome-shell-high-contrast.css', + 'gnome-shell.css' +] + +foreach stylesheet: stylesheets + if not fs.exists(stylesheet) + sassc = find_program('sassc') + theme_deps += custom_target(stylesheet, + input: fs.replace_suffix(stylesheet, '.scss'), + output: stylesheet, + command: [ + sassc, '-a', '@INPUT@', '@OUTPUT@' + ], + depend_files: theme_sources) + endif +endforeach + diff --git a/data/theme/pad-osd.css b/data/theme/pad-osd.css new file mode 100644 index 0000000..e0c9048 --- /dev/null +++ b/data/theme/pad-osd.css @@ -0,0 +1,29 @@ +.Leader { + stroke-width: .5 !important; + stroke: #535353; + fill: none !important; +} + +.Button { + stroke-width: .25; + stroke: #ededed; + fill: #ededed; +} + +.Ring { + stroke-width: .5 !important; + stroke: #535353 !important; + fill: none !important; +} + +.Label { + stroke: none !important; + stroke-width: .1 !important; + fill: transparent !important; +} + +.TouchStrip, .TouchRing { + stroke-width: .1 !important; + stroke: #ededed !important; + fill: #535353 !important; +} diff --git a/data/theme/process-working.svg b/data/theme/process-working.svg new file mode 100644 index 0000000..920a67d --- /dev/null +++ b/data/theme/process-working.svg @@ -0,0 +1,3084 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/theme/running-indicator.svg b/data/theme/running-indicator.svg new file mode 100644 index 0000000..ebe7ecf --- /dev/null +++ b/data/theme/running-indicator.svg @@ -0,0 +1,130 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/theme/toggle-off-hc.svg b/data/theme/toggle-off-hc.svg new file mode 100644 index 0000000..036794f --- /dev/null +++ b/data/theme/toggle-off-hc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/theme/toggle-off-light.svg b/data/theme/toggle-off-light.svg new file mode 100644 index 0000000..14cb424 --- /dev/null +++ b/data/theme/toggle-off-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/theme/toggle-off.svg b/data/theme/toggle-off.svg new file mode 100644 index 0000000..323f73b --- /dev/null +++ b/data/theme/toggle-off.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/theme/toggle-on-hc.svg b/data/theme/toggle-on-hc.svg new file mode 100644 index 0000000..2d553c6 --- /dev/null +++ b/data/theme/toggle-on-hc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/theme/toggle-on-light.svg b/data/theme/toggle-on-light.svg new file mode 100644 index 0000000..f3dbf31 --- /dev/null +++ b/data/theme/toggle-on-light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/theme/toggle-on.svg b/data/theme/toggle-on.svg new file mode 100644 index 0000000..215760f --- /dev/null +++ b/data/theme/toggle-on.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/theme/workspace-placeholder.svg b/data/theme/workspace-placeholder.svg new file mode 100644 index 0000000..ff5dc92 --- /dev/null +++ b/data/theme/workspace-placeholder.svg @@ -0,0 +1,119 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/update-osk-layouts.sh b/data/update-osk-layouts.sh new file mode 100755 index 0000000..8d78c0e --- /dev/null +++ b/data/update-osk-layouts.sh @@ -0,0 +1,47 @@ +#!/bin/env bash + +CLDR_LAYOUTS_TARBALL="http://www.unicode.org/Public/cldr/latest/keyboards.zip" + +WORKDIR=".osk-layout-workbench" +CLDR2JSON="cldr2json/cldr2json.py" +SRCDIR="$WORKDIR/keyboards/android" +DESTDIR="osk-layouts" +GRESOURCE_FILE="gnome-shell-osk-layouts.gresource.xml" +TMP_GRESOURCE_FILE=".$GRESOURCE_FILE.tmp" + +cd `dirname $0` + +# Ensure work/dest dirs +rm -rf $WORKDIR +mkdir -p $WORKDIR +mkdir -p "osk-layouts" + +# Download stuff on the work dir +pushd $WORKDIR +gio copy $CLDR_LAYOUTS_TARBALL . +unzip keyboards.zip +popd + +# Transform to JSON files +$CLDR2JSON $SRCDIR $DESTDIR + +# Generate new gresources xml file +cat >$TMP_GRESOURCE_FILE < + + +EOF + +for f in $DESTDIR/*.json +do + echo " $(basename $f)" >>$TMP_GRESOURCE_FILE +done + +cat >>$TMP_GRESOURCE_FILE <emoji.json + + +EOF + +# Rewrite old gresources xml +mv $TMP_GRESOURCE_FILE $GRESOURCE_FILE -- cgit v1.2.3