gnome-shell/data
2022-09-22 13:10:05 -04:00
..
cldr2json data: Update cldr2json script to new format 2022-08-10 17:11:26 +00:00
dbus-interfaces dbus-interfaces: Add names to introspection data for notifications 2022-08-09 11:55:46 +00:00
icons data: Update 'hide' and 'layout' OSK keys icons 2022-08-19 10:09:43 +00:00
osk-layouts osk-layouts: Fix proportions in malayalam OSK layout 2022-08-10 17:11:26 +00:00
theme Citadel changes to gnome-shell 2022-09-22 13:10:05 -04:00
00_org.gnome.shell.gschema.override Replace custom override schema with per-desktop override 2018-07-31 18:36:26 +00:00
50-gnome-shell-launchers.xml data: Register switch-to-application shortcuts with g-c-c 2021-07-05 18:46:08 +00:00
50-gnome-shell-screenshots.xml screenshot-ui: Add a key to open the screencast UI 2022-02-12 12:13:22 +00:00
50-gnome-shell-system.xml build: Say good-bye to intltool 2016-08-19 22:13:14 +02:00
emoji.json keyboard: Add Emoji keyboard 2019-02-05 16:25:57 +01:00
gnome-shell-dbus-interfaces.gresource.xml status/powerProfiles: Add power mode selection 2021-08-02 16:41:06 +02:00
gnome-shell-icons.gresource.xml status/darkMode: Add dark mode toggle 2022-08-02 16:05:28 +00:00
gnome-shell-osk-layouts.gresource.xml keyboard: Add Hangul OSK keymap 2022-08-10 17:11:26 +00:00
gnome-shell-overrides-migration.desktop.in tools: fix XDG desktop syntax in gnome-shell-overrides-migration 2018-08-03 00:49:49 +02:00
gnome-shell-theme.gresource.xml calendar: Use symbolic icon for No Notifications 2022-02-04 13:29:36 -03:30
gnome-shell.portal portal: Own org.gnome.Shell.Portal for the access portal 2021-06-05 21:29:52 -03:00
meson.build screenshot-ui: Add two key bindings from g-s-d 2022-02-12 12:13:22 +00:00
org.gnome.Shell-disable-extensions.service data: Use org.gnome.Shell prefix for systemd units 2020-07-31 13:53:31 +00:00
org.gnome.Shell-symbolic.Source.svg calendarMenu: Fix several visual issues with calendar and notifications 2022-02-11 23:23:05 +00:00
org.gnome.Shell.desktop.in.in data: Drop old bugzilla references in .desktop files 2020-01-07 12:41:57 +01:00
org.gnome.Shell.Extensions.desktop.in.in data: Add extension-portal desktop file 2020-04-05 13:36:35 +00:00
org.gnome.shell.gschema.xml.in Citadel changes to gnome-shell 2022-09-22 13:10:05 -04:00
org.gnome.Shell.PortalHelper.desktop.in.in Add translator comments to .desktop files 2016-08-19 23:15:20 +02:00
org.gnome.Shell.PortalHelper.service.in Add a helper to handle captive portal logins 2014-06-26 19:54:58 +02:00
org.gnome.Shell.target data: Fix description of org.gnome.Shell.target 2020-08-20 08:11:11 +00:00
org.gnome.Shell@wayland.service.in Clarify comments on ConditionEnvironment placement 2020-12-09 15:08:15 +00:00
org.gnome.Shell@x11.service.in Clarify comments on ConditionEnvironment placement 2020-12-09 15:08:15 +00:00
perf-background.xml.in Add a special background to use for performance testing 2014-08-18 10:54:42 -04:00
README.osk-layouts data: Document JSON file format in OSK layouts README file 2022-08-10 17:11:26 +00:00
update-osk-layouts.sh data: Don't clone cldr2json when updating OSK layouts 2020-03-27 16:44:27 +00:00

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