abouttreesummaryrefslogcommitdiff
path: root/srcs/layouts
diff options
context:
space:
mode:
authorJules Aguillon2024-01-21 16:34:49 +0100
committerJules Aguillon2024-01-21 16:34:49 +0100
commitad7314a01684185f5cf33cc31ef35d1027776a88 (patch)
tree189c2f9c8e085335689dfe30cb907cea5ba5c08e /srcs/layouts
parentbef29da3dee4aadc1f2c199cea846502e14aca5b (diff)
downloadunexpected-keyboard-ad7314a01684185f5cf33cc31ef35d1027776a88.tar.gz
unexpected-keyboard-ad7314a01684185f5cf33cc31ef35d1027776a88.zip
Move layout definitions into srcs/layouts
This separates the layout definitions from the special layouts (bottom_row, greekmath) and other unrelated files (method, settings). This is also a more intuitive location for layouts and make the resource directory easier to navigate. Under the hood, layouts are copied back into build/generated-resources/xml.
Diffstat (limited to 'srcs/layouts')
-rw-r--r--srcs/layouts/arab_alt.xml42
-rw-r--r--srcs/layouts/arab_pc.xml44
-rw-r--r--srcs/layouts/arab_pc_ckb.xml39
-rw-r--r--srcs/layouts/arab_pc_hindu.xml44
-rw-r--r--srcs/layouts/arab_pc_ir.xml42
-rw-r--r--srcs/layouts/armenian_ph_am.xml51
-rw-r--r--srcs/layouts/beng_national.xml37
-rw-r--r--srcs/layouts/beng_provat.xml37
-rw-r--r--srcs/layouts/cyrl_jcuken_ru.xml42
-rw-r--r--srcs/layouts/cyrl_jcuken_uk.xml42
-rw-r--r--srcs/layouts/cyrl_ueishsht.xml41
-rw-r--r--srcs/layouts/cyrl_yaverti.xml37
-rw-r--r--srcs/layouts/deva_alt.xml30
-rw-r--r--srcs/layouts/deva_inscript.xml37
-rw-r--r--srcs/layouts/grek_qwerty.xml37
-rw-r--r--srcs/layouts/hang_dubeolsik_kr.xml37
-rw-r--r--srcs/layouts/hebr_1_il.xml42
-rw-r--r--srcs/layouts/hebr_2_il.xml40
-rw-r--r--srcs/layouts/latn_azerty_fr.xml39
-rw-r--r--srcs/layouts/latn_bepo_fr.xml40
-rw-r--r--srcs/layouts/latn_bone.xml46
-rw-r--r--srcs/layouts/latn_colemak.xml41
-rw-r--r--srcs/layouts/latn_dvorak.xml37
-rw-r--r--srcs/layouts/latn_neo2.xml50
-rw-r--r--srcs/layouts/latn_qwerty_br.xml39
-rw-r--r--srcs/layouts/latn_qwerty_cz.xml37
-rw-r--r--srcs/layouts/latn_qwerty_es.xml38
-rw-r--r--srcs/layouts/latn_qwerty_hu.xml37
-rw-r--r--srcs/layouts/latn_qwerty_lv.xml37
-rw-r--r--srcs/layouts/latn_qwerty_no.xml37
-rw-r--r--srcs/layouts/latn_qwerty_pl.xml37
-rw-r--r--srcs/layouts/latn_qwerty_ro.xml37
-rw-r--r--srcs/layouts/latn_qwerty_se.xml41
-rw-r--r--srcs/layouts/latn_qwerty_tr.xml37
-rw-r--r--srcs/layouts/latn_qwerty_us.xml58
-rw-r--r--srcs/layouts/latn_qwerty_vi.xml38
-rw-r--r--srcs/layouts/latn_qwertz.xml37
-rw-r--r--srcs/layouts/latn_qwertz_cz.xml37
-rw-r--r--srcs/layouts/latn_qwertz_cz_multifunctional.xml37
-rw-r--r--srcs/layouts/latn_qwertz_de.xml41
-rw-r--r--srcs/layouts/latn_qwertz_fr_ch.xml42
-rw-r--r--srcs/layouts/latn_qwertz_hu.xml38
-rw-r--r--srcs/layouts/latn_qwertz_sk.xml39
-rw-r--r--srcs/layouts/urdu_phonetic_ur.xml37
44 files changed, 1755 insertions, 0 deletions
diff --git a/srcs/layouts/arab_alt.xml b/srcs/layouts/arab_alt.xml
new file mode 100644
index 0000000..380d206
--- /dev/null
+++ b/srcs/layouts/arab_alt.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="Arabic Alt" script="arabic" numpad_script="hindu-arabic">
+ <row>
+ <key key0="ض" key2="١" key3="`" key4="esc"/>
+ <key key0="ص" key2="٢" key3="\@"/>
+ <key key0="ث" key2="٣" key3="\#"/>
+ <key key0="ق" key2="٤" key3="$"/>
+ <key key0="ف" key2="٥" key3="%"/>
+ <key key0="غ" key2="٦" key3="^"/>
+ <key key0="ع" key2="٧" key3="&amp;"/>
+ <key key0="ه" key2="٨" key3="*"/>
+ <key key0="خ" key2="٩" key3="("/>
+ <key key0="ح" key2="٠" key3=")"/>
+ <key key0="ج"/>
+ </row>
+ <row>
+ <key key0="ش" key4="tab"/>
+ <key key0="س"/>
+ <key key0="ي"/>
+ <key key0="ب"/>
+ <key key0="ل"/>
+ <key key0="ا" key1="أ"/>
+ <key key0="ت"/>
+ <key key0="ن"/>
+ <key key0="م"/>
+ <key key0="ك"/>
+ <key key0="ط"/>
+ </row>
+ <row>
+ <key key0="ذ"/>
+ <key key0="ء"/>
+ <key key0="ؤ" key1="{"/>
+ <key key0="ر" key1="}"/>
+ <key key0="ى" key1="ئ"/>
+ <key key0="ة"/>
+ <key key0="و" key3=","/>
+ <key key0="ز" key3="."/>
+ <key key0="ظ" key3="&#1567;"/>
+ <key key0="د"/>
+ <key width="1.0" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/arab_pc.xml b/srcs/layouts/arab_pc.xml
new file mode 100644
index 0000000..62b086d
--- /dev/null
+++ b/srcs/layouts/arab_pc.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="Arabic PC" script="arabic">
+ <row>
+ <key key0="ض" key1="&#1614;" key2="1" key3="`" key4="esc"/>
+ <key key0="ص" key1="&#1611;" key2="2" key3="\@"/>
+ <key key0="ث" key1="&#1615;" key2="3" key3="\#" key4="loc €"/>
+ <key key0="ق" key1="&#1612;" key2="4" key3="$" key4="loc £"/>
+ <key key0="ف" key1="&#1604;&#1573;" key2="5" key3="%"/>
+ <key key0="غ" key1="&#1573;" key2="6" key3="^"/>
+ <key key0="ع" key1="&#8216;" key2="7" key3="&amp;"/>
+ <key key0="ه" key1="&#0247;" key2="8" key3="*"/>
+ <key key0="خ" key1="&#0215;" key2="9" key3="("/>
+ <key key0="ح" key1="&#1563;" key2="0" key3=")"/>
+ <key key0="ج" key1="&gt;" key2="-" key3="_" key4="f11_placeholder"/>
+ <key key0="د" key1="&lt;" key2="=" key3="ذ" key4="f12_placeholder"/>
+ <!-- <key key0="ذ" key1="&#1617;" key3="\\" key4="|"/> -->
+ </row>
+ <row>
+ <key shift="0.5" key0="ش" key1="&#1616;" key4="tab"/>
+ <key key0="س" key1="&#1613;"/>
+ <key key0="ي" key1="["/>
+ <key key0="ب" key1="]"/>
+ <key key0="ل" key1="&#1604;&#1571;"/>
+ <key key0="ا" key1="أ"/>
+ <key key0="ت" key1="ـ"/>
+ <key key0="ن" key1="&#1548;"/>
+ <key key0="م" key1="/"/>
+ <key key0="ك" key1=":"/>
+ <key key0="ط" key1="&quot;"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="ئ" key1="~"/>
+ <key key0="ء" key1="&#1618;"/>
+ <key key0="ؤ" key1="{"/>
+ <key key0="ر" key1="}"/>
+ <key key0="لا" key1="&#1604;&#1570;"/>
+ <key key0="ى" key1="&#1570;"/>
+ <key key0="ة" key1="&#8217;"/>
+ <key key0="و" key1=","/>
+ <key key0="ز" key1="."/>
+ <key key0="ظ" key1="&#1567;"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/arab_pc_ckb.xml b/srcs/layouts/arab_pc_ckb.xml
new file mode 100644
index 0000000..0e9bd4f
--- /dev/null
+++ b/srcs/layouts/arab_pc_ckb.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="Kurdish (کوردی)" script="arabic" numpad_script="hindu-arabic">
+ <row>
+ <key key0="ق" key1="ٯ" key2="١" key3="esc"/>
+ <key key0="و" key1="وو" key2="٢" key3="\@"/>
+ <key key0="ە" key1="ة" key2="٣" key3="\#" />
+ <key key0="ر" key1="ڕ" key2="٤" key3="$"/>
+ <key key0="ت" key1="ط" key2="٥" key3="٪"/>
+ <key key0="ی" key1="ي" key2="٦" key3="^"/>
+ <key key0="ێ" key1="ؽ" key2="٧" key3="&amp;"/>
+ <key key0="ئ" key1="ء" key2="٨" key3="*"/>
+ <key key0="ۆ" key1="ؤ" key2="٩" key3=")" key4="("/>
+ <key key0="پ" key1="ث" key2="٠"/>
+ </row>
+ <row>
+ <key key0="ا" key1="أ" key2="tab"/>
+ <key key0="س" key1="ص"/>
+ <key key0="ش" key1="ض"/>
+ <key key0="د" key1="ذ" key2="ۮ"/>
+ <key key0="ف" key1="ڤ" key2="-" key3="_"/>
+ <key key0="ه" key2="ھ" key3="ـہ"/>
+ <key key0="ژ" key1="ـ" key4="}" key3="{"/>
+ <key key0="ل" key1="ڵ" key3="]" key4="["/>
+ <key key0="ک" key2="ك" key3="\\"/>
+ <key key0="گ" key2="غ" key3="/"/>
+ </row>
+ <row>
+ <key key0="ز" key1="ظ"/>
+ <key key0="خ"/>
+ <key key0="ج"/>
+ <key key0="چ"/>
+ <key key0="ح" key1="&#1567;" key3="!"/>
+ <key key0="ع" />
+ <key key0="ب"/>
+ <key key0="ن" key2="&#1548;" key3="&#1563;"/>
+ <key key0="م"/>
+ <key key0="backspace" key2="delete" key3="f11_placeholder" key4="f12_placeholder"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/arab_pc_hindu.xml b/srcs/layouts/arab_pc_hindu.xml
new file mode 100644
index 0000000..b25eed1
--- /dev/null
+++ b/srcs/layouts/arab_pc_hindu.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="Arabic PC (Hindu numerals)" script="arabic" numpad_script="hindu-arabic">
+ <row>
+ <key key0="ض" key1="&#1614;" key2="١" key3="`" key4="esc"/>
+ <key key0="ص" key1="&#1611;" key2="٢" key3="\@"/>
+ <key key0="ث" key1="&#1615;" key2="٣" key3="\#" key4="loc €"/>
+ <key key0="ق" key1="&#1612;" key2="٤" key3="$" key4="loc £"/>
+ <key key0="ف" key1="&#1604;&#1573;" key2="٥" key3="%"/>
+ <key key0="غ" key1="&#1573;" key2="٦" key3="^"/>
+ <key key0="ع" key1="&#8216;" key2="٧" key3="&amp;"/>
+ <key key0="ه" key1="&#0247;" key2="٨" key3="*"/>
+ <key key0="خ" key1="&#0215;" key2="٩" key3="("/>
+ <key key0="ح" key1="&#1563;" key2="٠" key3=")"/>
+ <key key0="ج" key1="&gt;" key2="-" key3="_" key4="f11_placeholder"/>
+ <key key0="د" key1="&lt;" key2="=" key3="ذ" key4="f12_placeholder"/>
+ <!-- <key key0="ذ" key1="&#1617;" key3="\\" key4="|"/> -->
+ </row>
+ <row>
+ <key shift="0.5" key0="ش" key1="&#1616;" key4="tab"/>
+ <key key0="س" key1="&#1613;"/>
+ <key key0="ي" key1="["/>
+ <key key0="ب" key1="]"/>
+ <key key0="ل" key1="&#1604;&#1571;"/>
+ <key key0="ا" key1="أ"/>
+ <key key0="ت" key1="ـ"/>
+ <key key0="ن" key1="&#1548;"/>
+ <key key0="م" key1="/"/>
+ <key key0="ك" key1=":"/>
+ <key key0="ط" key1="&quot;"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="ئ" key1="~"/>
+ <key key0="ء" key1="&#1618;"/>
+ <key key0="ؤ" key1="{"/>
+ <key key0="ر" key1="}"/>
+ <key key0="لا" key1="&#1604;&#1570;"/>
+ <key key0="ى" key1="&#1570;"/>
+ <key key0="ة" key1="&#8217;"/>
+ <key key0="و" key1=","/>
+ <key key0="ز" key1="."/>
+ <key key0="ظ" key1="&#1567;"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/arab_pc_ir.xml b/srcs/layouts/arab_pc_ir.xml
new file mode 100644
index 0000000..4b5caa1
--- /dev/null
+++ b/srcs/layouts/arab_pc_ir.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="Persian PC" script="persian">
+ <row>
+ <key key0="ض" key2="۱" key4="esc"/>
+ <key key0="ص" key2="۲" key1="~" key3="\@"/>
+ <key key0="ث" key2="۳" key1="!" key3="\#"/>
+ <key key0="ق" key2="۴" key1="﷼" key3="$"/>
+ <key key0="ف" key2="۵" key3="٪"/>
+ <key key0="غ" key2="۶" key1="،" key3="^"/>
+ <key key0="ع" key2="۷" key3="&amp;"/>
+ <key key0="ه" key2="۸" key3="*"/>
+ <key key0="خ" key2="۹" key3="(" key4=")"/>
+ <key key0="ح" key2="۰"/>
+ <key key0="ج" key1="f11_placeholder" key3="f12_placeholder"/>
+ </row>
+ <row>
+ <key key0="ش" key2="tab"/>
+ <key key0="س"/>
+ <key key0="ی" key2="ئ"/>
+ <key key0="ب"/>
+ <key key0="ل"/>
+ <key key0="ا" key1="آ" key4="ء" key2="-" key3="_"/>
+ <key key0="ت" key1="&#x200C;" key2="+"/>
+ <key key0="ن"/>
+ <key key0="م"/>
+ <key key0="ک"/>
+ <key key0="گ"/>
+ </row>
+ <row>
+ <key key0="ظ"/>
+ <key key0="ط"/>
+ <key key0="ز" key2="«"/>
+ <key key0="ر" key2="»"/>
+ <key key0="ژ" key2="."/>
+ <key key0="ذ" key2=":"/>
+ <key key0="د" key2="؛"/>
+ <key key0="پ" key2="&#1567;"/>
+ <key key0="و"/>
+ <key key0="چ"/>
+ <key width="1.0" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/armenian_ph_am.xml b/srcs/layouts/armenian_ph_am.xml
new file mode 100644
index 0000000..a11737a
--- /dev/null
+++ b/srcs/layouts/armenian_ph_am.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<keyboard name="Armenian" script="armenian">
+ <row>
+ <key key0="է" key2="1"/>
+ <key key0="թ" key2="2" key1="~" key3="\@"/>
+ <key key0="փ" key2="3" key1="!" key3="\#"/>
+ <key key0="ձ" key2="4" key3="$"/>
+ <key key0="ջ" key2="5" key3="%"/>
+ <key key0="ր" key2="6" key3="^"/>
+ <key key0="չ" key2="7" key3="&amp;"/>
+ <key key0="ճ" key2="8" key3="*"/>
+ <key key0="ժ" key2="9" key3="(" key4=")"/>
+ <key key0="ծ" key2="0"/>
+ </row>
+ <row>
+ <key key0="ք" key4="esc"/>
+ <key key0="ո"/>
+ <key key0="ե" key1="և"/>
+ <key key0="ռ"/>
+ <key key0="տ"/>
+ <key key0="ը"/>
+ <key key0="ւ"/>
+ <key key0="ի"/>
+ <key key0="օ"/>
+ <key key0="պ"/>
+ </row>
+ <row>
+ <key key0="ա" key1="tab" key2="`"/>
+ <key key0="ս"/>
+ <key key0="դ"/>
+ <key key0="ֆ"/>
+ <key key0="գ"/>
+ <key key0="հ" key3="_" key2="-"/>
+ <key key0="յ" key3="+" key2="="/>
+ <key key0="կ" key3="{" key4="}"/>
+ <key key0="լ" key3="[" key4="]"/>
+ <key key0="խ" key3="\\" key2="|"/>
+ </row>
+ <row>
+ <key key0="shift" key2="loc capslock"/>
+ <key key0="զ"/>
+ <key key0="ղ"/>
+ <key key0="ց"/>
+ <key key0="վ" key4="." key2="&lt;"/>
+ <key key0="բ" key4="," key2="&gt;"/>
+ <key key0="ն" key4="/" key2="\?"/>
+ <key key0="մ" key4=";" key2=":"/>
+ <key key0="շ" key4="&apos;" key2="&quot;"/>
+ <key key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/beng_national.xml b/srcs/layouts/beng_national.xml
new file mode 100644
index 0000000..a3c0d55
--- /dev/null
+++ b/srcs/layouts/beng_national.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="বাংলা (জাতীয়)" script="bengali">
+ <row>
+ <key key0="ঙ" key2="ং" key3="esc" key4="১"/>
+ <key key0="য" key2="য়" key3="¶" key4="২"/>
+ <key key0="ড" key2="ঢ" key3="π" key4="৩"/>
+ <key key0="প" key2="ফ" key3="√" key4="৪"/>
+ <key key0="ট" key2="ঠ" key3="^" key4="৫"/>
+ <key key0="চ" key2="ছ" key3="÷" key4="৬"/>
+ <key key0="জ" key2="ঝ" key3="×" key4="৭"/>
+ <key key0="হ" key2="ঞ" key3="=" key4="৮"/>
+ <key key0="গ" key2="ঘ" key3="+" key4="৯"/>
+ <key key0="ড়" key2="ঢ়" key3="-" key4="০"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="ৃ" key1="ৠ" key2="ঋ" key3="tab" key4="র্"/>
+ <key key0="ু" key1="ঊ" key2="উ" key3="~" key4="ূ"/>
+ <key key0="ি" key1="ঈ" key2="ই" key3="•" key4="ী"/>
+ <key key0="া" key1="ৄ" key2="আ" key3="°" key4="অ"/>
+ <key key0="্" key1="ৗ" key2="ঁ" key3="\\" key4="/"/>
+ <key key0="ব" key1="`" key2="ভ" key3="&lt;" key4="&gt;"/>
+ <key key0="ক" key1="|" key2="খ" key3="[" key4="]"/>
+ <key key0="ত" key1="ৎ" key2="থ" key3="{" key4="}"/>
+ <key key0="দ" key1="_" key2="ধ" key3="(" key4=")"/>
+ </row>
+ <row>
+ <key width="1.4" key0="shift" key2="loc capslock"/>
+ <key shift="0.1" key0="্র" key2="্য" key3="\#" key4="*"/>
+ <key key0="ো" key1="ৌ" key2="ও" key3="ঔ" key4="\@"/>
+ <key key0="ে" key1="ৈ" key2="এ" key3="ঐ" key4="%"/>
+ <key key0="র" key1="ঃ" key2="ল" key3=":" key4="&amp;"/>
+ <key key0="ন" key1="৳" key2="ণ" key3=";" key4="."/>
+ <key key0="স" key1="&quot;" key2="ষ" key3="!" key4=","/>
+ <key key0="ম" key1="'" key2="শ" key3="\?" key4="।"/>
+ <key shift="0.1" width="1.4" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/beng_provat.xml b/srcs/layouts/beng_provat.xml
new file mode 100644
index 0000000..ee7be4a
--- /dev/null
+++ b/srcs/layouts/beng_provat.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<keyboard name="বাংলা (প্রভাত)" script="bengali">
+ <row>
+ <key key0="দ" key1="ধ" key2="১" key3="!" key5="esc" />
+ <key key0="ূ" key1="ঊ" key2="২" key3="\@" />
+ <key key0="ী" key1="ঈ" key2="৩" key3="\#" />
+ <key key0="র" key1="ড়" key2="৪" key3="৳" />
+ <key key0="ট" key1="ঠ" key2="৫" key3="%" />
+ <key key0="এ" key1="ঐ" key2="৬" key3="^" />
+ <key key0="ু" key1="উ" key2="৭" key3="ঞ" />
+ <key key0="ি" key1="ই" key2="৮" key3="ৎ" />
+ <key key0="ও" key1="ঔ" key2="৯" key3="(" key4=")" />
+ <key key0="প" key1="ফ" key2="০" key3="zwj" key4="~" />
+ </row>
+ <row>
+ <key shift="0.5" key0="া" key1="অ" key5="tab" />
+ <key key0="স" key1="ষ" />
+ <key key0="ড" key1="ঢ" />
+ <key key0="ত" key1="থ" />
+ <key key0="গ" key1="ঘ" key2="-" key3="_" />
+ <key key0="হ" key1="ঃ" key2="=" key3="+" />
+ <key key0="জ" key1="ঝ" key3="ে" key4="ৈ" />
+ <key key0="ক" key1="খ" key3="ো" key4="ৌ" />
+ <key key0="ল" key1="ং" key2="॥" key3="zwnj" />
+ </row>
+ <row>
+ <key width="1.5" key0="shift" />
+ <key key0="য়" key1="য" />
+ <key key0="শ" key1="ঢ়" />
+ <key key0="চ" key1="ছ" key2="ৃ" key3="," />
+ <key key0="আ" key1="ঋ" key2="ঁ" key3="।" />
+ <key key0="ব" key1="ভ" key2="\?" key3="্" />
+ <key key0="ন" key1="ণ" key2=":" key3=";" />
+ <key key0="ম" key1="ঙ" key2="&quot;" key3="'" />
+ <key width="1.5" key0="backspace" key2="delete" />
+ </row>
+</keyboard>
diff --git a/srcs/layouts/cyrl_jcuken_ru.xml b/srcs/layouts/cyrl_jcuken_ru.xml
new file mode 100644
index 0000000..81cf35c
--- /dev/null
+++ b/srcs/layouts/cyrl_jcuken_ru.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="ЙЦУКЕН (Русский)" script="cyrillic">
+ <row>
+ <key key0="й" key2="1" key4="esc"/>
+ <key key0="ц" key1="loc ї" key2="2" key3="\@" key4="~"/>
+ <key key0="у" key1="loc ў" key2="3" key3="\#" key4="!"/>
+ <key key0="к" key2="4" key3="$"/>
+ <key key0="е" key1="ё" key2="5" key3="%"/>
+ <key key0="н" key1="loc є" key2="6" key3="^"/>
+ <key key0="г" key1="loc ґ" key2="7" key3="&amp;"/>
+ <key key0="ш" key2="8" key3="*"/>
+ <key key0="щ" key2="9" key3="(" key4=")"/>
+ <key key0="з" key2="0" key3="{" key4="}"/>
+ <key key0="х" key3="[" key4="]" key1="f11_placeholder" key2="f12_placeholder"/>
+ </row>
+ <row>
+ <key key0="ф" key1="tab" key2="`"/>
+ <key key0="ы"/>
+ <key key0="в"/>
+ <key key0="а"/>
+ <key key0="п"/>
+ <key key0="р"/>
+ <key key0="о"/>
+ <key key0="л" key1="₽"/>
+ <key key0="д" key2="-" key3="_"/>
+ <key key0="ж" key2="=" key3="+"/>
+ <key key0="э" key2="|" key3="\\"/>
+ </row>
+ <row>
+ <key width="1.18" key0="shift" key2="loc capslock"/>
+ <key width="0.96" key0="я"/>
+ <key width="0.96" key0="ч"/>
+ <key width="0.96" key0="с"/>
+ <key width="0.96" key0="м"/>
+ <key width="0.96" key0="и" key1="loc і" key2="&lt;" key3="."/>
+ <key width="0.96" key0="т" key2="&gt;" key3=","/>
+ <key width="0.96" key0="ь" key1="ъ" key2="\?" key3="/"/>
+ <key width="0.96" key0="б" key2=":" key3=";"/>
+ <key width="0.96" key0="ю" key2="&quot;" key3="'"/>
+ <key width="1.18" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/cyrl_jcuken_uk.xml b/srcs/layouts/cyrl_jcuken_uk.xml
new file mode 100644
index 0000000..905f0e1
--- /dev/null
+++ b/srcs/layouts/cyrl_jcuken_uk.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="ЙЦУКЕН (Українська)" script="cyrillic">
+ <row>
+ <key shift="0.1 " key0="й" key2="1" key4="esc"/>
+ <key key0="ц" key1="~" key2="2" key3="\@"/>
+ <key key0="у" key1="!" key2="3" key3="\#" key4="loc €"/>
+ <key key0="к" key2="4" key3="$"/>
+ <key key0="е" key2="5" key3="%"/>
+ <key key0="н" key2="6" key3="^"/>
+ <key key0="г" key1="ґ" key2="7" key3="&amp;"/>
+ <key key0="ш" key2="8" key3="*"/>
+ <key key0="щ" key2="9" key3="(" key4=")"/>
+ <key key0="з" key2="0" key3="f11_placeholder" key4="f12_placeholder"/>
+ <key key0="х"/>
+ </row>
+ <row>
+ <key shift="0.1" key0="ф" key1="tab" key2="`"/>
+ <key key0="і" key2="ї"/>
+ <key key0="в" />
+ <key key0="а" />
+ <key key0="п" />
+ <key key0="р" />
+ <key key0="о" key2="-" key3="_"/>
+ <key key0="л" key2="=" key3="+"/>
+ <key key0="д" key4="}" key3="{"/>
+ <key key0="ж" key3="[" key4="]"/>
+ <key key0="є" key2="|" key3="\\"/>
+ </row>
+ <row>
+ <key width="1.1" key0="shift" key2="loc capslock"/>
+ <key key0="я"/>
+ <key key0="ч" />
+ <key key0="с" />
+ <key key0="м" key2="&lt;" key3="."/>
+ <key key0="и" key2="&gt;" key3=","/>
+ <key key0="т" key2="\?" key3="/"/>
+ <key key0="ь" key2=":" key3=";"/>
+ <key key0="б" key2="&quot;" key3="'"/>
+ <key key0="ю" key1="«" key2="»"/>
+ <key width="1.1" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/cyrl_ueishsht.xml b/srcs/layouts/cyrl_ueishsht.xml
new file mode 100644
index 0000000..e2972a8
--- /dev/null
+++ b/srcs/layouts/cyrl_ueishsht.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="УЕИШЩ (Български, БДС)" script="cyrillic">
+ <row>
+ <key key0="у" key2="1" key4="esc"/>
+ <key key0="е" key1="~" key2="2" key3="\@"/>
+ <key key0="и" key1="!" key2="3" key3="\#" key4="ѝ"/>
+ <key key0="ш" key2="4" key3="$"/>
+ <key key0="щ" key2="5" key3="%"/>
+ <key key0="к" key2="6" key3="^"/>
+ <key key0="с" key2="7" key3="&amp;" key4="§"/>
+ <key key0="д" key2="8" key3="*" key4="№"/>
+ <key key0="з" key2="9" key3="(" key4=")"/>
+ <key key0="ц" key2="0" key3="f11_placeholder" key4="f12_placeholder"/>
+ <key key0="б" key2="€"/>
+ </row>
+ <row>
+ <key key0="ь" key1="tab" key2="`"/>
+ <key key0="я"/>
+ <key key0="а"/>
+ <key key0="о" key2="-" key3="_"/>
+ <key key0="ж" key2="=" key3="+"/>
+ <key key0="г" key4="}" key3="{"/>
+ <key key0="т" key3="[" key4="]"/>
+ <key key0="н" key2="|" key3="\\"/>
+ <key key0="в"/>
+ <key key0="м"/>
+ <key key0="ч" key1="„" key2="“"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="ю"/>
+ <key key0="й"/>
+ <key key0="ъ" key1="loc accent_cedille" key2="&lt;" key4=">"/>
+ <key key0="ф" key2="\?" key3="/"/>
+ <key key0="х" key2=":" key3=";"/>
+ <key key0="п" key2="&quot;" key3="'"/>
+ <key key0="р" key3=","/>
+ <key key0="л" key3="."/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/cyrl_yaverti.xml b/srcs/layouts/cyrl_yaverti.xml
new file mode 100644
index 0000000..a228f24
--- /dev/null
+++ b/srcs/layouts/cyrl_yaverti.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="ЯВЕРТЪ" script="cyrillic">
+ <row>
+ <key key0="я" key2="1" key4="esc"/>
+ <key key0="в" key1="!" key2="2" key3="\@" key4="ч"/>
+ <key key0="е" key2="3" key3="\#" key4="№"/>
+ <key key0="р" key2="4" key3="$"/>
+ <key key0="т" key2="5" key3="%"/>
+ <key key0="ъ" key2="6" key3="^" key4="€"/>
+ <key key0="у" key2="7" key3="&amp;" key4="§"/>
+ <key key0="и" key2="8" key3="*"/>
+ <key key0="о" key2="9" key3="(" key4=")"/>
+ <key key0="п" key2="0" key3="f11_placeholder" key4="f12_placeholder"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="а" key1="tab" key2="`"/>
+ <key key0="с"/>
+ <key key0="д"/>
+ <key key0="ф"/>
+ <key key0="г" key2="-" key3="_"/>
+ <key key0="х" key2="=" key3="+"/>
+ <key key0="й" key4="}" key3="{"/>
+ <key key0="к" key2="ш" key3="[" key4="]"/>
+ <key key0="л" key1="щ" key2="|" key3="\\" key4="ю"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="з"/>
+ <key key0="ь" key3="ѝ"/>
+ <key key0="ц" key2="&lt;" key3="."/>
+ <key key0="ж" key2="&gt;" key3=","/>
+ <key key0="б" key2="\?" key3="/"/>
+ <key key0="н" key2=":" key3=";"/>
+ <key key0="м" key2="&quot;" key3="'"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/deva_alt.xml b/srcs/layouts/deva_alt.xml
new file mode 100644
index 0000000..13972dc
--- /dev/null
+++ b/srcs/layouts/deva_alt.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="देवनागरी (हिंदी)-2" script="devanagari">
+ <row>
+ <key shift="0.35" width="0.9" key0="क" key1="ख" key2="घ" key3="ङ" key4="ग"/>
+ <key width="0.9" key0="च" key1="छ" key2="झ" key3="ञ" key4="ज"/>
+ <key width="0.9" key0="ट" key1="ठ" key2="ढ" key3="ण" key4="ड"/>
+ <key width="0.9" key0="त" key1="थ" key2="ध" key3="न" key4="द"/>
+ <key width="0.9" key0="प" key1="फ" key2="भ" key3="म" key4="ब"/>
+ <key width="0.9" key0="र" key1="ज्ञ" key2="ल" key3="य" key4="व"/>
+ <key width="0.9" key0="ह" key1="श" key2="ळ" key3="स" key4="ष"/>
+ </row>
+ <row>
+ <key shift="0.35" width="0.9" key0="ा" key1="अ" key2="आ"/>
+ <key width="0.9" key0="ि" key1="इ"/>
+ <key width="0.9" key0="ी" key1="ई"/>
+ <key width="0.9" key0="ु" key1="उ" key2="ऊ" key4="ू"/>
+ <key width="0.9" key0="े" key1="ए" key2="ऋ" key4="ृ"/>
+ <key width="0.9" key0="ै" key1="ऐ" key2="ऌ" key4="ॢ"/>
+ <key width="0.9" key0="ो" key1="ओ" key2="औ" key4="ौ"/>
+ </row>
+ <row>
+ <key key0="्" key2="*" key4="\@"/>
+ <key key0="ँ" key1="₹" key2="॑" key3="ॖ" key4="॓"/>
+ <key key0="ं" key1="ॐ" key2="ऽ" key3="ः" key4="&quot;"/>
+ <key key0="।" key1="," key2=";" key3="!" key4="\?"/>
+ <key key0="़" key1="॰" key2="०" key3="-" key4="॒"/>
+ <key key0="५" key1="१" key2="३" key3="७" key4="९" key5="४" key6="६" key7="२" key8="८"/>
+ <key key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/deva_inscript.xml b/srcs/layouts/deva_inscript.xml
new file mode 100644
index 0000000..0bcd86d
--- /dev/null
+++ b/srcs/layouts/deva_inscript.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="देवनागरी (हिंदी)-1" script="devanagari">
+ <row>
+ <key key0="ौ" key1="औ" key2="₹" key3="esc" key4="१"/>
+ <key key0="ै" key1="ऐ" key2="ऍ" key3="¶" key4="२"/>
+ <key key0="ा" key1="आ" key2="ॅ" key3="ग़" key4="३"/>
+ <key key0="ी" key1="ई" key2="ज्ञ" key3="ज़" key4="४"/>
+ <key key0="ू" key1="ऊ" key2="त्र" key3="ऩ" key4="५"/>
+ <key key0="ब" key1="भ" key2="क्ष" key3="÷" key4="६"/>
+ <key key0="ह" key1="ङ" key2="श्र" key3="×" key4="७"/>
+ <key key0="ग" key1="घ" key2="ः" key3="=" key4="८"/>
+ <key key0="द" key1="ध" key2="ऋ" key3="+" key4="९"/>
+ <key key0="ज" key1="झ" key2="ृ" key3="-" key4="०"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="ो" key1="ओ" key2="ॉ" key3="tab" key4="ऑ"/>
+ <key key0="े" key1="ए" key2="ञ" key3="~" key4="॰"/>
+ <key key0="्" key1="अ" key2="़" key3="ऽ" key4="ऺ"/>
+ <key key0="ि" key1="इ" key2="ढ" key3="॥" key4="ॄ"/>
+ <key key0="ु" key1="उ" key2="ड" key3="\\" key4="/"/>
+ <key key0="प" key1="फ" key2="छ" key3="&lt;" key4="&gt;"/>
+ <key key0="र" key1="ऱ" key2="च" key3="[" key4="]"/>
+ <key key0="क" key1="ख" key2="क़" key3="{" key4="}"/>
+ <key key0="त" key1="थ" key2="ख़" key3="(" key4=")"/>
+ </row>
+ <row>
+ <key width="1.4" key0="shift" key2="loc capslock"/>
+ <key shift="0.1" key0="ट" key1="ठ" key2="ड़" key3="\#" key4="*"/>
+ <key key0="ं" key1="ँ" key2="।" key3="ॐ" key4="\@"/>
+ <key key0="म" key1="ण" key2="य" key3="य़" key4="%"/>
+ <key key0="न" key2="।" key3=":" key4="&amp;"/>
+ <key key0="व" key2="ढ़" key3=";" key4="."/>
+ <key key0="ल" key1="ळ" key2="फ़" key3="!" key4=","/>
+ <key key0="स" key1="श" key2="ष" key3="\?" key4="।"/>
+ <key shift="0.1" width="1.4" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/grek_qwerty.xml b/srcs/layouts/grek_qwerty.xml
new file mode 100644
index 0000000..f5499ec
--- /dev/null
+++ b/srcs/layouts/grek_qwerty.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="QWERTY (Greek)" script="latin">
+ <row>
+ <key key0=";" key2="1" key4="esc"/>
+ <key key0="ς" key1="~" key2="2" key3="\@"/>
+ <key key0="ε" key1="!" key2="3" key3="\#" key4="loc €"/>
+ <key key0="ρ" key2="4" key3="$"/>
+ <key key0="τ" key2="5" key3="%"/>
+ <key key0="υ" key2="6" key3="^"/>
+ <key key0="θ" key2="7" key3="&amp;"/>
+ <key key0="ι" key1="accent_trema" key2="8" key3="*"/>
+ <key key0="ο" key2="9" key3="(" key4=")"/>
+ <key key0="π" key2="0" key3="f11_placeholder" key4="f12_placeholder"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="α" key1="tab" key2="`"/>
+ <key key0="σ"/>
+ <key key0="δ" key2="loc £"/>
+ <key key0="φ"/>
+ <key key0="γ" key2="-" key3="_"/>
+ <key key0="η" key2="=" key3="+"/>
+ <key key0="ξ" key2="accent_aigu" key3="{" key4="}"/>
+ <key key0="κ" key2="accent_grave" key3="[" key4="]"/>
+ <key key0="λ" key2="|" key3="\\"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="ζ"/>
+ <key key0="χ"/>
+ <key key0="ψ" key2="&lt;" key3="."/>
+ <key key0="ω" key2="&gt;" key3=","/>
+ <key key0="β" key2="\?" key3="/"/>
+ <key key0="ν" key2=":" key3=";"/>
+ <key key0="μ" key2="&quot;" key3="'"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/hang_dubeolsik_kr.xml b/srcs/layouts/hang_dubeolsik_kr.xml
new file mode 100644
index 0000000..29dd01b
--- /dev/null
+++ b/srcs/layouts/hang_dubeolsik_kr.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="두벌식 (Korean)" script="hangul">
+ <row>
+ <key key0="ㅂ" key2="1" key4="esc"/>
+ <key key0="ㅈ" key1="~" key2="2" key3="\@"/>
+ <key key0="ㄷ" key1="!" key2="3" key3="\#"/>
+ <key key0="ㄱ" key2="4" key3="$"/>
+ <key key0="ㅅ" key2="5" key3="%"/>
+ <key key0="ㅛ" key2="6" key3="^"/>
+ <key key0="ㅕ" key2="7" key3="&amp;"/>
+ <key key0="ㅑ" key2="8" key3="*"/>
+ <key key0="ㅐ" key2="9" key3="(" key4=")"/>
+ <key key0="ㅔ" key2="0" key3="f11_placeholder" key4="f12_placeholder"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="ㅁ" key1="tab" key2="`"/>
+ <key key0="ㄴ"/>
+ <key key0="ㅇ"/>
+ <key key0="ㄹ"/>
+ <key key0="ㅎ" key2="-" key3="_"/>
+ <key key0="ㅗ" key2="=" key3="+"/>
+ <key key0="ㅓ" key4="}" key3="{"/>
+ <key key0="ㅏ" key3="[" key4="]"/>
+ <key key0="ㅣ" key2="|" key3="\\"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="ㅋ"/>
+ <key key0="ㅌ"/>
+ <key key0="ㅊ" key2="&lt;" key3="."/>
+ <key key0="ㅍ" key2="&gt;" key3=","/>
+ <key key0="ㅠ" key2="\?" key3="/"/>
+ <key key0="ㅜ" key2=":" key3=";"/>
+ <key key0="ㅡ" key2="&quot;" key3="'"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/hebr_1_il.xml b/srcs/layouts/hebr_1_il.xml
new file mode 100644
index 0000000..bbf5e56
--- /dev/null
+++ b/srcs/layouts/hebr_1_il.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Based on standard SI-1452-1 -->
+<keyboard name="Hebrew 1" script="hebrew">
+ <row>
+ <key key0="/" key2="1" key3="!" key4="esc"/>
+ <key key0="'" key2="2" key3="\@" key1=";"/>
+ <key key0="ק" key2="3" key3="\#" key1="€"/>
+ <key key0="ר" key2="4" key3="$" key1="₪"/>
+ <key key0="א" key2="5" key3="%"/>
+ <key key0="ט" key2="6" key3="^" key4="ole_placeholder"/>
+ <key key0="ו" key2="7" key3="&amp;" key4="meteg_placeholder"/>
+ <key key0="ן" key2="8" key3="*"/>
+ <key key0="ם" key2="9" key3="b(" key4="lrm"/>
+ <key key0="פ" key2="0" key3="b)" key4="rlm"/>
+ <key key0="backspace" key2="delete" key3="f11_placeholder" key4="f12_placeholder"/>
+ </row>
+ <row>
+ <key key0="ש" key2="`" key1="tab" key3="sindot_placeholder" key4="shindot_placeholder" width="1.333"/>
+ <key key0="ד" key1="~" width="1.0333"/>
+ <key key0="ג" key1="geresh" key2="gershayim" width="1.0333"/>
+ <key key0="כ" width="1.0333"/>
+ <key key0="ע" width="1.0333"/>
+ <key key0="י" key2="-" key3="_" key4="maqaf" width="1.0333"/>
+ <key key0="ח" key2="=" key3="+" width="1.0333"/>
+ <key key0="ל" key2="b[" key3="b{" width="1.0333"/>
+ <key key0="ך" key2="b]" key3="b}" width="1.0333"/>
+ <key key0="ף" key2="," key3="&quot;" key1=":" width="1.4006"/>
+ </row>
+ <row>
+ <key key0="\\" key1="|" key2="shift" key3="loc capslock"/>
+ <key key0="ז"/>
+ <key key0="ס"/>
+ <key key0="ב"/>
+ <key key0="ה"/>
+ <key key0="נ"/>
+ <key key0="מ"/>
+ <key key0="צ"/>
+ <key key0="ת" key1="blt"/>
+ <key key0="ץ" key1="bgt"/>
+ <key key0="." key1="\?"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/hebr_2_il.xml b/srcs/layouts/hebr_2_il.xml
new file mode 100644
index 0000000..090bef8
--- /dev/null
+++ b/srcs/layouts/hebr_2_il.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Based on standard SI-1452-2 -->
+<keyboard name="Hebrew 2" script="hebrew">
+ <row>
+ <key key0="ץ" key2="1" key3="!" key4="esc"/>
+ <key key0="ן" key2="2" key3="\@" key1=";"/>
+ <key key0="ק" key2="3" key3="\#" key1="€"/>
+ <key key0="ר" key2="4" key3="$" key1="₪"/>
+ <key key0="א" key2="5" key3="%"/>
+ <key key0="ט" key2="6" key3="^" key4="ole_placeholder"/>
+ <key key0="ו" key2="7" key3="&amp;" key4="meteg_placeholder"/>
+ <key key0="ת" key2="8" key3="*"/>
+ <key key0="ם" key2="9" key3="b(" key4="lrm"/>
+ <key key0="פ" key2="0" key3="b)" key4="rlm" width="1.333"/>
+ </row>
+ <row>
+ <key key0="ש" key2="`" key1="tab" key3="sindot_placeholder" key4="shindot_placeholder" width="1.333"/>
+ <key key0="ד" key1="~"/>
+ <key key0="ג" key1="geresh" key2="gershayim"/>
+ <key key0="כ"/>
+ <key key0="ע"/>
+ <key key0="י" key2="-" key3="_" key4="maqaf"/>
+ <key key0="ח" key2="=" key3="+"/>
+ <key key0="ל" key2="b[" key3="b{"/>
+ <key key0="ך" key2="b]" key3="b}"/>
+ <key key0="ף" key2="'" key3="&quot;" key1=":"/>
+ </row>
+ <row>
+ <key key0="\\" key1="|" key2="shift" key3="loc capslock"/>
+ <key key0="ז"/>
+ <key key0="ס"/>
+ <key key0="ב"/>
+ <key key0="ה" />
+ <key key0="נ"/>
+ <key key0="מ" key1="blt" key2=","/>
+ <key key0="צ" key1="bgt" key2="."/>
+ <key key0="/" key1="\?"/>
+ <key key0="backspace" key2="delete" key3="f11_placeholder" key4="f12_placeholder" width="1.333"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_azerty_fr.xml b/srcs/layouts/latn_azerty_fr.xml
new file mode 100644
index 0000000..cf8b185
--- /dev/null
+++ b/srcs/layouts/latn_azerty_fr.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Adapted from standard NF Z71-300 -->
+<!-- https://norme-azerty.fr/ -->
+<keyboard name="AZERTY (Français)" script="latin">
+ <row>
+ <key key0="a" key2="1" key4="esc"/>
+ <key key0="z" key2="2" key3="&amp;" key4="~"/>
+ <key key0="e" key2="3" key3="&quot;" key4="\#"/>
+ <key key0="r" key2="4" key3="'"/>
+ <key key0="t" key2="5" key3="(" key4=")"/>
+ <key key0="y" key2="6" key3="-" key4="|"/>
+ <key key0="u" key2="7" key4="`"/>
+ <key key0="i" key2="8" key3="_" key4="\\"/>
+ <key key0="o" key2="9" key3="\@" key4="f11_placeholder"/>
+ <key key0="p" key2="0" key3="f12_placeholder"/>
+ </row>
+ <row>
+ <key key0="q" key2="tab"/>
+ <key key0="s" key3="loc ß"/>
+ <key key0="d" key1="accent_grave" key3="accent_aigu"/>
+ <key key0="f" key3="{" key4="}"/>
+ <key key0="g" key3="[" key4="]"/>
+ <key key0="h" key3="=" key4="+"/>
+ <key key0="j" key1="accent_trema" key2="accent_circonflexe" key3="^"/>
+ <key key0="k" key2="€" key3="$"/>
+ <key key0="l" key2="%"/>
+ <key key0="m" key3="*"/>
+ </row>
+ <row>
+ <key width="2.0" key0="shift" key2="loc capslock"/>
+ <key key0="w" key3="&lt;" key4="&gt;"/>
+ <key key0="x" key1="loc †"/>
+ <key key0="c" key1="accent_cedille" key3="," key4="\?"/>
+ <key key0="v" key3=";" key4="."/>
+ <key key0="b" key3=":" key4="/"/>
+ <key key0="n" key1="loc accent_tilde" key2="§" key4="!"/>
+ <key width="2.0" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_bepo_fr.xml b/srcs/layouts/latn_bepo_fr.xml
new file mode 100644
index 0000000..941c3ee
--- /dev/null
+++ b/srcs/layouts/latn_bepo_fr.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Inspired by the bépo layout, but adapted to smartphone -->
+<keyboard name="BEPO (Français)" script="latin">
+ <row>
+ <key width="1.1" key0="b" key1="esc" key2="1" key4="|"/>
+ <key width="1.1" key0="é" key2="2" key4="è"/>
+ <key width="1.1" key0="p" key2="3"/>
+ <key width="1.1" key0="o" key2="4" key4="accent_circonflexe"/>
+ <key width="1.1" key0="v" key2="5" key4="{"/>
+ <key width="1.1" key0="d" key2="6" key4="}"/>
+ <key width="1.1" key0="l" key2="7" key4="("/>
+ <key width="1.1" key0="j" key2="8" key4=")"/>
+ <key width="1.1" key0="z" key2="9" key4="["/>
+ <key width="1.1" key0="w" key2="0" key4="]"/>
+ </row>
+ <row>
+ <key width="1.1" key0="a" key1="tab" key4="à"/>
+ <key width="1.1" key0="u" key1="$" key4="ù"/>
+ <key width="1.1" key0="i" key4="&amp;"/>
+ <key width="1.1" key0="e" key1="+" key2="accent_trema" key4="€"/>
+ <key width="1.1" key0="c" key1="=" key4="ç"/>
+ <key width="1.1" key0="t" key1="^" key4=";"/>
+ <key width="1.1" key0="s" key4="!"/>
+ <key width="1.1" key0="r" key4="\?"/>
+ <key width="1.1" key0="n" key1="`" key2="'" key4=":"/>
+ <key width="1.1" key0="m" key2="&quot;"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="capslock" key3="&lt;"/>
+ <key key0="y" key4="%"/>
+ <key key0="x" key4="\@"/>
+ <key key0="k" key4="~"/>
+ <key key0="." key1="\#" key4="," key6="-" key8="_"/>
+ <key key0="q" key4="*"/>
+ <key key0="g" key3="/" key4="\\"/>
+ <key key0="h"/>
+ <key key0="f"/>
+ <key width="1.5" key0="backspace" key2="delete" key3=">"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_bone.xml b/srcs/layouts/latn_bone.xml
new file mode 100644
index 0000000..f9ce147
--- /dev/null
+++ b/srcs/layouts/latn_bone.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- https://neo-layout.org/Layouts/bone/ -->
+<keyboard name="Bone" bottom_row="false" script="latin">
+ <row>
+ <key key0="j" key2="esc" key4="…"/>
+ <key key0="d" key2="°" key4="_"/>
+ <key key0="u" key2="§" key4="["/>
+ <key key0="a" key4="]"/>
+ <key key0="x" key4="^"/>
+ <key key0="p" key3="!" key4="7"/>
+ <key key0="h" key3="&lt;" key4="8"/>
+ <key key0="l" key1="ℓ" key3="&gt;" key4="9"/>
+ <key key0="m" key1="≠" key3="=" key4="f11_placeholder"/>
+ <key key0="w" key3="&amp;" key4="f12_placeholder"/>
+ </row>
+ <row>
+ <key key0="c" key2="tab" key4="\\"/>
+ <key key0="t" key1="accent_circonflexe" key2="accent_caron" key4="/"/>
+ <key key0="i" key1="accent_aigu" key2="accent_grave" key4="{"/>
+ <key key0="e" key1="accent_cedille" key2="accent_ogonek" key4="}"/>
+ <key key0="o" key1="accent_ring" key2="accent_dot_above" key4="*"/>
+ <key key0="b" key2="accent_macron" key3="\?" key4="4"/>
+ <key key0="n" key2="accent_tilde" key3="(" key4="5"/>
+ <key key0="r" key2="accent_trema" key3=")" key4="6"/>
+ <key key0="s" key2="accent_slash" key3="-"/>
+ <key key0="g" key1="\@" key3=":"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key4="\#" key2="loc capslock"/>
+ <key key0="f" key4="|"/>
+ <key key0="v" key4="~"/>
+ <key key0="ß" key4="`"/>
+ <key key0="y" key3="%" key4="1"/>
+ <key key0="z" key1="&quot;" key3="+" key4="2"/>
+ <key key0="q" key1="&apos;" key3="," key4="3"/>
+ <key key0="k" key3="."/>
+ <key width="1.5" key0="backspace" key1="delete" key3=";"/>
+ </row>
+ <row height="0.95">
+ <key width="1.8" key0="ctrl" key2="loc meta" key4="switch_numeric"/>
+ <key width="1.2" key0="fn" key1="loc alt" key2="loc change_method" key3="switch_emoji" key4="config"/>
+ <key width="4.0" key0="space" key7="switch_forward" key8="0"/>
+ <key width="1.2" key7="up" key6="right" key5="left" key8="down"/>
+ <key width="1.8" key0="enter" key3="action"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_colemak.xml b/srcs/layouts/latn_colemak.xml
new file mode 100644
index 0000000..1a73fbb
--- /dev/null
+++ b/srcs/layouts/latn_colemak.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- https://colemak.com/ -->
+<keyboard name="Colemak" script="latin">
+ <row>
+ <key key0="q" key1="esc" key2="loc accent_aigu" key3="loc accent_tilde" shift="0.5"/>
+ <key key0="w" key1="loc accent_grave" key2=" ́" key3="~" />
+ <key key0="f" key1="`" key2="-" key3="+" />
+ <key key0="p" key2="=" key3="%"/>
+ <key key0="g" key1="!" key2="/" key3="\\"/>
+ <key key0="j" key1="loc accent_caron" key2="loc accent_trema" />
+ <key key0="l" key1="f11_placeholder" key2="f12_placeholder"/>
+ <key key0="u" key1="loc accent_double_aigu" key2="loc accent_ring" />
+ <key key0="y" key1="&quot;" key2="'"/>
+
+ </row>
+ <row>
+ <key key0="a" key2="1" key4="tab"/>
+ <key key0="r" key1="\@" key2="2" />
+ <key key0="s" key1="\#" key2="3" key4="loc ß"/>
+ <key key0="t" key1="$" key2="4" key4="loc accent_ogonek" />
+ <key key0="d" key1="€" key2="5" key4="loc accent_dot_above"/>
+ <key key0="h" key1="&amp;" key2="6" />
+ <key key0="n" key1="*" key2="7" />
+ <key key0="e" key1="loc accent_circonflexe" key2="8" key4="^"/>
+ <key key0="i" key1="_" key2="9" />
+ <key key0="o" key1="0" key3="loc accent_macron"/>
+
+ </row>
+ <row>
+ <key key0="shift" key2="loc capslock" width="1.5" />
+ <key key0="z" key1="," key2="."/>
+ <key key0="x" key1="&gt;" key2="&lt;"/>
+ <key key0="c" key1="{" key2="}" key3="loc accent_cedille"/>
+ <key key0="v" key1="[" key2="]"/>
+ <key key0="b" key1="(" key2=")"/>
+ <key key0="k" key1=";" key2=":"/>
+ <key key0="m" key1="|" key2="\?" />
+ <key key0="backspace" key1="delete" shift="0.25" width="1.25"/>
+
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_dvorak.xml b/srcs/layouts/latn_dvorak.xml
new file mode 100644
index 0000000..cff4c4c
--- /dev/null
+++ b/srcs/layouts/latn_dvorak.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="Dvorak" script="latin">
+ <row>
+ <key key0="shift" width="1.5" key2="esc" key4="tab"/>
+ <key key0="p" key1="loc accent_ring" key2="." key3="&lt;" key4="f11_placeholder"/>
+ <key key0="y" key1="loc accent_grave" key2="," key3="&gt;" key4="f12_placeholder"/>
+ <key key0="f" key4="loc €"/>
+ <key key0="g" key2="\\" key3="|"/>
+ <key key0="c" key1="loc accent_trema" key2="loc accent_circonflexe" key3="{" key4="}"/>
+ <key key0="r" key3="[" key4="]"/>
+ <key key0="l" key2="=" key3="+" key4="loc £"/>
+ <key key0="backspace" key2="delete" width="1.5"/>
+ </row>
+ <row>
+ <key key0="a" key2="1" key3="loc å" key4="!"/>
+ <key key0="o" key1="loc accent_macron" key2="2" key3="\@" key4="loc accent_ogonek"/>
+ <key key0="e" key1="loc accent_caron" key2="3" key3="\#" key4="loc accent_dot_above"/>
+ <key key0="u" key1="loc æ" key2="4" key3="$" key4="loc accent_double_aigu"/>
+ <key key0="i" key2="5" key3="%"/>
+ <key key0="d" key2="6" key3="^"/>
+ <key key0="h" key2="7" key3="&amp;"/>
+ <key key0="t" key2="8" key3="*"/>
+ <key key0="n" key2="9" key3="(" key4=")"/>
+ <key key0="s" key2="0" key3="loc ß"/>
+ </row>
+ <row>
+ <key key0="q" shift="0.5" key1="loc accent_tilde" key2="`" key3="~"/>
+ <key key0="j" key1="loc accent_aigu" key2="'" key3="&quot;"/>
+ <key key0="k" key1="loc ø" key2=";" key3=":"/>
+ <key key0="x" key1="loc accent_cedille"/>
+ <key key0="b"/>
+ <key key0="m" key2="/" key3="\?"/>
+ <key key0="w"/>
+ <key key0="v"/>
+ <key key0="z" key2="-" key3="_"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_neo2.xml b/srcs/layouts/latn_neo2.xml
new file mode 100644
index 0000000..5c364cc
--- /dev/null
+++ b/srcs/layouts/latn_neo2.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- https://neo-layout.org/Layouts/neo/ -->
+<keyboard name="Neo 2" bottom_row="false" script="latin">
+ <row>
+ <key key0="x" key1="°" key2="1" key4="…"/>
+ <key key0="v" key1="§" key2="2" key4="_"/>
+ <key key0="l" key2="3" key4="["/>
+ <key key0="c" key2="4" key4="]"/>
+ <key key0="w" key2="5" key4="^"/>
+ <key key0="k" key2="6" key4="!"/>
+ <key key0="h" key2="7" key4="&lt;"/>
+ <key key0="g" key2="8" key4="&gt;"/>
+ <key key0="f" key2="9" key3="f11_placeholder" key4="="/>
+ <key key0="q" key2="0" key3="f12_placeholder" key4="&amp;"/>
+ <key key0="ß" key1="—"/>
+ </row>
+ <row>
+ <key key0="u" key1="tab" key4="\\"/>
+ <key key0="i" key4="/"/>
+ <key key0="a" key4="{"/>
+ <key key0="e" key4="}"/>
+ <key key0="o" key4="*"/>
+ <key key0="s" key4="\?"/>
+ <key key0="n" key4="("/>
+ <key key0="r" key4=")"/>
+ <key key0="t" key4="-"/>
+ <key key0="d" key4=":"/>
+ <key key0="y" key3="\@"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key1="esc" key2="loc capslock"/>
+ <key key0="ü" key4="\#"/>
+ <key key0="ö" key4="$"/>
+ <key key0="ä" key4="|"/>
+ <key key0="p" key4="~"/>
+ <key key0="z" key4="`"/>
+ <key key0="b" key4="+"/>
+ <key key0="m" key4="%"/>
+ <key key0="." key1="," key3="&quot;" key4="'"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+ <row height="0.95">
+ <key width="1.8" key0="ctrl" key1="loc switch_greekmath" key2="loc meta" key4="switch_numeric"/>
+ <key width="1.2" key0="fn" key1="loc alt" key2="loc change_method" key3="switch_emoji" key4="config"/>
+ <key width="4.0" key0="space" key7="switch_forward" key8="switch_backward" key5="cursor_left" key6="cursor_right" slider="true"/>
+ <key width="1.2" key7="up" key6="right" key5="left" key8="down"/>
+ <key key0="j" key4=";"/>
+ <key width="1.8" key0="enter" key1="loc voice_typing" key2="action"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwerty_br.xml b/srcs/layouts/latn_qwerty_br.xml
new file mode 100644
index 0000000..e4829ae
--- /dev/null
+++ b/srcs/layouts/latn_qwerty_br.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Adapted from standard ABNT NBR 10346 -->
+<keyboard name="QWERTY (Brasileiro)" script="latin">
+ <row>
+ <key key0="q" key2="1" key4="esc"/>
+ <key key0="w" key1="~" key2="2" key3="\@" key4="!"/>
+ <key key0="e" key2="3" key3="\#" key4="€"/>
+ <key key0="r" key2="4" key3="$" key4="f11_placeholder"/>
+ <key key0="t" key2="5" key3="%" key4="f12_placeholder"/>
+ <key key0="y" key2="6" key3="^" key4="loc accent_trema"/>
+ <key key0="u" key2="7" key3="&amp;"/>
+ <key key0="i" key2="8" key3="*"/>
+ <key key0="o" key2="9" key3="(" key4=")"/>
+ <key key0="p" key2="0" key3="\\"/>
+ </row>
+ <row>
+ <key key0="a" key2="tab" key4="`"/>
+ <key key0="s" key1="'" key2="loc §" key3="loc ß" key4="accent_cedille"/>
+ <key key0="d" key1="&quot;"/>
+ <key key0="f"/>
+ <key key0="g"/>
+ <key key0="h"/>
+ <key key0="j" key1="-" key2="=" key4="+" key3="_"/>
+ <key key0="k" key1="accent_grave" key2="accent_aigu" key3="accent_tilde" key4="accent_circonflexe"/>
+ <key key0="l" key1="[" key2="]" key3="{" key4="}"/>
+ <key key0="ç" key1="|"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="z"/>
+ <key key0="x" key2="loc †"/>
+ <key key0="c"/>
+ <key key0="v"/>
+ <key key0="b"/>
+ <key key0="n" key1="&lt;" key2="&gt;" key3="," key4="."/>
+ <key key0="m" key1=":" key2=";" key3="/" key4="\?"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwerty_cz.xml b/srcs/layouts/latn_qwerty_cz.xml
new file mode 100644
index 0000000..8d4207c
--- /dev/null
+++ b/srcs/layouts/latn_qwerty_cz.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<keyboard script="latin" name="QWERTY (Czech)">
+ <row>
+ <key key0="q" key1="1" key2="esc" key4="~"/>
+ <key key0="w" key1="2" key2="+" key3="|" key4="\\"/>
+ <key key0="e" key1="3" key2="é" key3="^" key4="ě"/>
+ <key key0="r" key1="4" key4="ř"/>
+ <key key0="t" key1="5" key3="°" key4="ť"/>
+ <key key0="y" key1="6" key2="ý"/>
+ <key key0="u" key1="7" key2="ú" key3="`" key4="ů"/>
+ <key key0="i" key1="8" key2="í" key3="(" key4=")"/>
+ <key key0="o" key1="9" key2="ó" key3="/" key4="%"/>
+ <key key0="p" key1="0" key3="="/>
+ </row>
+ <row>
+ <key shift="0.5" key0="a" key1="tab" key2="á" key3=";"/>
+ <key key0="s" key1="loc §" key4="š"/>
+ <key key0="d" key4="ď"/>
+ <key key0="f" key3="["/>
+ <key key0="g" key3="]"/>
+ <key key0="h"/>
+ <key key0="j"/>
+ <key key0="k"/>
+ <key key0="l" key1="&quot;" key2="'" key3="$" key4="!"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="z" key4="ž"/>
+ <key key0="x" key1="loc †" key3="\#"/>
+ <key key0="c" key3="&amp;" key4="č"/>
+ <key key0="v" key3="\@"/>
+ <key key0="b" key1="&lt;" key2="&gt;" key3="{" key4="}"/>
+ <key key0="n" key1="\?" key2="." key3="," key4="ň"/>
+ <key key0="m" key1=":" key2="*" key3="-" key4="_"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwerty_es.xml b/srcs/layouts/latn_qwerty_es.xml
new file mode 100644
index 0000000..cb3c2cc
--- /dev/null
+++ b/srcs/layouts/latn_qwerty_es.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="QWERTY (Español)" script="latin">
+ <row>
+ <key key0="q" key2="1" key4="esc"/>
+ <key key0="w" key1="~" key2="2" key3="\@"/>
+ <key key0="e" key1="!" key2="3" key3="\#" key4="€"/>
+ <key key0="r" key2="4" key3="$"/>
+ <key key0="t" key2="5" key3="%"/>
+ <key key0="y" key2="6" key3="^"/>
+ <key key0="u" key2="7" key3="&amp;"/>
+ <key key0="i" key2="8" key3="*"/>
+ <key key0="o" key2="9" key3="(" key4=")"/>
+ <key key0="p" key2="0" key3="f11_placeholder" key4="f12_placeholder"/>
+ </row>
+ <row>
+ <key key0="a" key2="tab" key4="`"/>
+ <key key0="s" key1="loc §" key2="¡" key3="loc ß"/>
+ <key key0="d" key1="accent_grave" key3="accent_aigu"/>
+ <key key0="f"/>
+ <key key0="g" key2="-" key3="_"/>
+ <key key0="h" key2="=" key3="+"/>
+ <key key0="j" key1="accent_trema" key4="}" key3="{"/>
+ <key key0="k" key3="[" key4="]"/>
+ <key key0="l" key2="|" key3="\\"/>
+ <key key0="ñ" key1="·" key3="ç" />
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="z"/>
+ <key key0="x" key1="loc †"/>
+ <key key0="c" key1="loc accent_cedille" key2="&lt;" key3="."/>
+ <key key0="v" key2="&gt;" key3=","/>
+ <key key0="b" key2="\?" key3="/" key4="¿"/>
+ <key key0="n" key1="accent_tilde" key2=":" key3=";"/>
+ <key key0="m" key2="&quot;" key3="'"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwerty_hu.xml b/srcs/layouts/latn_qwerty_hu.xml
new file mode 100644
index 0000000..1caf242
--- /dev/null
+++ b/srcs/layouts/latn_qwerty_hu.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="QWERTY (Magyar)" script="latin">
+ <row>
+ <key key0="q" key2="0" key4="esc"/>
+ <key key0="w" key1="'" key2="1" key3="~" key4="|"/>
+ <key key0="e" key1="&quot;" key2="2" key4="é"/>
+ <key key0="r" key2="3" key4="^"/>
+ <key key0="t" key1="!" key2="4" key4="f11_placeholder"/>
+ <key key0="y" key1="%" key2="5" key3="°" key4="f12_placeholder"/>
+ <key key0="u" key1="ű" key2="6" key3="ü" key4="ú"/>
+ <key key0="i" key1="=" key2="7" key3="`" key4="í"/>
+ <key key0="o" key1="ő" key2="8" key3="ö" key4="ó"/>
+ <key key0="p" key2="9"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="a" key1="tab" key4="á"/>
+ <key key0="s" key1="§" key2="\\" key3="[" key4="]"/>
+ <key key0="d" key3="{" key4="}"/>
+ <key key0="f" key3="+"/>
+ <key key0="g" key3="*"/>
+ <key key0="h"/>
+ <key key0="j"/>
+ <key key0="k" key3="(" key4=")"/>
+ <key key0="l" key1="$" key3="/"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="z" key3="&lt;" key4="&gt;"/>
+ <key key0="x" key1="loc †" key4="\#"/>
+ <key key0="c" key4="&amp;"/>
+ <key key0="v" key4="\@"/>
+ <key key0="b" key1="\?" key3="," key4=";"/>
+ <key key0="n" key1=":" key3="."/>
+ <key key0="m" key1="_" key3="-"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwerty_lv.xml b/srcs/layouts/latn_qwerty_lv.xml
new file mode 100644
index 0000000..a373eb8
--- /dev/null
+++ b/srcs/layouts/latn_qwerty_lv.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="QWERTY (Latvian)" script="latin">
+ <row>
+ <key key0="q" key2="1" key4="esc"/>
+ <key key0="w" key1="~" key2="2" key3="\@" key4="!"/>
+ <key key0="e" key1="ē" key2="3" key3="\#" key4="€"/>
+ <key key0="r" key1="ŗ" key2="4" key3="$" key4="f11_placeholder"/>
+ <key key0="t" key2="5" key3="%" key4="f12_placeholder"/>
+ <key key0="y" key2="6" key3="^"/>
+ <key key0="u" key1="ū" key2="7" key3="&amp;" key4="*"/>
+ <key key0="i" key1="ī" key2="8" key3="(" key4=")"/>
+ <key key0="o" key1="ō" key2="9" key3="{" key4="}"/>
+ <key key0="p" key2="0"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="a" key1="ā" key2="tab"/>
+ <key key0="s" key1="š" key2="loc §" key3="loc ß" key4="loc accent_ogonek"/>
+ <key key0="d"/>
+ <key key0="f" key1="loc accent_dot_above"/>
+ <key key0="g" key1="ģ"/>
+ <key key0="h" key2="accent_macron" key3="accent_caron" key4="accent_cedille"/>
+ <key key0="j" key1="+" key2="=" key3="-" key4="_"/>
+ <key key0="k" key1="ķ" key3="[" key4="]"/>
+ <key key0="l" key1="ļ" key2="|" key3="/" key4="\\"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="z" key1="ž"/>
+ <key key0="x" key2="loc †"/>
+ <key key0="c" key1="č"/>
+ <key key0="v"/>
+ <key key0="b" key2="\?" key3="&lt;" key4="&gt;"/>
+ <key key0="n" key1="ņ" key2="`" key3=":" key4=";"/>
+ <key key0="m" key1="'" key2="&quot;" key3="," key4="."/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwerty_no.xml b/srcs/layouts/latn_qwerty_no.xml
new file mode 100644
index 0000000..b86ea34
--- /dev/null
+++ b/srcs/layouts/latn_qwerty_no.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="QWERTY (Norwegian)" script="latin">
+ <row>
+ <key key0="q" key2="1" key4="esc"/>
+ <key key0="w" key1="~" key2="2" key3="\@"/>
+ <key key0="e" key1="!" key2="3" key3="\#" key4="loc €"/>
+ <key key0="r" key2="4" key3="$"/>
+ <key key0="t" key2="5" key3="%"/>
+ <key key0="y" key2="6" key3="^"/>
+ <key key0="u" key2="7" key3="&amp;"/>
+ <key key0="i" key2="8" key3="*"/>
+ <key key0="o" key1="ø" key2="9" key3="(" key4=")"/>
+ <key key0="p" key2="0" key3="f11_placeholder" key4="f12_placeholder"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="a" key1="tab" key2="`" key3="æ" key4="å"/>
+ <key key0="s" key1="loc accent_ring" key2="loc §" key3="loc ß" key4="loc accent_ogonek"/>
+ <key key0="d" key1="loc accent_grave" key2="loc £" key3="loc accent_aigu"/>
+ <key key0="f" key1="loc accent_dot_above"/>
+ <key key0="g" key1="loc accent_caron" key2="-" key3="_"/>
+ <key key0="h" key2="=" key3="+"/>
+ <key key0="j" key1="loc accent_trema" key2="loc accent_circonflexe" key4="}" key3="{"/>
+ <key key0="k" key1="loc accent_double_aigu" key3="[" key4="]"/>
+ <key key0="l" key2="|" key3="\\"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="z"/>
+ <key key0="x" key2="loc †"/>
+ <key key0="c" key1="loc accent_cedille" key2="&lt;" key3="."/>
+ <key key0="v" key2="&gt;" key3=","/>
+ <key key0="b" key2="\?" key3="/"/>
+ <key key0="n" key1="loc accent_tilde" key2=":" key3=";"/>
+ <key key0="m" key2="&quot;" key3="'"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwerty_pl.xml b/srcs/layouts/latn_qwerty_pl.xml
new file mode 100644
index 0000000..9a5a3ed
--- /dev/null
+++ b/srcs/layouts/latn_qwerty_pl.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="QWERTY (Polski)" script="latin">
+ <row>
+ <key key0="q" key2="1" key4="esc"/>
+ <key key0="w" key1="~" key2="2" key3="\@"/>
+ <key key0="e" key1="!" key2="3" key3="\#" key4="ę"/>
+ <key key0="r" key2="4" key3="$"/>
+ <key key0="t" key2="5" key3="%"/>
+ <key key0="y" key2="6" key3="^"/>
+ <key key0="u" key2="7" key3="&amp;" key4="loc €"/>
+ <key key0="i" key1="loc accent_macron" key2="8" key3="*"/>
+ <key key0="o" key1="ó" key2="9" key3="(" key4=")"/>
+ <key key0="p" key2="0" key3="f11_placeholder" key4="f12_placeholder"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="a" key1="tab" key2="`" key4="ą"/>
+ <key key0="s" key1="loc accent_ring" key2="loc §" key3="loc ß" key4="ś"/>
+ <key key0="d" key1="loc accent_grave" key2="loc £" key3="loc accent_aigu"/>
+ <key key0="f" key1="loc accent_dot_above" key4="loc accent_ogonek"/>
+ <key key0="g" key1="loc accent_caron" key2="-" key3="_"/>
+ <key key0="h" key2="=" key3="+"/>
+ <key key0="j" key1="loc accent_trema" key2="loc accent_circonflexe" key3="{" key4="}"/>
+ <key key0="k" key1="loc accent_double_aigu" key3="[" key4="]"/>
+ <key key0="l" key2="|" key3="\\" key4="ł"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="z" key4="ż"/>
+ <key key0="x" key2="loc †" key4="ź"/>
+ <key key0="c" key1="loc accent_cedille" key2="&lt;" key3="." key4="ć"/>
+ <key key0="v" key2="&gt;" key3=","/>
+ <key key0="b" key2="\?" key3="/"/>
+ <key key0="n" key1="loc accent_tilde" key2=":" key3=";" key4="ń"/>
+ <key key0="m" key2="&quot;" key3="'"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwerty_ro.xml b/srcs/layouts/latn_qwerty_ro.xml
new file mode 100644
index 0000000..fdc4232
--- /dev/null
+++ b/srcs/layouts/latn_qwerty_ro.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="QWERTY (Română)" script="latin">
+ <row>
+ <key key0="q" key2="1" key4="esc"/>
+ <key key0="w" key1="~" key2="2" key3="\@"/>
+ <key key0="e" key1="!" key2="3" key3="\#" key4="loc €"/>
+ <key key0="r" key2="4" key3="$" key1="loc ₪"/>
+ <key key0="t" key1="ț" key2="5" key3="%"/>
+ <key key0="y" key2="6" key3="^"/>
+ <key key0="u" key2="7" key3="&amp;"/>
+ <key key0="i" key1="î" key2="8" key3="*"/>
+ <key key0="o" key1="loc accent_macron" key2="9" key3="(" key4=")"/>
+ <key key0="p" key2="0" key3="f11_placeholder" key4="f12_placeholder"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="a" key1="â" key2="ă" key3="`" key4="tab"/>
+ <key key0="s" key1="ș" key2="loc §" key3="loc ß" key4="loc accent_ogonek"/>
+ <key key0="d" key1="loc accent_grave" key2="loc £" key3="loc accent_aigu"/>
+ <key key0="f" key1="loc accent_dot_above"/>
+ <key key0="g" key1="loc accent_caron" key2="-" key3="_"/>
+ <key key0="h" key2="=" key3="+"/>
+ <key key0="j" key1="loc accent_trema" key2="loc accent_circonflexe" key4="}" key3="{"/>
+ <key key0="k" key1="loc accent_double_aigu" key3="[" key4="]"/>
+ <key key0="l" key2="|" key3="\\"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="z"/>
+ <key key0="x" key2="loc †"/>
+ <key key0="c" key1="loc accent_cedille" key2="&lt;" key3="."/>
+ <key key0="v" key2="&gt;" key3=","/>
+ <key key0="b" key2="\?" key3="/"/>
+ <key key0="n" key1="loc accent_tilde" key2=":" key3=";"/>
+ <key key0="m" key2="&quot;" key3="'"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwerty_se.xml b/srcs/layouts/latn_qwerty_se.xml
new file mode 100644
index 0000000..bf3bb7d
--- /dev/null
+++ b/srcs/layouts/latn_qwerty_se.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="QWERTY (Swedish)" script="latin">
+ <row>
+ <key key0="q" key4="esc" key2="1"/>
+ <key key0="w" key2="2" key3="`" key4="\@"/>
+ <key key0="e" key2="3" key4="\#" key3="€"/>
+ <key key0="r" key2="4" key4="$"/>
+ <key key0="t" key2="5" key3="&amp;" key4="|"/>
+ <key key0="y" key2="6" key3="^" key4="%"/>
+ <key key0="u" key2="7" key3="~" key4="\\"/>
+ <key key0="i" key2="8" key3="*" key4="/"/>
+ <key key0="o" key2="9" key3="+" key4="-"/>
+ <key key0="p" key2="0" key3="=" key4="f11_placeholder"/>
+ <key key0="å" key1="\?" key3="!" key4="f12_placeholder"/>
+ </row>
+ <row>
+ <key key0="a" key2="tab"/>
+ <key key0="s" key1="accent_ring" key2="loc §" key3="loc ß"/>
+ <key key0="d" key3="accent_aigu"/>
+ <key key0="f" key1="accent_trema"/>
+ <key key0="g"/>
+ <key key0="h"/>
+ <key key0="j" key1="{" key4="}"/>
+ <key key0="k" key1="[" key4="]"/>
+ <key key0="l" key1="(" key4=")"/>
+ <key key0="ö" key1="&lt;" key4="&gt;"/>
+ <key key0="ä" key1="'" key3="&quot;"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="z"/>
+ <key key0="x" key2="loc †"/>
+ <key key0="c"/>
+ <key key0="v"/>
+ <key key0="b" key2=";" key4=","/>
+ <key key0="n" key2=":" key4="."/>
+ <key key0="m" key2="-" key4="_"/>
+ <key width="1.0" key0="." key1="!" key2="\?" key3="'" key4=","/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwerty_tr.xml b/srcs/layouts/latn_qwerty_tr.xml
new file mode 100644
index 0000000..229a6d8
--- /dev/null
+++ b/srcs/layouts/latn_qwerty_tr.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="QWERTY (Türkçe)" script="latin">
+ <row>
+ <key key0="q" key2="1" key4="esc"/>
+ <key key0="w" key1="~" key2="2" key3="\@"/>
+ <key key0="e" key1="!" key2="3" key3="\#" key4="€"/>
+ <key key0="r" key2="4" key3="$"/>
+ <key key0="t" key2="5" key3="%" key4="₺"/>
+ <key key0="y" key2="6" key3="^"/>
+ <key key0="u" key1="ü" key2="7" key3="&amp;"/>
+ <key key0="i" key1="ı" key2="8" key3="*"/>
+ <key key0="o" key1="ö" key2="9" key3="(" key4=")"/>
+ <key key0="p" key1="0" />
+ </row>
+ <row>
+ <key shift="0.5" key0="a" key1="tab" key2="`"/>
+ <key key0="s" key1="ş" key2="loc §"/>
+ <key key0="d"/>
+ <key key0="f"/>
+ <key key0="g" key1="ğ" key2="-" key3="_"/>
+ <key key0="h" key2="=" key3="+"/>
+ <key key0="j" key3="{" key4="}"/>
+ <key key0="k" key3="[" key4="]"/>
+ <key key0="l" key2="|" key3="\\"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="z"/>
+ <key key0="x" key2="loc †"/>
+ <key key0="c" key1="ç" key2="&lt;" key3="."/>
+ <key key0="v" key2="&gt;" key3=","/>
+ <key key0="b" key2="\?" key3="/"/>
+ <key key0="n" key2=":" key3=";"/>
+ <key key0="m" key2="&quot;" key3="'"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwerty_us.xml b/srcs/layouts/latn_qwerty_us.xml
new file mode 100644
index 0000000..0d394ac
--- /dev/null
+++ b/srcs/layouts/latn_qwerty_us.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This file defines the QWERTY layout.
+
+A layout is made of keys arranged into rows. Keys can be made bigger with the
+'width' attribute and blank space can be added on the left of a key with the
+'shift' attribute.
+
+'key0' assigns the symbol on the middle of the key. 'key1', 'key2', etc..
+assign symbols to the corners of a key, they are arranged like this:
+
+ 1 7 2
+ 5 0 6
+ 3 8 4
+
+Keys prefixed with 'loc ' are not visible on the keyboard. They are used to
+specify a place for a key, if it needed to be added to the layout later.
+(for example, by the "Add keys to keyboard" option)
+
+See bottom_row.xml for the definition of the bottom row and neo2.xml for a
+layout that re-defines it.
+See srcs/juloo.keyboard2/KeyValue.java for the keys that have a special meaning.
+-->
+<keyboard name="QWERTY (US)" script="latin">
+ <row>
+ <key key0="q" key2="1" key4="esc"/>
+ <key key0="w" key1="~" key2="2" key3="\@"/>
+ <key key0="e" key1="!" key2="3" key3="\#" key4="loc €"/>
+ <key key0="r" key2="4" key3="$" key1="loc ₪"/>
+ <key key0="t" key2="5" key3="%"/>
+ <key key0="y" key2="6" key3="^"/>
+ <key key0="u" key2="7" key3="&amp;"/>
+ <key key0="i" key2="8" key3="*"/>
+ <key key0="o" key1="loc accent_macron" key2="9" key3="(" key4=")"/>
+ <key key0="p" key2="0" key3="f11_placeholder" key4="f12_placeholder"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="a" key1="tab" key2="`"/>
+ <key key0="s" key1="loc accent_ring" key2="loc §" key3="loc ß" key4="loc accent_ogonek"/>
+ <key key0="d" key1="loc accent_grave" key2="loc £" key3="loc accent_aigu"/>
+ <key key0="f" key1="loc accent_dot_above"/>
+ <key key0="g" key1="loc accent_caron" key2="-" key3="_"/>
+ <key key0="h" key2="=" key3="+"/>
+ <key key0="j" key1="loc accent_trema" key2="loc accent_circonflexe" key4="}" key3="{"/>
+ <key key0="k" key1="loc accent_double_aigu" key3="[" key4="]"/>
+ <key key0="l" key2="|" key3="\\"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="z"/>
+ <key key0="x" key2="loc †"/>
+ <key key0="c" key1="loc accent_cedille" key2="&lt;" key3="."/>
+ <key key0="v" key2="&gt;" key3=","/>
+ <key key0="b" key2="\?" key3="/"/>
+ <key key0="n" key1="loc accent_tilde" key2=":" key3=";"/>
+ <key key0="m" key2="&quot;" key3="'"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwerty_vi.xml b/srcs/layouts/latn_qwerty_vi.xml
new file mode 100644
index 0000000..b042b1d
--- /dev/null
+++ b/srcs/layouts/latn_qwerty_vi.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Adapted from standard TCVN 6064-->
+<keyboard name="QWERTY (Vietnamese)" script="latin">
+ <row>
+ <key key0="q" key1="~" key2="1" key3="`" key4="esc"/>
+ <key key0="w" key1="accent_horn" key2="2" key3="\@"/>
+ <key key0="e" key1="!" key2="3" key3="\#" key4="ê"/>
+ <key key0="r" key2="4" key3="$" key1="accent_hook_above"/>
+ <key key0="t" key2="5" key3="%"/>
+ <key key0="y" key2="6" key3="^"/>
+ <key key0="u" key2="7" key3="&amp;"/>
+ <key key0="i" key2="8" key3="*"/>
+ <key key0="o" key1="ô" key2="9" key3="(" key4=")"/>
+ <key key0="p" key2="0" key3="f11_placeholder" key4="f12_placeholder"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="a" key1="tab" key2="ă" key3="â"/>
+ <key key0="s" key1="accent_aigu" key2="loc §"/>
+ <key key0="d" key1="accent_bar" key2="₫" key3="đ"/>
+ <key key0="f" key1="accent_grave"/>
+ <key key0="g" key2="-" key3="_"/>
+ <key key0="h" key2="=" key3="+"/>
+ <key key0="j" key1="accent_dot_below" key3="{" key4="}"/>
+ <key key0="k" key3="[" key4="]"/>
+ <key key0="l" key2="|" key3="\\"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="z"/>
+ <key key0="x" key1="accent_tilde" key2="loc †"/>
+ <key key0="c" key2="&lt;" key3="."/>
+ <key key0="v" key2="&gt;" key3=","/>
+ <key key0="b" key2="\?" key3="/"/>
+ <key key0="n" key2=":" key3=";"/>
+ <key key0="m" key2="&quot;" key3="'"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwertz.xml b/srcs/layouts/latn_qwertz.xml
new file mode 100644
index 0000000..34929f5
--- /dev/null
+++ b/srcs/layouts/latn_qwertz.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="QWERTZ" script="latin">
+ <row>
+ <key key0="q" key2="1" key4="esc"/>
+ <key key0="w" key1="^" key2="2" key3="&quot;" key4="\@"/>
+ <key key0="e" key1="§" key2="3" key3="!" key4="€"/>
+ <key key0="r" key2="4" key3="$" key4="f11_placeholder"/>
+ <key key0="t" key2="5" key3="%" key4="f12_placeholder"/>
+ <key key0="z" key2="6" key3="&amp;" key4="{"/>
+ <key key0="u" key2="7" key3="ü" key4="}"/>
+ <key key0="i" key1="(" key2="8" key3="[" key4="]"/>
+ <key key0="o" key1=")" key2="9" key3="ö" key4="="/>
+ <key key0="p" key2="0" key3="\?"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="a" key1="tab" key2="`" key3="ä"/>
+ <key key0="s" key3="ß"/>
+ <key key0="d"/>
+ <key key0="f" key1="~"/>
+ <key key0="g" key3="-"/>
+ <key key0="h" key3="+"/>
+ <key key0="j" key3="*"/>
+ <key key0="k" key3="/" key4="\\"/>
+ <key key0="l" key1="'" key3="\#"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="y" key1="&gt;" key2="|" key3="&lt;"/>
+ <key key0="x" key1="loc †"/>
+ <key key0="c"/>
+ <key key0="v" />
+ <key key0="b" key1=";" key3=","/>
+ <key key0="n" key1=":" key3="."/>
+ <key key0="m" key1="_" />
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwertz_cz.xml b/srcs/layouts/latn_qwertz_cz.xml
new file mode 100644
index 0000000..e3bbae9
--- /dev/null
+++ b/srcs/layouts/latn_qwertz_cz.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<keyboard script="latin" name="QWERTZ (Czech)">
+ <row>
+ <key key0="q" key1="1" key2="esc" key4="~"/>
+ <key key0="w" key1="2" key2="+" key3="|" key4="\\"/>
+ <key key0="e" key1="3" key2="é" key3="^" key4="ě"/>
+ <key key0="r" key1="4" key4="ř"/>
+ <key key0="t" key1="5" key3="°" key4="ť"/>
+ <key key0="z" key1="6" key4="ž"/>
+ <key key0="u" key1="7" key2="ú" key3="`" key4="ů"/>
+ <key key0="i" key1="8" key2="í" key3="(" key4=")"/>
+ <key key0="o" key1="9" key2="ó" key3="/" key4="%"/>
+ <key key0="p" key1="0" key3="="/>
+ </row>
+ <row>
+ <key shift="0.5" key0="a" key1="tab" key2="á" key3=";"/>
+ <key key0="s" key1="loc §" key4="š"/>
+ <key key0="d" key4="ď"/>
+ <key key0="f" key3="["/>
+ <key key0="g" key3="]"/>
+ <key key0="h"/>
+ <key key0="j"/>
+ <key key0="k"/>
+ <key key0="l" key1="&quot;" key2="'" key3="$" key4="!"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="y" key2="ý"/>
+ <key key0="x" key1="loc †" key3="\#"/>
+ <key key0="c" key3="&amp;" key4="č"/>
+ <key key0="v" key3="\@"/>
+ <key key0="b" key1="&lt;" key2="&gt;" key3="{" key4="}"/>
+ <key key0="n" key1="\?" key2="." key3="," key4="ň"/>
+ <key key0="m" key1=":" key2="*" key3="-" key4="_"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwertz_cz_multifunctional.xml b/srcs/layouts/latn_qwertz_cz_multifunctional.xml
new file mode 100644
index 0000000..9fc8dab
--- /dev/null
+++ b/srcs/layouts/latn_qwertz_cz_multifunctional.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="QWERTZ Multifunctional (Czech)" script="latin">
+ <row>
+ <key key0="q" key1="1" key4="esc"/>
+ <key key0="w" key1="2" key3="~"/>
+ <key key0="e" key1="3" key2="é" key3="ë" key4="ě"/>
+ <key key0="r" key1="4" key2="ŕ" key3="°" key4="ř"/>
+ <key key0="t" key1="5" key3="%" key4="ť"/>
+ <key key0="z" key1="6" key3="^" key4="ž"/>
+ <key key0="u" key1="7" key2="ú" key3="ü" key4="ů"/>
+ <key key0="i" key1="8" key2="í" key3="ï" key4="*"/>
+ <key key0="o" key1="9" key2="ó" key3="ö" key4="ô"/>
+ <key key0="p" key1="0" key2="=" key3="/" key4="π"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="a" key1="tab" key2="á" key3="ä" key4="α"/>
+ <key key0="s" key1="{" key2="&lt;" key3="§" key4="š"/>
+ <key key0="d" key1="$" key2="δ" key3="Δ" key4="ď"/>
+ <key key0="f" key1="&gt;" key2="}" key3="ѳ" key4="φ"/>
+ <key key0="g" key1="»" key2="«" key3="–" key4="_"/>
+ <key key0="h" key1="[" key2="("/>
+ <key key0="j" key1="+" key2="\?" key3="!" key4="-"/>
+ <key key0="k" key1=")" key2="]"/>
+ <key key0="l" key2="ľ" key3="\\" key4="ĺ"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="y" key1="÷" key2="ý"/>
+ <key key0="x" key1="∙" key3="×" key4="loc †"/>
+ <key key0="c" key1="\#" key2="γ" key3="&amp;" key4="č"/>
+ <key key0="v" key1="|" key3="\@"/>
+ <key key0="b" key1=";" key2="♭" key3=":" key4="β"/>
+ <key key0="n" key1="," key3="." key4="ň"/>
+ <key key0="m" key1="&quot;" key3="\'"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwertz_de.xml b/srcs/layouts/latn_qwertz_de.xml
new file mode 100644
index 0000000..122375b
--- /dev/null
+++ b/srcs/layouts/latn_qwertz_de.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Adapted from standard DIN 2137-1 -->
+<keyboard name="QWERTZ (Deutsch)" script="latin">
+ <row>
+ <key key0="q" key2="1" key4="esc"/>
+ <key key0="w" key1="^" key2="2" key3="&quot;" key4="\@"/>
+ <key key0="e" key1="§" key2="3" key3="!" key4="€"/>
+ <key key0="r" key2="4" key3="$" key4="f11_placeholder"/>
+ <key key0="t" key2="5" key3="%" key4="f12_placeholder"/>
+ <key key0="z" key2="6" key3="&amp;"/>
+ <key key0="u" key2="7" key3="{" key4="}"/>
+ <key key0="i" key2="8" key3="[" key4="]"/>
+ <key key0="o" key2="9" key3="(" key4=")"/>
+ <key key0="p" key2="0" key3="="/>
+ <key key0="ü" key3="\?"/>
+ </row>
+ <row>
+ <key key0="a" key2="tab"/>
+ <key key0="s" key1="`" key3="ß"/>
+ <key key0="d"/>
+ <key key0="f" key1="~"/>
+ <key key0="g" key3="-"/>
+ <key key0="h" key3="+"/>
+ <key key0="j" key3="*"/>
+ <key key0="k" key3="/"/>
+ <key key0="l" key1="'" key3="\\"/>
+ <key key0="ö" key3="\#"/>
+ <key key0="ä"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key shift="0.5" key0="y" key1="&gt;" key2="|" key3="&lt;"/>
+ <key key0="x" key1="loc †"/>
+ <key key0="c"/>
+ <key key0="v"/>
+ <key key0="b" key1=";" key3=","/>
+ <key key0="n" key1=":" key3="."/>
+ <key key0="m" key1="_"/>
+ <key shift="0.5" width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwertz_fr_ch.xml b/srcs/layouts/latn_qwertz_fr_ch.xml
new file mode 100644
index 0000000..b3e4cce
--- /dev/null
+++ b/srcs/layouts/latn_qwertz_fr_ch.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Freely adapted from standard SN 074021:1999-01 by Eluc -->
+<keyboard name="QWERTZ (Swiss French)" script="latin">
+ <row>
+ <key key0="q" key1="§" key2="1" key4="esc"/>
+ <key key0="w" key1="^" key2="2" key3="&quot;" key4="\@"/>
+ <key key0="e" key2="3" key3="\#" key4="€"/>
+ <key key0="r" key2="4" key3="$" key4="f11_placeholder"/>
+ <key key0="t" key2="5" key3="%" key4="f12_placeholder"/>
+ <key key0="z" key2="6" key3="&amp;"/>
+ <key key0="u" key1="ù" key2="7" key3="{" key4="}"/>
+ <key key0="i" key2="8" key3="[" key4="]"/>
+ <key key0="o" key1="œ" key2="9" key3="(" key4=")"/>
+ <key key0="p" key2="0" key3="=" key4="\?"/>
+ <key key0="è" key2="ü" key3="!"/>
+ </row>
+ <row>
+ <key key0="a" key1="æ" key2="tab"/>
+ <key key0="s" key1="`" key3="ß" key4="£"/>
+ <key key0="d"/>
+ <key key0="f" key1="~"/>
+ <key key0="g"/>
+ <key key0="h" key3="+"/>
+ <key key0="j" key3="*"/>
+ <key key0="k" key3="/"/>
+ <key key0="l" key1="'" key3="\\"/>
+ <key key0="é" key1="ë" key2="ö"/>
+ <key key0="à" key1="ï" key2="ä"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="y" key1="&gt;" key2="|" key3="&lt;"/>
+ <key key0="x"/>
+ <key key0="c" key3="ç"/>
+ <key key0="v"/>
+ <key key0="b" key1=";" key3=","/>
+ <key key0="n" key1=":" key3="."/>
+ <key key0="m" key1="_" key3="-"/>
+ <key key0="ê" key1="â" key2="î" key3="ô" key4="û"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/latn_qwertz_hu.xml b/srcs/layouts/latn_qwertz_hu.xml
new file mode 100644
index 0000000..61ebf24
--- /dev/null
+++ b/srcs/layouts/latn_qwertz_hu.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="QWERTZ (Magyar)" script="latin">
+ <row>
+ <key key0="q" key2="0" key4="esc"/>
+ <key key0="w" key1="'" key2="1" key3="~" key4="|"/>
+ <key key0="e" key1="&quot;" key2="2" key4="é"/>
+ <key key0="r" key2="3" key4="^"/>
+ <key key0="t" key1="!" key2="4" key4="f11_placeholder"/>
+ <key key0="z" key1="%" key2="5" key3="°" key4="f12_placeholder"/>
+ <key key0="u" key1="ű" key2="6" key3="ü" key4="ú"/>
+ <key key0="i" key1="=" key2="7" key3="`" key4="í"/>
+ <key key0="o" key1="ő" key2="8" key3="ö" key4="ó"/>
+ <key key0="p" key2="9"/>
+ </row>
+ <row>
+ <key shift="0.5" key0="a" key1="tab" key4="á"/>
+ <key key0="s" key1="§" key2="\\" key3="[" key4="]"/>
+ <key key0="d" key3="{" key4="}"/>
+ <key key0="f" key3="+"/>
+ <key key0="g" key3="*"/>
+ <key key0="h"/>
+ <key key0="j"/>
+ <key key0="k" key3="(" key4=")"/>
+ <key key0="l" key1="$" key3="/"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="y" key3="&lt;" key4="&gt;"/>
+ <key key0="x" key1="loc †" key4="\#"/>
+ <key key0="c" key4="&amp;"/>
+ <key key0="v" key4="\@"/>
+ <key key0="b" key1="\?" key3="," key4=";"/>
+ <key key0="n" key1=":" key3="."/>
+ <key key0="m" key1="_" key3="-"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>
+
diff --git a/srcs/layouts/latn_qwertz_sk.xml b/srcs/layouts/latn_qwertz_sk.xml
new file mode 100644
index 0000000..5227370
--- /dev/null
+++ b/srcs/layouts/latn_qwertz_sk.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<keyboard name="QWERTZ (Slovak)" script="latin">
+ <row>
+ <key key0="q" key1="1" key4="esc"/>
+ <key key0="w" key1="2"/>
+ <key key0="e" key1="3" key3="é" key4="ě"/>
+ <key key0="r" key1="4" key3="ŕ" key4="ř"/>
+ <key key0="t" key1="5" key4="ť"/>
+ <key key0="z" key1="6" key4="ž"/>
+ <key key0="u" key1="7" key2="ü" key3="ú" key4="ů"/>
+ <key key0="i" key1="8" key3="í"/>
+ <key key0="o" key1="9" key2="ö" key3="ó" key4="ô"/>
+ <key key0="p" key1="0" key2="=" key3="\\" key4="/"/>
+ </row>
+ <row>
+ <key key0="a" key1="tab" key3="á" key4="ä"/>
+ <key key0="s" key1="loc §" key3="ś" key4="š"/>
+ <key key0="d" key4="ď"/>
+ <key key0="f" key1="%" key2="*"/>
+ <key key0="g" key2="^"/>
+ <key key0="h" key1="~" key2="÷"/>
+ <key key0="j" key1="{" key2="}" key3="|" key4="+"/>
+ <key key0="k" key1="[" key2="]" key3="'" key4="&quot;"/>
+ <key key0="l" key1="(" key2=")" key3="ĺ" key4="ľ"/>
+ <key key0="backspace" key3="delete"/>
+ </row>
+ <row>
+ <key key0="shift" key2="loc capslock"/>
+ <key key0="y" key1="$" key3="ý"/>
+ <key key0="x" key1="loc †"/>
+ <key key0="c" key4="č"/>
+ <key key0="v" key4="\@"/>
+ <key key0="b" key1="\#" key2="&amp;" key3="-" key4="_"/>
+ <key key0="n" key1="«" key2="»" key4="ň"/>
+ <key key0="m" key1="&lt;" key2="&gt;"/>
+ <key key0="," key1=":" key2="\?"/>
+ <key key0="." key1=";" key2="!"/>
+ </row>
+</keyboard>
diff --git a/srcs/layouts/urdu_phonetic_ur.xml b/srcs/layouts/urdu_phonetic_ur.xml
new file mode 100644
index 0000000..a1fd561
--- /dev/null
+++ b/srcs/layouts/urdu_phonetic_ur.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<keyboard name="Urdu Phonetic" script="urdu">
+ <row>
+ <key key0="ق" key3=" " key4="esc" key7="1"/>
+ <key key0="و" key2="ؤ" key3="\@" key7="2"/>
+ <key key0="ع" key1="!" key3="\#" key7="3"/>
+ <key key0="ر" key2="ڑ" key3="$" key7="4"/>
+ <key key0="ت" key2="ٹ" key3="%" key7="5"/>
+ <key key0="ے" key3="^" key7="6"/>
+ <key key0="ئ" key2="ء" key3="&amp;" key7="7"/>
+ <key key0="ی" key3="*" key7="8"/>
+ <key key0="ہ" key1="'" key2="&quot;" key3="(" key4=")" key7="9" key8="ۃ"/>
+ <key key0="پ" key1="ٰ" key2="0" key3="؟" key5="ٓ" key7="ٗ" key8="ٖ"/>
+ </row>
+ <row>
+ <key width="1.1" key0="ا" key1="tab" key2="آ" key4="أ"/>
+ <key width="1.1" key0="س" key2="ص"/>
+ <key width="1.1" key0="د" key2="ڈ" key4=" "/>
+ <key width="1.1" key0="ف" key2="پھ"/>
+ <key width="1.15" key0="گ" key1="-" key2="غ" key3="_" key4="گھ"/>
+ <key width="1.1" key0="ھ" key1="=" key2="ح" key3="+"/>
+ <key width="1.1" key0="ج" key1="}" key2="ض" key3="{" key4="جھ"/>
+ <key width="1.1" key0="ک" key1="]" key2="خ" key3="[" key4="کھ"/>
+ <key width="1.15" key0="ل" key1="َ" key3="." key5="ْ" key7="ُ" key8="ِ"/>
+ </row>
+ <row>
+ <key width="1.5" key0="shift" key2="loc capslock"/>
+ <key key0="ز" key2="ذ"/>
+ <key key0="ش" key2="ژ"/>
+ <key key0="چ" key2="ث" key3="۔" key4="چھ"/>
+ <key key0="ط" key2="ظ" key3=","/>
+ <key key0="ب" key2="بھ" key3="/" key4="\\"/>
+ <key key0="ن" key2="ں" key3=";" key4=":"/>
+ <key key0="م" key5="ّ" key6="ً" key7="ٌ" key8="ٍ"/>
+ <key width="1.5" key0="backspace" key2="delete"/>
+ </row>
+</keyboard>