From 4886297dbbdffdae4fc89b7e62ad310d7bc66080 Mon Sep 17 00:00:00 2001 From: urikdev Date: Sat, 7 Mar 2026 12:06:35 -0600 Subject: [PATCH] Adds Hcesar layout --- app/src/main/assets/layouts/hcesar.json | 141 ++++++++++++++++++ app/src/main/assets/layouts/pt.json | 42 +++--- .../urik/keyboard/data/KeyboardRepository.kt | 1 + .../keyboard/settings/KeyboardSettings.kt | 1 + app/src/main/res/values-ar/strings.xml | 6 - app/src/main/res/values-ca/strings.xml | 3 - app/src/main/res/values-cs/strings.xml | 3 - app/src/main/res/values-de/strings.xml | 3 - app/src/main/res/values-el/strings.xml | 3 - app/src/main/res/values-es/strings.xml | 3 - app/src/main/res/values-fa/strings.xml | 3 - app/src/main/res/values-fr/strings.xml | 6 - app/src/main/res/values-it/strings.xml | 3 - app/src/main/res/values-nl/strings.xml | 3 - app/src/main/res/values-pl/strings.xml | 3 - app/src/main/res/values-pt/strings.xml | 3 - app/src/main/res/values-ru/strings.xml | 3 - app/src/main/res/values-sv/strings.xml | 3 - app/src/main/res/values-uk/strings.xml | 3 - app/src/main/res/values/strings.xml | 7 +- 20 files changed, 168 insertions(+), 75 deletions(-) create mode 100644 app/src/main/assets/layouts/hcesar.json diff --git a/app/src/main/assets/layouts/hcesar.json b/app/src/main/assets/layouts/hcesar.json new file mode 100644 index 00000000..14b54471 --- /dev/null +++ b/app/src/main/assets/layouts/hcesar.json @@ -0,0 +1,141 @@ +{ + "locale": "hcesar", + "script": "Latn", + "isRTL": false, + "modes": { + "letters": { + "rows": [ + [ + {"type": "character", "char": "1", "keyType": "number"}, + {"type": "character", "char": "2", "keyType": "number"}, + {"type": "character", "char": "3", "keyType": "number"}, + {"type": "character", "char": "4", "keyType": "number"}, + {"type": "character", "char": "5", "keyType": "number"}, + {"type": "character", "char": "6", "keyType": "number"}, + {"type": "character", "char": "7", "keyType": "number"}, + {"type": "character", "char": "8", "keyType": "number"}, + {"type": "character", "char": "9", "keyType": "number"}, + {"type": "character", "char": "0", "keyType": "number"} + ], + [ + {"type": "character", "char": "h", "keyType": "letter"}, + {"type": "character", "char": "c", "keyType": "letter"}, + {"type": "character", "char": "e", "keyType": "letter"}, + {"type": "character", "char": "s", "keyType": "letter"}, + {"type": "character", "char": "a", "keyType": "letter"}, + {"type": "character", "char": "r", "keyType": "letter"}, + {"type": "character", "char": "i", "keyType": "letter"}, + {"type": "character", "char": "d", "keyType": "letter"}, + {"type": "character", "char": "l", "keyType": "letter"}, + {"type": "character", "char": "p", "keyType": "letter"} + ], + [ + {"type": "character", "char": "z", "keyType": "letter"}, + {"type": "character", "char": "x", "keyType": "letter"}, + {"type": "character", "char": "o", "keyType": "letter"}, + {"type": "character", "char": "m", "keyType": "letter"}, + {"type": "character", "char": "n", "keyType": "letter"}, + {"type": "character", "char": "t", "keyType": "letter"}, + {"type": "character", "char": "u", "keyType": "letter"}, + {"type": "character", "char": "g", "keyType": "letter"}, + {"type": "character", "char": "v", "keyType": "letter"}, + {"type": "character", "char": "q", "keyType": "letter"} + ], + [ + {"type": "action", "action": "shift"}, + {"type": "character", "char": "f", "keyType": "letter"}, + {"type": "character", "char": "b", "keyType": "letter"}, + {"type": "character", "char": "j", "keyType": "letter"}, + {"type": "character", "char": "ç", "keyType": "letter"}, + {"type": "character", "char": "k", "keyType": "letter"}, + {"type": "character", "char": "w", "keyType": "letter"}, + {"type": "character", "char": "y", "keyType": "letter"}, + {"type": "action", "action": "backspace"} + ], + [ + {"type": "action", "action": "mode_switch_symbols"}, + {"type": "character", "char": ",", "keyType": "punctuation"}, + {"type": "action", "action": "space"}, + {"type": "character", "char": ".", "keyType": "punctuation"}, + {"type": "action", "action": "dynamic_action"} + ] + ] + }, + "numbers": { + "rows": [ + [ + {"type": "character", "char": "1", "keyType": "number"}, + {"type": "character", "char": "2", "keyType": "number"}, + {"type": "character", "char": "3", "keyType": "number"} + ], + [ + {"type": "character", "char": "4", "keyType": "number"}, + {"type": "character", "char": "5", "keyType": "number"}, + {"type": "character", "char": "6", "keyType": "number"} + ], + [ + {"type": "character", "char": "7", "keyType": "number"}, + {"type": "character", "char": "8", "keyType": "number"}, + {"type": "character", "char": "9", "keyType": "number"} + ], + [ + {"type": "character", "char": ".", "keyType": "punctuation"}, + {"type": "character", "char": "0", "keyType": "number"}, + {"type": "action", "action": "backspace"} + ], + [ + {"type": "action", "action": "mode_switch_letters"}, + {"type": "character", "char": ",", "keyType": "punctuation"}, + {"type": "action", "action": "space"}, + {"type": "character", "char": ".", "keyType": "punctuation"}, + {"type": "action", "action": "dynamic_action"} + ] + ] + }, + "symbols": { + "rows": [ + [ + {"type": "character", "char": "!", "keyType": "symbol"}, + {"type": "character", "char": "@", "keyType": "symbol"}, + {"type": "character", "char": "#", "keyType": "symbol"}, + {"type": "character", "char": "$", "keyType": "symbol"}, + {"type": "character", "char": "%", "keyType": "symbol"}, + {"type": "character", "char": "^", "keyType": "symbol"}, + {"type": "character", "char": "&", "keyType": "symbol"}, + {"type": "character", "char": "*", "keyType": "symbol"}, + {"type": "character", "char": "(", "keyType": "symbol"}, + {"type": "character", "char": ")", "keyType": "symbol"} + ], + [ + {"type": "character", "char": "-", "keyType": "symbol"}, + {"type": "character", "char": "_", "keyType": "symbol"}, + {"type": "character", "char": "=", "keyType": "symbol"}, + {"type": "character", "char": "+", "keyType": "symbol"}, + {"type": "character", "char": "[", "keyType": "symbol"}, + {"type": "character", "char": "]", "keyType": "symbol"}, + {"type": "character", "char": "{", "keyType": "symbol"}, + {"type": "character", "char": "}", "keyType": "symbol"}, + {"type": "character", "char": "\\", "keyType": "symbol"}, + {"type": "character", "char": "|", "keyType": "symbol"} + ], + [ + {"type": "character", "char": ".", "keyType": "symbol"}, + {"type": "character", "char": ",", "keyType": "symbol"}, + {"type": "character", "char": "'", "keyType": "symbol"}, + {"type": "character", "char": "\"", "keyType": "symbol"}, + {"type": "character", "char": ":", "keyType": "symbol"}, + {"type": "character", "char": "<", "keyType": "symbol"}, + {"type": "character", "char": ">", "keyType": "symbol"}, + {"type": "character", "char": "/", "keyType": "symbol"}, + {"type": "character", "char": "?", "keyType": "symbol"}, + {"type": "action", "action": "backspace"} + ], + [ + {"type": "action", "action": "mode_switch_letters"}, + {"type": "action", "action": "space"}, + {"type": "action", "action": "dynamic_action"} + ] + ] + } + } +} diff --git a/app/src/main/assets/layouts/pt.json b/app/src/main/assets/layouts/pt.json index 67634cdf..26513282 100644 --- a/app/src/main/assets/layouts/pt.json +++ b/app/src/main/assets/layouts/pt.json @@ -18,38 +18,38 @@ {"type": "character", "char": "0", "keyType": "number"} ], [ - {"type": "character", "char": "q", "keyType": "letter"}, - {"type": "character", "char": "w", "keyType": "letter"}, + {"type": "character", "char": "h", "keyType": "letter"}, + {"type": "character", "char": "c", "keyType": "letter"}, {"type": "character", "char": "e", "keyType": "letter"}, + {"type": "character", "char": "s", "keyType": "letter"}, + {"type": "character", "char": "a", "keyType": "letter"}, {"type": "character", "char": "r", "keyType": "letter"}, - {"type": "character", "char": "t", "keyType": "letter"}, - {"type": "character", "char": "y", "keyType": "letter"}, - {"type": "character", "char": "u", "keyType": "letter"}, {"type": "character", "char": "i", "keyType": "letter"}, - {"type": "character", "char": "o", "keyType": "letter"}, - {"type": "character", "char": "p", "keyType": "letter"} - ], - [ - {"type": "character", "char": "a", "keyType": "letter"}, - {"type": "character", "char": "s", "keyType": "letter"}, {"type": "character", "char": "d", "keyType": "letter"}, - {"type": "character", "char": "f", "keyType": "letter"}, - {"type": "character", "char": "g", "keyType": "letter"}, - {"type": "character", "char": "h", "keyType": "letter"}, - {"type": "character", "char": "j", "keyType": "letter"}, - {"type": "character", "char": "k", "keyType": "letter"}, {"type": "character", "char": "l", "keyType": "letter"}, - {"type": "character", "char": "ç", "keyType": "letter"} + {"type": "character", "char": "p", "keyType": "letter"} ], [ - {"type": "action", "action": "shift"}, {"type": "character", "char": "z", "keyType": "letter"}, {"type": "character", "char": "x", "keyType": "letter"}, - {"type": "character", "char": "c", "keyType": "letter"}, + {"type": "character", "char": "o", "keyType": "letter"}, + {"type": "character", "char": "m", "keyType": "letter"}, + {"type": "character", "char": "n", "keyType": "letter"}, + {"type": "character", "char": "t", "keyType": "letter"}, + {"type": "character", "char": "u", "keyType": "letter"}, + {"type": "character", "char": "g", "keyType": "letter"}, {"type": "character", "char": "v", "keyType": "letter"}, + {"type": "character", "char": "q", "keyType": "letter"} + ], + [ + {"type": "action", "action": "shift"}, + {"type": "character", "char": "f", "keyType": "letter"}, {"type": "character", "char": "b", "keyType": "letter"}, - {"type": "character", "char": "n", "keyType": "letter"}, - {"type": "character", "char": "m", "keyType": "letter"}, + {"type": "character", "char": "j", "keyType": "letter"}, + {"type": "character", "char": "ç", "keyType": "letter"}, + {"type": "character", "char": "k", "keyType": "letter"}, + {"type": "character", "char": "w", "keyType": "letter"}, + {"type": "character", "char": "y", "keyType": "letter"}, {"type": "action", "action": "backspace"} ], [ diff --git a/app/src/main/java/com/urik/keyboard/data/KeyboardRepository.kt b/app/src/main/java/com/urik/keyboard/data/KeyboardRepository.kt index 183f745e..5db0cd01 100644 --- a/app/src/main/java/com/urik/keyboard/data/KeyboardRepository.kt +++ b/app/src/main/java/com/urik/keyboard/data/KeyboardRepository.kt @@ -145,6 +145,7 @@ class KeyboardRepository com.urik.keyboard.settings.AlternativeKeyboardLayout.DVORAK -> "dvorak" com.urik.keyboard.settings.AlternativeKeyboardLayout.COLEMAK -> "colemak" com.urik.keyboard.settings.AlternativeKeyboardLayout.WORKMAN -> "workman" + com.urik.keyboard.settings.AlternativeKeyboardLayout.HCESAR -> "hcesar" } val cacheKey = "${layoutIdentifier}_${mode.name}_${currentAction.name}" diff --git a/app/src/main/java/com/urik/keyboard/settings/KeyboardSettings.kt b/app/src/main/java/com/urik/keyboard/settings/KeyboardSettings.kt index 521a3e04..84225aac 100644 --- a/app/src/main/java/com/urik/keyboard/settings/KeyboardSettings.kt +++ b/app/src/main/java/com/urik/keyboard/settings/KeyboardSettings.kt @@ -95,6 +95,7 @@ enum class AlternativeKeyboardLayout( DVORAK(R.string.alternative_layout_dvorak), COLEMAK(R.string.alternative_layout_colemak), WORKMAN(R.string.alternative_layout_workman), + HCESAR(R.string.alternative_layout_hcesar), } /** diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 8d3daaf4..4cb62f9e 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -136,12 +136,6 @@ غير مفعل حجم مفتاح المسافة الإعتيادي (تخطيط اللغة) - QWERTY - AZERTY - QWERTZ - Dvorak - Colemak - Workman خصص بالمفاتيح إختر حرف لإستخدامه مع الضغط المطول diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 12a3fcb6..de220d51 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -128,9 +128,6 @@ Desactivat Mida de la barra espaiadora Predeterminat (Disseny d\'idioma) - Dvorak - Colemak - Workman Personalitzar tecles Assignar un caràcter personalitzat a la premsa llarga diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index ebaaf8a3..22c20efc 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -126,9 +126,6 @@ Zakázáno Velikost mezerníku Výchozí (Jazykové rozložení) - Dvorak - Colemak - Workman Přizpůsobit klávesy Přiřadit vlastní znak dlouhému stisknutí diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index aa6e22eb..2bc961ab 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -125,9 +125,6 @@ Deaktiviert Leertastenbreite Standard (Sprachlayout) - Dvorak - Colemak - Workman Tasten anpassen Benutzerdefiniertes Zeichen für Langdruck zuweisen diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 80233d85..a3ae8330 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -128,9 +128,6 @@ Απενεργοποιημένο Μέγεθος πλήκτρου διαστήματος Προεπιλογή (διάταξη γλώσσας) - Dvorak - Colemak - Workman Προσαρμογή πλήκτρων Ορισμός προσαρμοσμένου χαρακτήρα για παρατεταμένο πάτημα diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 4c3b3d55..4f6f8b32 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -126,9 +126,6 @@ Deshabilitado Tamaño de la barra espaciadora Predeterminado (Diseño de idioma) - Dvorak - Colemak - Workman Personalizar teclas Asignar carácter personalizado a pulsación larga diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 8c60e8d9..b7b083a0 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -158,9 +158,6 @@ غیرفعال اندازه نوار فاصله پیش‌فرض (چیدمان زبان) - Dvorak - Colemak - Workman تاریخچه کلیپ‌بورد diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 1a329c62..2934546a 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -139,12 +139,6 @@ Désactivée Taille de la barre d\'espace Par défaut (disposition linguistique) - QWERTY - AZERTY - QWERTZ - Dvorak - Colemak - Workman Personnaliser les touches Attribuer un caractère personnalisé à un appui long diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index a3fc686e..286f89ef 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -159,9 +159,6 @@ Disabilitato Dimensione barra spaziatrice Predefinito (Layout lingua) - Dvorak - Colemak - Workman Cronologia appunti diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 007adf4d..5093182b 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -159,9 +159,6 @@ Uitgeschakeld Spatiebalkgrootte Standaard (Taalindeling) - Dvorak - Colemak - Workman Klembordgeschiedenis diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index c9afb048..7c0c913a 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -147,9 +147,6 @@ Wyłączone Rozmiar spacji Domyślny (Układ językowy) - Dvorak - Colemak - Workman Historia Schowka diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 9362d1aa..659451ec 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -146,9 +146,6 @@ Desativado Tamanho da barra de espaço Padrão (Layout do idioma) - Dvorak - Colemak - Workman Histórico da área de transferência diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 582b12d5..95f56683 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -148,9 +148,6 @@ Выключено Размер Пробела По умолчанию (Языковая раскладка) - Dvorak - Colemak - Workman История Буфера Обмена diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index d7b9b7c3..fb0284d5 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -100,9 +100,6 @@ Inaktiverad Storlek på mellanslagstangenten Standard (Språklayout) - Dvorak - Colemak - Workman Urklippshistorik Urklippshistorik aktiverad Urklippshistorik inaktiverad diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 31907991..960930f8 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -147,9 +147,6 @@ Вимкнено Розмір Клавіші Пробілу За замовчуванням (Мовна розкладка) - Dvorak - Colemak - Workman Історія Буфера Обміну diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 900dae34..e26941ff 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -143,9 +143,10 @@ QWERTY AZERTY QWERTZ - Dvorak - Colemak - Workman + Dvorak + Colemak + Workman + HCESAR Customize Keys Assign custom character to long-press