From e0fa7833249e31e111634333649e286bf9a6c7c8 Mon Sep 17 00:00:00 2001 From: Marquis Kurt Date: Fri, 22 Sep 2023 15:29:42 -0400 Subject: [PATCH] :lipstick: Prettify keyboard --- Shounin/components/keyboard.tscn | 539 ++++++++++++++---- Shounin/demos/ashashat_demo.tscn | 20 +- Shounin/resources/gui/keyboard/A_Focus.png | Bin 0 -> 755 bytes Shounin/resources/gui/keyboard/A_Normal.png | Bin 0 -> 740 bytes Shounin/resources/gui/keyboard/A_Press.png | Bin 0 -> 754 bytes Shounin/resources/gui/keyboard/B_Focus.png | Bin 0 -> 840 bytes Shounin/resources/gui/keyboard/B_Normal.png | Bin 0 -> 820 bytes Shounin/resources/gui/keyboard/B_Press.png | Bin 0 -> 835 bytes .../resources/gui/keyboard/Delete_Focus.png | Bin 0 -> 1128 bytes .../resources/gui/keyboard/Delete_Normal.png | Bin 0 -> 1116 bytes .../resources/gui/keyboard/Delete_Press.png | Bin 0 -> 1127 bytes .../gui/keyboard/Duplicant_Focus.png | Bin 0 -> 805 bytes .../gui/keyboard/Duplicant_Normal.png | Bin 0 -> 789 bytes .../gui/keyboard/Duplicant_Press.png | Bin 0 -> 804 bytes Shounin/resources/gui/keyboard/E_Focus.png | Bin 0 -> 914 bytes Shounin/resources/gui/keyboard/E_Normal.png | Bin 0 -> 898 bytes Shounin/resources/gui/keyboard/E_Press.png | Bin 0 -> 913 bytes .../gui/keyboard/Ejective_K_Focus.png | Bin 0 -> 872 bytes .../gui/keyboard/Ejective_K_Normal.png | Bin 0 -> 857 bytes .../gui/keyboard/Ejective_K_Press.png | Bin 0 -> 871 bytes .../resources/gui/keyboard/Glottal_Focus.png | Bin 0 -> 844 bytes .../resources/gui/keyboard/Glottal_Normal.png | Bin 0 -> 828 bytes .../resources/gui/keyboard/Glottal_Press.png | Bin 0 -> 843 bytes Shounin/resources/gui/keyboard/I_Focus.png | Bin 0 -> 780 bytes Shounin/resources/gui/keyboard/I_Normal.png | Bin 0 -> 765 bytes Shounin/resources/gui/keyboard/I_Press.png | Bin 0 -> 779 bytes Shounin/resources/gui/keyboard/K_Focus.png | Bin 0 -> 874 bytes Shounin/resources/gui/keyboard/K_Normal.png | Bin 0 -> 857 bytes Shounin/resources/gui/keyboard/K_Press.png | Bin 0 -> 873 bytes Shounin/resources/gui/keyboard/L_Focus.png | Bin 0 -> 713 bytes Shounin/resources/gui/keyboard/L_Normal.png | Bin 0 -> 697 bytes Shounin/resources/gui/keyboard/L_Press.png | Bin 0 -> 712 bytes Shounin/resources/gui/keyboard/N_Focus.png | Bin 0 -> 845 bytes Shounin/resources/gui/keyboard/N_Normal.png | Bin 0 -> 834 bytes Shounin/resources/gui/keyboard/N_Press.png | Bin 0 -> 844 bytes Shounin/resources/gui/keyboard/P_Focus.png | Bin 0 -> 886 bytes Shounin/resources/gui/keyboard/P_Normal.png | Bin 0 -> 873 bytes Shounin/resources/gui/keyboard/P_Press.png | Bin 0 -> 886 bytes .../resources/gui/keyboard/Repeater_Focus.png | Bin 0 -> 799 bytes .../gui/keyboard/Repeater_Normal.png | Bin 0 -> 782 bytes .../resources/gui/keyboard/Repeater_Press.png | Bin 0 -> 798 bytes .../resources/gui/keyboard/Return_Focus.png | Bin 0 -> 1087 bytes .../resources/gui/keyboard/Return_Normal.png | Bin 0 -> 1073 bytes .../resources/gui/keyboard/Return_Press.png | Bin 0 -> 1085 bytes Shounin/resources/gui/keyboard/S_Focus.png | Bin 0 -> 874 bytes Shounin/resources/gui/keyboard/S_Normal.png | Bin 0 -> 861 bytes Shounin/resources/gui/keyboard/S_Press.png | Bin 0 -> 874 bytes Shounin/resources/gui/keyboard/Sh_Focus.png | Bin 0 -> 893 bytes Shounin/resources/gui/keyboard/Sh_Normal.png | Bin 0 -> 878 bytes Shounin/resources/gui/keyboard/Sh_Press.png | Bin 0 -> 893 bytes Shounin/resources/gui/keyboard/T_Focus.png | Bin 0 -> 797 bytes Shounin/resources/gui/keyboard/T_Normal.png | Bin 0 -> 781 bytes Shounin/resources/gui/keyboard/T_Press.png | Bin 0 -> 796 bytes Shounin/resources/gui/keyboard/U_Focus.png | Bin 0 -> 836 bytes Shounin/resources/gui/keyboard/U_Normal.png | Bin 0 -> 823 bytes Shounin/resources/gui/keyboard/U_Press.png | Bin 0 -> 836 bytes Shounin/scripts/demo_ashashat.gd | 3 +- 57 files changed, 430 insertions(+), 132 deletions(-) create mode 100644 Shounin/resources/gui/keyboard/A_Focus.png create mode 100644 Shounin/resources/gui/keyboard/A_Normal.png create mode 100644 Shounin/resources/gui/keyboard/A_Press.png create mode 100644 Shounin/resources/gui/keyboard/B_Focus.png create mode 100644 Shounin/resources/gui/keyboard/B_Normal.png create mode 100644 Shounin/resources/gui/keyboard/B_Press.png create mode 100644 Shounin/resources/gui/keyboard/Delete_Focus.png create mode 100644 Shounin/resources/gui/keyboard/Delete_Normal.png create mode 100644 Shounin/resources/gui/keyboard/Delete_Press.png create mode 100644 Shounin/resources/gui/keyboard/Duplicant_Focus.png create mode 100644 Shounin/resources/gui/keyboard/Duplicant_Normal.png create mode 100644 Shounin/resources/gui/keyboard/Duplicant_Press.png create mode 100644 Shounin/resources/gui/keyboard/E_Focus.png create mode 100644 Shounin/resources/gui/keyboard/E_Normal.png create mode 100644 Shounin/resources/gui/keyboard/E_Press.png create mode 100644 Shounin/resources/gui/keyboard/Ejective_K_Focus.png create mode 100644 Shounin/resources/gui/keyboard/Ejective_K_Normal.png create mode 100644 Shounin/resources/gui/keyboard/Ejective_K_Press.png create mode 100644 Shounin/resources/gui/keyboard/Glottal_Focus.png create mode 100644 Shounin/resources/gui/keyboard/Glottal_Normal.png create mode 100644 Shounin/resources/gui/keyboard/Glottal_Press.png create mode 100644 Shounin/resources/gui/keyboard/I_Focus.png create mode 100644 Shounin/resources/gui/keyboard/I_Normal.png create mode 100644 Shounin/resources/gui/keyboard/I_Press.png create mode 100644 Shounin/resources/gui/keyboard/K_Focus.png create mode 100644 Shounin/resources/gui/keyboard/K_Normal.png create mode 100644 Shounin/resources/gui/keyboard/K_Press.png create mode 100644 Shounin/resources/gui/keyboard/L_Focus.png create mode 100644 Shounin/resources/gui/keyboard/L_Normal.png create mode 100644 Shounin/resources/gui/keyboard/L_Press.png create mode 100644 Shounin/resources/gui/keyboard/N_Focus.png create mode 100644 Shounin/resources/gui/keyboard/N_Normal.png create mode 100644 Shounin/resources/gui/keyboard/N_Press.png create mode 100644 Shounin/resources/gui/keyboard/P_Focus.png create mode 100644 Shounin/resources/gui/keyboard/P_Normal.png create mode 100644 Shounin/resources/gui/keyboard/P_Press.png create mode 100644 Shounin/resources/gui/keyboard/Repeater_Focus.png create mode 100644 Shounin/resources/gui/keyboard/Repeater_Normal.png create mode 100644 Shounin/resources/gui/keyboard/Repeater_Press.png create mode 100644 Shounin/resources/gui/keyboard/Return_Focus.png create mode 100644 Shounin/resources/gui/keyboard/Return_Normal.png create mode 100644 Shounin/resources/gui/keyboard/Return_Press.png create mode 100644 Shounin/resources/gui/keyboard/S_Focus.png create mode 100644 Shounin/resources/gui/keyboard/S_Normal.png create mode 100644 Shounin/resources/gui/keyboard/S_Press.png create mode 100644 Shounin/resources/gui/keyboard/Sh_Focus.png create mode 100644 Shounin/resources/gui/keyboard/Sh_Normal.png create mode 100644 Shounin/resources/gui/keyboard/Sh_Press.png create mode 100644 Shounin/resources/gui/keyboard/T_Focus.png create mode 100644 Shounin/resources/gui/keyboard/T_Normal.png create mode 100644 Shounin/resources/gui/keyboard/T_Press.png create mode 100644 Shounin/resources/gui/keyboard/U_Focus.png create mode 100644 Shounin/resources/gui/keyboard/U_Normal.png create mode 100644 Shounin/resources/gui/keyboard/U_Press.png diff --git a/Shounin/components/keyboard.tscn b/Shounin/components/keyboard.tscn index bb94766..a5f956d 100644 --- a/Shounin/components/keyboard.tscn +++ b/Shounin/components/keyboard.tscn @@ -1,184 +1,475 @@ -[gd_scene load_steps=4 format=3 uid="uid://ecxx1b6ggwda"] +[gd_scene load_steps=128 format=3 uid="uid://ecxx1b6ggwda"] [ext_resource type="Theme" uid="uid://b2ym80ujimgm6" path="res://resources/gui/theme_ashashat.tres" id="1_dvw02"] -[ext_resource type="FontFile" uid="uid://u077pytrgt12" path="res://resources/gui/ashashat_fnt.ttf" id="2_5sxfe"] +[ext_resource type="Texture2D" uid="uid://bbli00kv62r61" path="res://resources/gui/keyboard/A_Normal.png" id="2_eksae"] +[ext_resource type="Texture2D" uid="uid://cpuuect5nluqh" path="res://resources/gui/keyboard/A_Focus.png" id="3_c2y0h"] +[ext_resource type="Texture2D" uid="uid://7xwwrqeaqa3e" path="res://resources/gui/keyboard/A_Press.png" id="4_gd236"] +[ext_resource type="Texture2D" uid="uid://df44pq6bcfttf" path="res://resources/gui/keyboard/E_Normal.png" id="5_1mp4f"] +[ext_resource type="Texture2D" uid="uid://c84j7m7orpn2q" path="res://resources/gui/keyboard/E_Focus.png" id="6_2xto7"] +[ext_resource type="Texture2D" uid="uid://b4od7l1o2stkr" path="res://resources/gui/keyboard/E_Press.png" id="7_7kk7m"] +[ext_resource type="Texture2D" uid="uid://b1foxgv7nsani" path="res://resources/gui/keyboard/I_Normal.png" id="8_gvfum"] +[ext_resource type="Texture2D" uid="uid://c47gp1o32liq7" path="res://resources/gui/keyboard/I_Focus.png" id="9_78fxb"] +[ext_resource type="Texture2D" uid="uid://bhw0d0b23rsea" path="res://resources/gui/keyboard/Delete_Normal.png" id="9_x3ijr"] +[ext_resource type="Texture2D" uid="uid://d1smfhgj5b4fm" path="res://resources/gui/keyboard/I_Press.png" id="10_hpfqd"] +[ext_resource type="Texture2D" uid="uid://c2d783wn1i6an" path="res://resources/gui/keyboard/U_Normal.png" id="11_5idro"] +[ext_resource type="Texture2D" uid="uid://cf1me1pdwtik2" path="res://resources/gui/keyboard/U_Focus.png" id="12_7twr2"] +[ext_resource type="Texture2D" uid="uid://v27l7hilu7vd" path="res://resources/gui/keyboard/U_Press.png" id="13_mqkul"] +[ext_resource type="Texture2D" uid="uid://d02jdbjvm4ofn" path="res://resources/gui/keyboard/P_Normal.png" id="14_u3poq"] +[ext_resource type="Texture2D" uid="uid://dvs5admys7n04" path="res://resources/gui/keyboard/Glottal_Normal.png" id="14_v8mfw"] +[ext_resource type="Texture2D" uid="uid://d22eyju4cldv" path="res://resources/gui/keyboard/Delete_Focus.png" id="15_2a5ey"] +[ext_resource type="Texture2D" uid="uid://5q7h2j382lhw" path="res://resources/gui/keyboard/Glottal_Focus.png" id="15_7t05o"] +[ext_resource type="Texture2D" uid="uid://dnkbrghro4ooc" path="res://resources/gui/keyboard/P_Focus.png" id="15_dp5xb"] +[ext_resource type="Texture2D" uid="uid://c18538llib60g" path="res://resources/gui/keyboard/Delete_Press.png" id="16_5gg6t"] +[ext_resource type="Texture2D" uid="uid://y75flnsccqtp" path="res://resources/gui/keyboard/Glottal_Press.png" id="16_f5126"] +[ext_resource type="Texture2D" uid="uid://ejf1a7olwtbl" path="res://resources/gui/keyboard/P_Press.png" id="16_phn0h"] +[ext_resource type="Texture2D" uid="uid://d16d5kyqnkaw0" path="res://resources/gui/keyboard/B_Normal.png" id="17_2mdfy"] +[ext_resource type="Texture2D" uid="uid://wblt31a6hedn" path="res://resources/gui/keyboard/Sh_Normal.png" id="17_7tlg1"] +[ext_resource type="Texture2D" uid="uid://bredbxkanyhho" path="res://resources/gui/keyboard/Return_Normal.png" id="17_s112a"] +[ext_resource type="Texture2D" uid="uid://doy3nb3t2ph2q" path="res://resources/gui/keyboard/Ejective_K_Normal.png" id="17_vt8et"] +[ext_resource type="Texture2D" uid="uid://2twvur1cnief" path="res://resources/gui/keyboard/B_Focus.png" id="18_5axr4"] +[ext_resource type="Texture2D" uid="uid://ciivwwmk34rp8" path="res://resources/gui/keyboard/Ejective_K_Focus.png" id="18_6op4w"] +[ext_resource type="Texture2D" uid="uid://jj2jkfwnisim" path="res://resources/gui/keyboard/Return_Focus.png" id="18_atyf7"] +[ext_resource type="Texture2D" uid="uid://c514fraj01t2k" path="res://resources/gui/keyboard/Sh_Focus.png" id="18_norco"] +[ext_resource type="Texture2D" uid="uid://dyeamc8fus27h" path="res://resources/gui/keyboard/B_Press.png" id="19_7a7du"] +[ext_resource type="Texture2D" uid="uid://g8j0muy5ghls" path="res://resources/gui/keyboard/Sh_Press.png" id="19_n37ft"] +[ext_resource type="Texture2D" uid="uid://b0ts1b6ksmhus" path="res://resources/gui/keyboard/Ejective_K_Press.png" id="19_p7vtw"] +[ext_resource type="Texture2D" uid="uid://fr2nv833qngb" path="res://resources/gui/keyboard/Return_Press.png" id="19_revtg"] +[ext_resource type="Texture2D" uid="uid://b34pcc1qsw2ar" path="res://resources/gui/keyboard/Repeater_Normal.png" id="20_4mjd0"] +[ext_resource type="Texture2D" uid="uid://pwkb15wp3cd3" path="res://resources/gui/keyboard/T_Normal.png" id="20_lu3i7"] +[ext_resource type="Texture2D" uid="uid://bola8kbeor06b" path="res://resources/gui/keyboard/L_Normal.png" id="20_lxcvd"] +[ext_resource type="Texture2D" uid="uid://dlyyxcwwc2o35" path="res://resources/gui/keyboard/L_Focus.png" id="21_gmilo"] +[ext_resource type="Texture2D" uid="uid://b1etuwe1xij5u" path="res://resources/gui/keyboard/T_Focus.png" id="21_mt635"] +[ext_resource type="Texture2D" uid="uid://c8hvdxgvm2x2j" path="res://resources/gui/keyboard/Repeater_Focus.png" id="21_nyy7x"] +[ext_resource type="Texture2D" uid="uid://7rjj8ji1ukla" path="res://resources/gui/keyboard/L_Press.png" id="22_kcyky"] +[ext_resource type="Texture2D" uid="uid://bbmdamdjegxyi" path="res://resources/gui/keyboard/Repeater_Press.png" id="22_qwxdn"] +[ext_resource type="Texture2D" uid="uid://do715h7vf4ru1" path="res://resources/gui/keyboard/T_Press.png" id="22_vxepk"] +[ext_resource type="Texture2D" uid="uid://cfdn5rct0k4to" path="res://resources/gui/keyboard/K_Normal.png" id="23_f7hyf"] +[ext_resource type="Texture2D" uid="uid://2pwejsgp0lmf" path="res://resources/gui/keyboard/S_Normal.png" id="23_n7vdh"] +[ext_resource type="Texture2D" uid="uid://j0m5o30cjbvh" path="res://resources/gui/keyboard/K_Focus.png" id="24_jx3ni"] +[ext_resource type="Texture2D" uid="uid://dd0cgb4lqkv1l" path="res://resources/gui/keyboard/S_Focus.png" id="24_sbiok"] +[ext_resource type="Texture2D" uid="uid://dww0r2d2r6xgy" path="res://resources/gui/keyboard/K_Press.png" id="25_nxbog"] +[ext_resource type="Texture2D" uid="uid://2q2exnsexc45" path="res://resources/gui/keyboard/S_Press.png" id="25_oyc58"] +[ext_resource type="Texture2D" uid="uid://dg1iro8obi16f" path="res://resources/gui/keyboard/Duplicant_Normal.png" id="26_0y1p2"] +[ext_resource type="Texture2D" uid="uid://ccr05i5ssth4l" path="res://resources/gui/keyboard/N_Normal.png" id="26_282u3"] +[ext_resource type="Texture2D" uid="uid://cumk4wafef46k" path="res://resources/gui/keyboard/Duplicant_Focus.png" id="27_afef1"] +[ext_resource type="Texture2D" uid="uid://dx1yx2v1k78xd" path="res://resources/gui/keyboard/N_Focus.png" id="27_n0dyy"] +[ext_resource type="Texture2D" uid="uid://br3w2v7rsb6u1" path="res://resources/gui/keyboard/Duplicant_Press.png" id="28_4l4bi"] +[ext_resource type="Texture2D" uid="uid://ckhettusygrbn" path="res://resources/gui/keyboard/N_Press.png" id="28_o8mua"] -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_t3ecp"] -bg_color = Color(0.101961, 0.529412, 0.968627, 1) +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_173mx"] +texture = ExtResource("2_eksae") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_y2vsu"] +texture = ExtResource("3_c2y0h") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_j8ng5"] +texture = ExtResource("4_gd236") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_0a1kn"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_844ea"] +texture = ExtResource("5_1mp4f") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_t27wf"] +texture = ExtResource("6_2xto7") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_aso5q"] +texture = ExtResource("7_7kk7m") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_blfb4"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_2n2qa"] +texture = ExtResource("8_gvfum") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_nxn13"] +texture = ExtResource("9_78fxb") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_sy61e"] +texture = ExtResource("10_hpfqd") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_jx613"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_7nj8y"] +texture = ExtResource("11_5idro") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_jrlbp"] +texture = ExtResource("12_7twr2") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_h0lva"] +texture = ExtResource("13_mqkul") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_iwnib"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_ae6g1"] +texture = ExtResource("14_u3poq") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_xxa22"] +texture = ExtResource("15_dp5xb") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_3c1we"] +texture = ExtResource("16_phn0h") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_t3wxt"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_qa7wq"] +texture = ExtResource("17_2mdfy") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_e22p1"] +texture = ExtResource("18_5axr4") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_scb6t"] +texture = ExtResource("19_7a7du") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_f86fg"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_x2c2v"] +texture = ExtResource("20_lu3i7") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_0rp0u"] +texture = ExtResource("21_mt635") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_1jr75"] +texture = ExtResource("22_vxepk") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_0vuaf"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_uslwx"] +texture = ExtResource("23_f7hyf") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_rygbu"] +texture = ExtResource("24_jx3ni") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_46wo2"] +texture = ExtResource("25_nxbog") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_76hkk"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_k0842"] +texture = ExtResource("14_v8mfw") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_j8ldk"] +texture = ExtResource("15_7t05o") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_nnh4n"] +texture = ExtResource("16_f5126") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_wdbpi"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_p2hnh"] +texture = ExtResource("17_7tlg1") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_52len"] +texture = ExtResource("18_norco") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_kqh6i"] +texture = ExtResource("19_n37ft") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_r0ybd"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_3nnwf"] +texture = ExtResource("20_lxcvd") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_m1g0g"] +texture = ExtResource("21_gmilo") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_04p2q"] +texture = ExtResource("22_kcyky") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_r2iml"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_mg0hl"] +texture = ExtResource("23_n7vdh") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_84v6j"] +texture = ExtResource("24_sbiok") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_drae5"] +texture = ExtResource("25_oyc58") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_w1fy1"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_p1rjr"] +texture = ExtResource("26_282u3") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_h3orn"] +texture = ExtResource("27_n0dyy") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_sx2wq"] +texture = ExtResource("28_o8mua") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_wf574"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_rb153"] +texture = ExtResource("17_vt8et") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_ieckv"] +texture = ExtResource("18_6op4w") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_n6ut2"] +texture = ExtResource("19_p7vtw") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_u2b41"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_idw5b"] +texture = ExtResource("20_4mjd0") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_u0wvb"] +texture = ExtResource("21_nyy7x") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_2tydx"] +texture = ExtResource("22_qwxdn") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_ymggo"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_taql2"] +texture = ExtResource("26_0y1p2") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_hn7c8"] +texture = ExtResource("27_afef1") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_nyr3v"] +texture = ExtResource("28_4l4bi") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_hnfb1"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_640mw"] +texture = ExtResource("9_x3ijr") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_to6xx"] +texture = ExtResource("15_2a5ey") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_8qyvs"] +texture = ExtResource("16_5gg6t") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_6ucy5"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_84d6k"] +texture = ExtResource("17_s112a") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_6k7jx"] +texture = ExtResource("18_atyf7") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_53opv"] +texture = ExtResource("19_revtg") + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_0qqm7"] [node name="Keyboard" type="AshashatKeyboardInterpreter"] -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 +texture_filter = 1 theme = ExtResource("1_dvw02") [node name="keyA" type="Button" parent="."] layout_mode = 0 -offset_left = 484.0 -offset_top = 286.0 -offset_right = 626.0 -offset_bottom = 410.0 -theme_override_font_sizes/font_size = 100 -text = "a" +offset_left = 159.0 +offset_top = 128.0 +offset_right = 255.0 +offset_bottom = 224.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_173mx") +theme_override_styles/hover = SubResource("StyleBoxTexture_y2vsu") +theme_override_styles/pressed = SubResource("StyleBoxTexture_j8ng5") +theme_override_styles/focus = SubResource("StyleBoxTexture_0a1kn") [node name="keyE" type="Button" parent="."] layout_mode = 0 -offset_left = 642.0 -offset_top = 286.0 -offset_right = 784.0 -offset_bottom = 410.0 -theme_override_font_sizes/font_size = 100 -text = "e -" +offset_left = 257.0 +offset_top = 128.0 +offset_right = 353.0 +offset_bottom = 224.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_844ea") +theme_override_styles/hover = SubResource("StyleBoxTexture_t27wf") +theme_override_styles/pressed = SubResource("StyleBoxTexture_aso5q") +theme_override_styles/focus = SubResource("StyleBoxTexture_blfb4") [node name="keyI" type="Button" parent="."] layout_mode = 0 -offset_left = 484.0 -offset_top = 426.0 -offset_right = 626.0 -offset_bottom = 550.0 -theme_override_font_sizes/font_size = 100 -text = "i" +offset_left = 159.0 +offset_top = 226.0 +offset_right = 255.0 +offset_bottom = 322.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_2n2qa") +theme_override_styles/hover = SubResource("StyleBoxTexture_nxn13") +theme_override_styles/pressed = SubResource("StyleBoxTexture_sy61e") +theme_override_styles/focus = SubResource("StyleBoxTexture_jx613") [node name="keyU" type="Button" parent="."] layout_mode = 0 -offset_left = 642.0 -offset_top = 426.0 -offset_right = 784.0 -offset_bottom = 550.0 -theme_override_fonts/font = ExtResource("2_5sxfe") -theme_override_font_sizes/font_size = 100 -text = "u" +offset_left = 257.0 +offset_top = 226.0 +offset_right = 353.0 +offset_bottom = 322.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_7nj8y") +theme_override_styles/hover = SubResource("StyleBoxTexture_jrlbp") +theme_override_styles/pressed = SubResource("StyleBoxTexture_h0lva") +theme_override_styles/focus = SubResource("StyleBoxTexture_iwnib") [node name="keyP" type="Button" parent="."] layout_mode = 0 -offset_left = 410.0 -offset_top = 205.0 -offset_right = 482.0 -offset_bottom = 278.0 -theme_override_font_sizes/font_size = 64 -text = "p -" +offset_left = 55.0 +offset_top = 21.0 +offset_right = 151.0 +offset_bottom = 117.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_ae6g1") +theme_override_styles/hover = SubResource("StyleBoxTexture_xxa22") +theme_override_styles/pressed = SubResource("StyleBoxTexture_3c1we") +theme_override_styles/focus = SubResource("StyleBoxTexture_t3wxt") [node name="keyB" type="Button" parent="."] layout_mode = 0 -offset_left = 498.0 -offset_top = 205.0 -offset_right = 570.0 -offset_bottom = 278.0 -theme_override_font_sizes/font_size = 64 -text = "b -" +offset_left = 159.0 +offset_top = 21.0 +offset_right = 255.0 +offset_bottom = 117.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_qa7wq") +theme_override_styles/hover = SubResource("StyleBoxTexture_e22p1") +theme_override_styles/pressed = SubResource("StyleBoxTexture_scb6t") +theme_override_styles/focus = SubResource("StyleBoxTexture_f86fg") [node name="keyT" type="Button" parent="."] layout_mode = 0 -offset_left = 618.0 -offset_top = 205.0 -offset_right = 690.0 -offset_bottom = 278.0 -theme_override_font_sizes/font_size = 64 -text = "t -" +offset_left = 257.0 +offset_top = 21.0 +offset_right = 353.0 +offset_bottom = 117.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_x2c2v") +theme_override_styles/hover = SubResource("StyleBoxTexture_0rp0u") +theme_override_styles/pressed = SubResource("StyleBoxTexture_1jr75") +theme_override_styles/focus = SubResource("StyleBoxTexture_0vuaf") [node name="keyK" type="Button" parent="."] layout_mode = 0 -offset_left = 738.0 -offset_top = 205.0 -offset_right = 810.0 -offset_bottom = 278.0 -theme_override_font_sizes/font_size = 64 -text = "k" +offset_left = 361.0 +offset_top = 21.0 +offset_right = 457.0 +offset_bottom = 117.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_uslwx") +theme_override_styles/hover = SubResource("StyleBoxTexture_rygbu") +theme_override_styles/pressed = SubResource("StyleBoxTexture_46wo2") +theme_override_styles/focus = SubResource("StyleBoxTexture_76hkk") [node name="keyGlottal" type="Button" parent="."] layout_mode = 0 -offset_left = 795.0 -offset_top = 286.0 -offset_right = 867.0 -offset_bottom = 359.0 -theme_override_font_sizes/font_size = 64 -text = "ʔ" +offset_left = 361.0 +offset_top = 128.0 +offset_right = 457.0 +offset_bottom = 224.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_k0842") +theme_override_styles/hover = SubResource("StyleBoxTexture_j8ldk") +theme_override_styles/pressed = SubResource("StyleBoxTexture_nnh4n") +theme_override_styles/focus = SubResource("StyleBoxTexture_wdbpi") [node name="keySh" type="Button" parent="."] layout_mode = 0 -offset_left = 795.0 -offset_top = 452.0 -offset_right = 867.0 -offset_bottom = 525.0 -theme_override_font_sizes/font_size = 64 -text = "sh" +offset_left = 361.0 +offset_top = 226.0 +offset_right = 457.0 +offset_bottom = 322.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_p2hnh") +theme_override_styles/hover = SubResource("StyleBoxTexture_52len") +theme_override_styles/pressed = SubResource("StyleBoxTexture_kqh6i") +theme_override_styles/focus = SubResource("StyleBoxTexture_r0ybd") [node name="keyL" type="Button" parent="."] layout_mode = 0 -offset_left = 600.0 -offset_top = 566.0 -offset_right = 672.0 -offset_bottom = 639.0 -theme_override_font_sizes/font_size = 64 -text = "l" +offset_left = 203.0 +offset_top = 334.0 +offset_right = 299.0 +offset_bottom = 430.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_3nnwf") +theme_override_styles/hover = SubResource("StyleBoxTexture_m1g0g") +theme_override_styles/pressed = SubResource("StyleBoxTexture_04p2q") +theme_override_styles/focus = SubResource("StyleBoxTexture_r2iml") [node name="keyS" type="Button" parent="."] layout_mode = 0 -offset_left = 396.0 -offset_top = 452.0 -offset_right = 468.0 -offset_bottom = 525.0 -theme_override_font_sizes/font_size = 64 -text = "s" +offset_left = 55.0 +offset_top = 226.0 +offset_right = 151.0 +offset_bottom = 322.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_mg0hl") +theme_override_styles/hover = SubResource("StyleBoxTexture_84v6j") +theme_override_styles/pressed = SubResource("StyleBoxTexture_drae5") +theme_override_styles/focus = SubResource("StyleBoxTexture_w1fy1") [node name="keyN" type="Button" parent="."] layout_mode = 0 -offset_left = 396.0 -offset_top = 348.0 -offset_right = 468.0 -offset_bottom = 421.0 -theme_override_font_sizes/font_size = 64 -text = "n" +offset_left = 55.0 +offset_top = 128.0 +offset_right = 151.0 +offset_bottom = 224.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_p1rjr") +theme_override_styles/hover = SubResource("StyleBoxTexture_h3orn") +theme_override_styles/pressed = SubResource("StyleBoxTexture_sx2wq") +theme_override_styles/focus = SubResource("StyleBoxTexture_wf574") [node name="keyEjectiveK" type="Button" parent="."] layout_mode = 0 -offset_left = 881.0 -offset_top = 339.0 -offset_right = 1057.0 -offset_bottom = 509.0 -theme_override_font_sizes/font_size = 128 -text = "K" +offset_left = 467.0 +offset_top = 169.0 +offset_right = 563.0 +offset_bottom = 265.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_rb153") +theme_override_styles/hover = SubResource("StyleBoxTexture_ieckv") +theme_override_styles/pressed = SubResource("StyleBoxTexture_n6ut2") +theme_override_styles/focus = SubResource("StyleBoxTexture_u2b41") [node name="keyRepeat" type="Button" parent="."] layout_mode = 0 -offset_left = 885.0 -offset_top = 574.0 -offset_right = 957.0 -offset_bottom = 647.0 -theme_override_font_sizes/font_size = 64 -text = "*" +offset_left = 369.0 +offset_top = 332.0 +offset_right = 465.0 +offset_bottom = 428.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_idw5b") +theme_override_styles/hover = SubResource("StyleBoxTexture_u0wvb") +theme_override_styles/pressed = SubResource("StyleBoxTexture_2tydx") +theme_override_styles/focus = SubResource("StyleBoxTexture_ymggo") [node name="keyDuplicant" type="Button" parent="."] layout_mode = 0 -offset_left = 965.0 -offset_top = 574.0 -offset_right = 1037.0 -offset_bottom = 647.0 -theme_override_font_sizes/font_size = 64 -text = "!" +offset_left = 467.0 +offset_top = 332.0 +offset_right = 563.0 +offset_bottom = 428.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_taql2") +theme_override_styles/hover = SubResource("StyleBoxTexture_hn7c8") +theme_override_styles/pressed = SubResource("StyleBoxTexture_nyr3v") +theme_override_styles/focus = SubResource("StyleBoxTexture_hnfb1") [node name="keyDelete" type="Button" parent="."] layout_mode = 0 -offset_left = 885.0 -offset_top = 659.0 -offset_right = 1237.0 -offset_bottom = 741.0 -theme_override_font_sizes/font_size = 32 -text = "ʔaʃakasuKabi*u" +offset_left = 273.0 +offset_top = 430.0 +offset_right = 417.0 +offset_bottom = 526.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_640mw") +theme_override_styles/hover = SubResource("StyleBoxTexture_to6xx") +theme_override_styles/pressed = SubResource("StyleBoxTexture_8qyvs") +theme_override_styles/focus = SubResource("StyleBoxTexture_6ucy5") [node name="keyReturn" type="Button" parent="."] layout_mode = 0 -offset_left = 1242.0 -offset_top = 659.0 -offset_right = 1560.0 -offset_bottom = 741.0 -theme_override_colors/font_color = Color(1, 1, 1, 1) -theme_override_font_sizes/font_size = 32 -theme_override_styles/normal = SubResource("StyleBoxFlat_t3ecp") -text = "ʔaʃakasuʃakuu" +offset_left = 419.0 +offset_top = 430.0 +offset_right = 563.0 +offset_bottom = 526.0 +focus_mode = 1 +theme_override_styles/normal = SubResource("StyleBoxTexture_84d6k") +theme_override_styles/hover = SubResource("StyleBoxTexture_6k7jx") +theme_override_styles/pressed = SubResource("StyleBoxTexture_53opv") +theme_override_styles/focus = SubResource("StyleBoxTexture_0qqm7") diff --git a/Shounin/demos/ashashat_demo.tscn b/Shounin/demos/ashashat_demo.tscn index 2834996..fba9fd6 100644 --- a/Shounin/demos/ashashat_demo.tscn +++ b/Shounin/demos/ashashat_demo.tscn @@ -6,6 +6,7 @@ [ext_resource type="FontFile" uid="uid://u077pytrgt12" path="res://resources/gui/ashashat_fnt.ttf" id="4_cywxo"] [node name="Control" type="Control"] +texture_filter = 1 layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 @@ -22,17 +23,22 @@ anchor_right = 1.0 anchor_bottom = 0.093 offset_bottom = 0.299998 grow_horizontal = 2 -text = "Press a key on the keyboard to start typing..." +text = "Press a key on the keyboard below to start typing..." horizontal_alignment = 1 vertical_alignment = 1 [node name="Keyboard" parent="." instance=ExtResource("1_g456k")] -layout_mode = 0 -anchors_preset = 0 -anchor_right = 0.0 -anchor_bottom = 0.0 -grow_horizontal = 1 -grow_vertical = 1 +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.326875 +anchor_top = 0.226667 +anchor_right = 0.688125 +anchor_bottom = 0.82 +offset_top = -8.00001 +offset_right = -2.28882e-05 +offset_bottom = -7.99999 +grow_horizontal = 2 +grow_vertical = 2 [node name="TextField" type="Label" parent="."] layout_mode = 1 diff --git a/Shounin/resources/gui/keyboard/A_Focus.png b/Shounin/resources/gui/keyboard/A_Focus.png new file mode 100644 index 0000000000000000000000000000000000000000..d0635838357e87602dac490be35435b9004755d2 GIT binary patch literal 755 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z!dB0;uuoF z_;#+L-(d#Z8$WliR=a=rp;-SmUkB!GzBNn2 zdp*{^y;B$4=T#xWX(O}$$YG;(Ta|?a1PqyZ6LyGSb>x1PX}z^$YFD*ghwiRpTHBO` z8SWcMF-RALTz=mfl>6Rpet+)r_Jy1c@5Oj8Fw9`k$!9WQP-8e9KELVO-gQ5E_rJTh ze}|pj+nl1m+ZOn~IJ+U7Ijv!bXXnkRfIS^MA4z7vJ7lr=>@0>Gkto_{Gw?QW9{8l@ zz?{IeVGk#=$pa|W!0S<&8hLE>-UPqQPihLhx$%j-FCI_XmbFdnOZ@#QGu-MTZ?L2Y z=Uutpz_#E`ChrNgJ1f>R@;cnSEH%M*N8tWnA|ms%9`UcP*cVu>zx;Y?D$|48F3btc zY`QNV|J@vO?&VES$>ZCEmBYj=G+2~Y7kw%hxOwcen!+W9V^Rzb{gayOgL{Sj`@cV} zf0At7l`Z2h+>!hI*Rwp;Y+-}52DM?#mjwN}*Yq5%@Xm36Y}x;sB`a6`odM%SHiK&n j47(-?O=w^#YdOI0_S0$ht{1BBKnc#%)z4*}Q$iB}F|!o3 literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/A_Normal.png b/Shounin/resources/gui/keyboard/A_Normal.png new file mode 100644 index 0000000000000000000000000000000000000000..d957b6fbed68588e0f57a7902fef7875dd475859 GIT binary patch literal 740 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z~txY;uuoF z_;&6_-y;qJuKX_A9GyK4avF_2Tr1kRPG~gBah#YSaMYn`&Bpg`yO)3dA^Arys`~op z@b|yZ{}j5P_uQRHXaa-VgEj6y|GxdYJAH2UF_yf%_p@rwAD>>a#e|VJV%85A{a%l2 zWp?)a)KqPHSk|r6fBewk+^vb65(0+Iya_w_S1lI1a=C0%2d}8PU5Bn!vgqxJoDKOB zybZiNPJF3eG$nTT)6W~qZEU1!&Bb|wgW5)Kfh?cxKVpF|4;Jzzum7N zUp}Y#dpqk~r~I~T(*(ATbW;cB1f~spI4>~FV9?2D zGGS0-I6a$zw}JD(C$&K$#bCDJ$<$QQ_1~H-r=FbMV6>&S)pS9B@Xb{>qb}6f1}91W zynje-!K{MC``AnvLjAKHOdq<{@@6osns==s>rn5nm%#xwt2*u1Jo@SO*4Iz|^eL7D z+dJ6~u=PX*h|RxI_DHJY{pu5-tyQpdo*&VE(Rg6^-t1jgX$>gTe~DWM4fp#&7e literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/A_Press.png b/Shounin/resources/gui/keyboard/A_Press.png new file mode 100644 index 0000000000000000000000000000000000000000..f6f0efd5d607bc287e56dfa2c29e3f64ecf58e1d GIT binary patch literal 754 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z!c-@;uuoF z_;#+L-(d#I)unl$dOpqo&I%>%QP2i^$6f0_}`kTcn~R-@AQ$!uly_ z?cUv=*M9%2?)O+ntWHINku!nCuWHKmeEoRa*D=N_8}{tV{A4Se_c7x>i%G)$BkomK zJFeV1_xMv)$f3g?59KlDN z3^j){7;+9o`tDcv+Pe36jor4na&2l1`=U)8m=l;b?BTq?FoQuSzLx9Ow_T6S|81-O z|LE6`Et^k&z1>u{(EM;5?+nIAda7yJjvtktb)~PV7>YgC-6-4p+-9Bdimh{Z9Afl0_hfa(7E1uha^+)VMngTe~DWM4fGWZj? literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/B_Focus.png b/Shounin/resources/gui/keyboard/B_Focus.png new file mode 100644 index 0000000000000000000000000000000000000000..4d3ae3cc7b4cc88ee19dabaf98482d9038b93b41 GIT binary patch literal 840 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z_iKJ#WAFU z@$FngKV?S|*0WvR0&BvQlppXEux#q(wBThllyq+}7MP%@*kpT3FYtB$Q?t(|THiBb zU2=b)eI0o9%XH<Kd@)vy1cSzdx2u^%3}zg7@OJn8 zCcet}ueX`@=Kr1M^xky&eL<6Up&5Y;9OZsrwcG;sUfkN-QI&t>maszrua&640i{J; z3M<&=a&aUG2C@o-H2bl#Z0K0Q#Iee8ITKTaO9&&&)dj(fj5wl>^< zv_d_>@K7o%SH!XWk5}&sh8%bLn-+9Ge$VgvhzXlMvGCM!h!{j1NMWhnQ@`!@&(eRJ z*S@~7(tQnUj0w}!(CW|Gfj6&xw`H7qtYIq?o5T8Ozkjo{{yup5ao=D0pH_WY$G+Av zmA<+2XW#9Uw}dy$SNykbP0l+XkK)G#yK literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/B_Normal.png b/Shounin/resources/gui/keyboard/B_Normal.png new file mode 100644 index 0000000000000000000000000000000000000000..c64b249015ae180ae449ab4050969a752aea9d64 GIT binary patch literal 820 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z%B z+*AJagq`I_eA%n2yB4{xd1Y0^ zH0!jk}7fS7584;3v=0P{^%B`!V0#zTpS64fvf@{&3>#b z8#-1najbG&&cqbq62i!GbwMyAqmI%lhNi3wD;pTZ1Vb4dO<#mKFm!ilH7t-S(Nbt| zbrE$4;I$GJIH0tMYe*XR{M|m&iT{MI@2%BdEG)1mx)U4(&-KDC+`Hy*)Iy|B(`<@xn?fBD6hteMmB%)F6l7VDX?3mG-9Zmpd8tor`bk5fbU z9uzcJUl5eFBg}#MOVyJ%*F#?0&zmo|{QgAw-q5qvwLS~h&E5UGT|Uy9@%SCHS~teo zkL>K;9N%csbG5YOhrN71XU{di+E(F!Op_Sx1&q7gy&RZ?Zg4i{UterH?coA;5m1Wt MboFyt=akR{04=>O(f|Me literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/B_Press.png b/Shounin/resources/gui/keyboard/B_Press.png new file mode 100644 index 0000000000000000000000000000000000000000..c45040c5c8cf8a030b7b21f0d9f3b5ac5e56168d GIT binary patch literal 835 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z_ixW#WAFU z@$Fngzrzk9tc-=CEiUc{IWsJnWO;R$FI>9tF^9>Vh9*AFLWu=YweB|`sAq2yH|K_@_ z(%y}q3+i?TK0NL9;M?1!`*L32v-ref;*u=JC2@G~TPsP&;$wdAJGLIH-?u_}*YQ<- z%Kir)u)8rfv&ww`HotgE)%AbRzrVgQ^Y8^>gCCiJ4NPpp5_|TlJ1{nL^4#0^TQ_6= z_t5>i7k*#M*ZdM!{7crcSff#rwV~j7$oeFftJ1NzJ63#mTVu<}a&&@u^=}Sp2miK@fA4BkFbp#}D1UDkd@I zn6L#6sei=c@5(xs>RicJ`}+6j?*9jyrc6~&_~5*t;UJTm@{7lRH{U(?@}_6>^^L*( z5!^d6ShQAudv<=&rnT>@nY4Ntvsrl>;8$0*y zynX7H@P^rn|5h>;9NBGtqe{n2f92zh&&KiJIlmn9+j~ejAd@FTJAt8O`;-P2l?_5n Y_a&rVesEdsv;`$#Pgg&ebxsLQ0JYjOApigX literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/Delete_Focus.png b/Shounin/resources/gui/keyboard/Delete_Focus.png new file mode 100644 index 0000000000000000000000000000000000000000..735de7363b4eddf047aa4e1cda14f855f372db90 GIT binary patch literal 1128 zcmeAS@N?(olHy`uVBq!ia0vp^6M#5@gAGW2y7GG=kYX$ja(7}_cTVOdkmHgX;hE;^ z%b*2hb1*QrXELyWlmM|55Hm0^FJNR~2GWcmu?0+U*$E4n;p_yE!gB7Yt3c(KJY5_^ zDj46+GRzZk6mY%X(Ji2$V#IWg!CgUF?L#I<$4LvOIgJfGoPq@+!j)gHzq+-y%)fHg zuKB{>uY3y$-~VeBf7E=xKMo8`0u2l-UP3!QhWvf~{JZseyKiS)ADq4YJ^bs(oORm8 zvzMziG|ZdzBjx!_!thE(x^h8U zqTKCGZg-|lbj@V?zJ{PJ3-bgyR^+`8B8!t(Cq8Y_t_MnAcF%jTxXgR~{m{45N)!ZzGZ^I7&-3Hp z5akh!ICtpEwoNx1uX?V%d8;^N4rhtTPtS9%4wFqjt;qJtPP}$weNwbL=c4a1Y61F& z-{uQCIHX%tyihfm+PX6LZEC2X#r1B{IO%}yro|=?pSRv-#=A7dJgB5 zwaQ0dIXWDbnzr`N6|rfRZ&v3FnTp z+c$35vsW`vl1c00vOTWLHgD)EOSrjC^t^Wazf&_D{+_9D=1@>*Jh*ATgBAB>?TE6p zw-+nE+)DNj`zzJI&e+OcSYy_QCqD%*JmKxz7nj9-`E+#h{bbcy=_$5F)2`W1N?-D? zqkN`=V2Jps&IYlpvLm6VBW9HT%*gK8F#E+U-7vvIwE&i@twl-;T4%`?Ui~DtEI=oF z!?%n(QQ3ak=RIt!{(I!k0~#Rb^~R7>K|z>TzJkLiHL)u3w3O1n@TJe!ZA)WXd+p=g z_uUO;Y`da%W$K>ES`sz;*37N*f21<`EI3{B;|mufO9`uhe7xF*Ijx#}Ta9}+e-ln% z`Wd-#vm*ne=>maI!VV5~VQ+E-92|HxTK=#IOqeffEzKejz|5s+&&cv5{pdM1MwTlL zPAB{s7_n$G*w20Wedm|+awhjqxUaBiyccKO*k%6b#V5fF7iBf-{>^Ot`}1%4?sKcJ z>u=wBYg*rqT;}dfj*RtRgI4kO8aGa1d!5I`u|ir>U!zgF_QKcg>*v3JH~;FncgcU| z&2PAMt-XJ{?^=V#XV)EH@CpWK-1|A%{P?BA*{kQ;{^@yM$r-V2sd*ZcChxVoKo^@E l#R0RP0s|w5Ljn`if5ukB z_g!`O>*HU4p0K}~0(`$1$b9Bxm zM~8J=zdy0Sgz>L>S7`QDW2=CdMe_4)n5_1(Ej9j;k@`L}^;*=UQqC2*l_n1CtD;|v z%v4?=lDc9x3)8CT-Q;m*-#-+TB0i_3?lq@f*7mnwqp#-8=F4$mmufhE=`ttd!X`zg z(~&c7g_&7z&{}C3UEJ4oxv@{l{^U-Mj7d&%rM;QDXR>~W=DgN${4&p*{gvvmKfH`A zTMiy{)^A*?F*u$JUYs z9ILqBb~cD!$2xYzib@B-$a zk%pTc85m6$2z(NDaHtDAlOy2Zz^l>nhecq*d{JX*7J&d}E=7ArmM7^)&#*DFTxoDR z;m^Q`MVrC?)|cfb!DntxLcnd6YZ_NBv7?z)m+94}sQiP+aCCx-nFx_!y==zG6k zyi8HqwYgX4@-3MnQ4X~C?um#6EbqQJ9`D~@XSd%jI`{2Y+x^c~7Hs?a_n~{RcF6+E z?E1~oiVJ2hocDP_T69%)=+@2K-&f3=-jEtym25TPQoyhT+tbz0Wt~$(697K%+C2aO literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/Delete_Press.png b/Shounin/resources/gui/keyboard/Delete_Press.png new file mode 100644 index 0000000000000000000000000000000000000000..019eab96acb1192bc728a030b458cbf71e73b6cb GIT binary patch literal 1127 zcmeAS@N?(olHy`uVBq!ia0vp^6M#5@gAGW2y7GG=kYX$ja(7}_cTVOdkmHgX;hE;^ z%b*2hb1*QrXELyWlmM|55Hm0^FJNR~2GWcmu?0+U*$E4n;p_yE!gB7Yt3c%!JzX3_ zDj46+GRzZk6mY%Xv06dJh<#2&i}Hkt6N;pktE9*@wg?MYI6KK4bCLVIbywNyyTS8T zy?cJdcB}2xtLyi@YQDBy*j}K4fklC#aS}_OP3Zmq|9(EWd3@eZjywDQSA@#1f40kL zdu1jQ$BU(%{$=wl7wO#oRrWj4h$Y6Ivu5Z2rTw>WZ8BE7(AIIZm_uQ~^MJ>5dk@TP zt;{(sRT%9iwv_XQec+n7)pHFSy|(}U@ksE(M_Y~9gW0RA&TDMGry4iC;np;FW}gMS z_WA`{GI?EW+vTbN|yF#)3VP87OGtce4=hC&ggsT#Nu^^Yg;3e_jl#Ws&?Efp6Rgn$c=h8 z2FAG$A1s`HAVh50wyo1cU7uW0bA5h&v(h!61stompSn13n_53w^;B2q7Sk23?^fCC zZ3LTMoIT0%O7+-3V_=~1u=DR_ITbOZuXgW}sGeiW*Q%ynTU_}1&b_~3^KuH+0=D&u ztY&8v&5qbs6dWD#Y~%WEsaG?PZthH2BByqN!}i`&eW8m7BpOS^!V2G1zsXtSTY3N3 zp-fI;NL8KI;>1&fMz$ z_+oayZRFQ%n_cH#{P9_kacJ^$cZbR57Qd=i>iX#C_ty4L&6qdw>xsyy{~q%u{!+e| z%H$dltD(*mwc@5=xNdUdwWo{MDjv#Pl)Wv&^~g*I!4UCNoeg4HWk*6!N6&EDxaQ!k z#f8~xE!WyAe|+&rd21!mfJ%*x$5k2{d`xN{C>l&{ec7s;-SH!S>b%{zW^rzbI$pj{ zpXrw5i>#N+wi>LSn3bEAey#4&bWVdtz0VIXYqJPk5Ot`jnR%c{Y?;NCb0+6*`8RMr zNk4jyjgjR_gVPCr2F9O}8#g;LFq$q9_$2J$P#5+lN5H{>SEJ<*i@=2WqSn$Z0s+ii ziuQ~wShOAZqvx|<{gQq4g$iZ)g^yUOs?V}$-TSckw7Y|Q`GOxm)5X4hKfnL2RsQ|G zH?L(yTRqywtFugT!QN}$E6q&Ku>?u2+0Ci2ATMRl0+zflj@Rw?-M6)|TRqqI*biHK z#;t4p=kGV$dWdCKJo`d(7l(xv&;9Soc>AwkTlVdX@x14%2{)(Ro58unB%&PX@Vh4} g7@45?kCWpM`!TcK4yQU2)Igcs)78&qol`;+0NbDHr~m)} literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/Duplicant_Focus.png b/Shounin/resources/gui/keyboard/Duplicant_Focus.png new file mode 100644 index 0000000000000000000000000000000000000000..17d1f36afd8286f253b8da1ecc14c4b60e9d6c5d GIT binary patch literal 805 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z|`;Q;uuoF z_;#+L-(d#p zTNTyK5+Z!>vOM!QhE;a4c1>TzBaCjXl8)T%rpno|BRHa&v9&;Xt)YU`$_;GHTo2u% zk{w!t5_#D~4)tz1*1)m!kQ9$bi*)AR7j8O5&h24~rMGnTs&E=u_n}#g)io3e#(%kd z@t0@v=l8V+pL!HFi%KMzEvR7${S(|g^JYM$kby}0K1sGGGkNzes$ofeUzYoRiig8D zPRW>l#^%Pf+p>2!qHgb26Pi$)!hSvZK*EBXWfBuq&34E!voW9DcDO-j!*Do|kg$1v}# V$HFB#{kEVa>gnp|vd$@?2>>=NCqn=L literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/Duplicant_Normal.png b/Shounin/resources/gui/keyboard/Duplicant_Normal.png new file mode 100644 index 0000000000000000000000000000000000000000..0b12a2d7a005f9994b04bcf21a82ed43bedf2bb6 GIT binary patch literal 789 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z*O();uuoF z_;#+N-{Alr7w$(|9G$YO-$w?zHD{U|=$03Kx93{(S#_4_VVu3E-2FSc+G6eALKh}AmszZA89V$}Z59-fw2nKntdBkZhTz+cn;v(tbmU9$ z2uK$^e(ApG$=vEE$KT%QG*DrDw40ULz`@5s$Daw6I>NR?dgH3sn`Td3HSccio3vHY z-7F=-_g?ffN;mA9pC|A5jkTv|+tuDRp^GQ6xZKHHbFjf}$HZ$A0t>H1G&A-VD6chC za9X*MjallUTU4?`OHeW|o5`WxEpodAyJIfg%X-7MHd)z|=}2EP16v1Y$5T(*QSEis zx9ToO{Ml8me4axnx{)!7`IdXYaeLE_nNv?qZU~z5GfiSbdRUd)Z;n%OZ!g}{oY?S2 zHYlc_@uI)unl$dOp(>ATGPx(RtQ&)*c$6Bjde! zE>+3TQ>(4B4|=P9*zx$o7N zfxUr5g4u&b%jG+R-rq8nzrIm8(SzxXKQ~)K!_0=rc`T^Z4Bi)cN8IjC&vSG8y5`;D z*(SO6TEYydh;%5nN3nT@WukW{iv>?h*x*f z-~F|E@7ev|Po6MtIun-AaI@i)V8};*-n2C5r=AA_=KM^Pn2>JvrR$U6l)bmN?hRIA zys4g2V9UnCHY>NhNI4_-{VWfMZxdx>`Wc%W({3j^OuO-*ibsOSy-Q@yp8vSZe}Q?~7cQX%COp|Z1`h5*OacuDIt6|( XKS}kHb2D0$3`(J%u6{1-oD!MEEJx=*wv2;(! zz0T|NYVH3;`A%+Twi9SzU^&Gh^R1+=zWV3OlgjB{4<3E`6~E8@a`X-1I*Qt#HjKGIZ`qb{{EtnfVZ))yU9ZwU$q z{AqS@8TQKG&#<_>;)!x^a9pt1j6-0e zvJGRW&4_DhUli*ueZ5IOt3q1Nyq8?vyPdB z9L#~Rl%*iR7daf-(jBYR7P}wWHSfh{^OccdJ`NxKnHjrSXGC0hemwm4xtl*TyRVj& z9EoCbR9>*=)}#0ZIi+(s1Eg3DnM53}Pn%pHd{uwme7RfyPpp>BTl-xZtRJ1_z1Da1m2Q^%>idPV!W}v8?-Q7&xH)ElnaaQO|Npdi&izB7ri?5r)b_m)k5ZAc zz8`PjEfk~GIQw??-Z_slWF9tf2KqNJ*xp&bZnL0?QJGS=ujqN33xcv6FBP^h&#E`z zxS(?&^h*5^uZw%1?^&0e-lE8t@o%dF1CxnxMqWR&z=D|$#nmzm3};zp-G0o#lA(6t zjvTv!gK^`tZx15_uJ8Nu=g3BO+tr0v&RsBRd@Lt8b+6lz z1B}X3dMr5-TC9V1m9VV*TUz{Xqwv>Thw2I%R$UfQc3>{a&6Ib{`g|&IF~8)|i*;Jx zdzh6jHf4dG4QSGoW(Jr;i-o!1N&7MUlxx8MN5<#nzI(E zF{vb21_>T;Gz}DH6xtxOa@yk;ryj?!i+mT{@=lUnqqj|hQEEZ9H%ovNuOX9(!}Vz# z3rwVvPDf9$bN}Kd^7O?n>ucL(-!84bR_flv47V{$-f`E<6Su6m7RjtF_KLZgoig7d zp=FXGJ7Z6QyVvx-1sTp(WhE{yKbNn`ULX8wO{qR#ME8@4r2-E;3bOBR>l9qVzj>?R z!s_B976_+tJXkPmMJEGiL|+I?L4Yq|A3uzoFz@6G!Hw(Gf6ejDnkEX2(@X`2%?z6b zMQ*wu?|WwQzIO84sZ;X|96`l@U%R(opZ>D`iE?zN-A6k{S?hlP z^X!q28*1~GYI6j1Rqwy)7_D=;L`HZ2V=Fa*UfI3OuzVV%qn%$?n$!P} QcR=ai)78&qol`;+0CYrE!~g&Q literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/E_Press.png b/Shounin/resources/gui/keyboard/E_Press.png new file mode 100644 index 0000000000000000000000000000000000000000..727854b53a37ac4e00bff154bd721caedb01b72e GIT binary patch literal 913 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#!1UYG#WAFU z@$FngKW0ZBSH?oo7MJNw!WRlytfZp+oV}fo3uag_x>~6mNo>gaV%~Mw;--C^rvB9O zM_beH_wNt8{NzasKZ^oGqY=|`+qu`}^X+XbpZIXDS(pF+X|>tj*3}nT1QJX>_SQY@ zaM|{G&#s#q2bT&}MC^Z^+O2Gz#3Z$776W6}j_vD&xnFIZn{g!Ss51YRMap4W?miA5 z`Pmq|SS|X0eeVe>d2hIW_1iB7DNJ4Ux*QD*M_IaV8#8hQ_$=6AD~y%fp6(d>`_gCO z<8oit91FCM7Un)BG}}_1F^z4O?sg9DpxcGfM^41qCK)i=PU*4aNNBkoT(yGr<&W3T z?ranO8g-~{21Dp_1-AyK7q>3uIa)naUh5`r)V26;&mCi7ftAJ?vW#qveYX@GT+%LB zG4U|TZgp(vIJ2Pibo7N2+d0_PYpsjyxrHAD7z7G43T=>C$?;&ptQDOMoDqE?ECm6+ zS6mucblkO=ELNyxDLF7rQx;{E2@y6GRA4+kv5SFkRp%^@2@Ov@Tp8G}y7;nq94J~6 z)wkGP?zz>19sLVR&-*l7(&!Lez_4qZ3&YYt0c8iqlH5)Puf+=6_OQMzcFA`M>|3`x zx%T$OxLxV7BbJspE^(@Pq zw2c2^jBh&1&2LzV&ECF3Hn;A0sgJ@Y*}cu20aC1nOd<};RYA$MRp1Bf9q+0ocCS{- PfwF_AtDnm{r-UW|Bji?F literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/Ejective_K_Focus.png b/Shounin/resources/gui/keyboard/Ejective_K_Focus.png new file mode 100644 index 0000000000000000000000000000000000000000..f75e737f9c5616561e69bccf3551368fdbbd57ad GIT binary patch literal 872 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z;wye#WAFU z@$Fp0JP}6`7v4uod;&s}jOhmM3d(8^OjwSj$S}@7$S5hK^gyG5BPu`a-O}*8#-_Hv zW&X~5`|tkmQ=zXm=Da=I8!t4WfhCD$-WH#K-#&aTKW%kghjUNW-)H-4=Id>**lNni zdSlj)lY3UVW^MfZ@A_R&Zhg-Om*3jzd&hPw%LWLfaK%s#m1Rb{5UY=P#+ zgReys3@&)zKB|=A{oDB3wmG+z+W0aSZh0id8X=hHoz05Qo^?Yr%Yzen)e=V z-IIk%8PkyMfAU4pB>7DMgRFy8V-zFI=U~TcF=Vp5()4%SJilheX1EV5eOY8Rk-Y>I zc>DH!CCA3)*BEWTu)PUwU=*m1(s1D4%UCU%z;I-q7}o{o`~z{U5)2!cw=#XXAiW`+ zkGE({Ti z5MfFQ&HJZ&V%qmoptG`AIUJs!IJ$i0r&j&>_S4Q!OqVI_{aVS?Gk5!YJDXEc>~qq0 z{94Vm!RpaxX1T3LUy2>O_%b{0I_H(7cIy(T{_-U(DhiEr1%5EUKA5TyFtZDkbr?Kd L{an^LB{Ts5TH;GH literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/Ejective_K_Normal.png b/Shounin/resources/gui/keyboard/Ejective_K_Normal.png new file mode 100644 index 0000000000000000000000000000000000000000..9b5a7b247951ffa48f302c9b06742796ed239579 GIT binary patch literal 857 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z;xKt#WAFU z@$Fp4yekd@uFQ|LI67s!?=&iJc+4`VO?bm&jysL6WgZ=e8;&G>v6&oHbtSic``=Ak z)w@<3y?>3U;94hwk zac~FNb+qnZ|LmhKzxCO(Ox&do3|8)144EviG?g>H-B@_es=<#2d@;;!oj$)t9s7a&EZ8n?~2c^nDyVsaMkm@wIv7k9${M_ z-f+<2eXe--0^PUgBW@SvbxT++XuZ^xEt256LwBtx20Ll_0@3@I|6i-N`}tw-Yq@1RbZ=uCiD)Yu-=0$cfB1Kkeg#xoYPRlhA!1 z{@%WR`uU0QZI7y6M>F-z^`F1r=5!SMoub=c`j~RMewW?YylqF^F^gSwXJ5~95VgLu pkl8~yK-+;~m$Iq?Bj=lz1NIMv5=}&3weANcYfo1{mvv4FO#p)&SkeFh literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/Ejective_K_Press.png b/Shounin/resources/gui/keyboard/Ejective_K_Press.png new file mode 100644 index 0000000000000000000000000000000000000000..04002f07093ae2c5a51781f31d26abae250e599f GIT binary patch literal 871 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z;w~m#WAFU z@$Fp0JP}6`m)s+vIx0r&a~h7gD<~^IHCdvPBGcF+Y*EnGV!@-(bZz$3>X)J4eSFW` zx!0%d{{MYn(bOuP=<4Ff(^*s$8YLQUPdn+~f4^?~n&PvQ4*Z?n{{K_$#ygL$USknS z$bO{$d6n48qvxLg-mb2@N2QV9|9)lUt0OkdaeJG$Hc3`my+YK~%Lx?ovUE?C05(V4M?A(JJG zmBZoriCC8lTaWUwUSLGlxRr@zLGco%32qDe<~CJ)diZ|tiMm3=a#~Kkg4>-1I0_3 zN*Vd}=bbxjxAMJMXr8d1iKpSlWhcg}7rZxCGcYTB+Y-i|QCt**#|_InL` zxeOSR{JUQ@OUT#s{i>cJSFm;O^i7u-O(#j;4R7dmxPDAW>BaN@_|&_rua_@fcQi0E zA&_H2=+2+p6{7DU{31So*(vdTbw5Mw+~*Y@F}?Pj)1d6$-v2*zvSkbAJ$$uZ>%gmy z^ZXUp#Fj@(xG!H{8LJ-9E&C1@^miu;O=w^#b9%r(@nE{l<7@h2phWKJ>gTe~DWM4f D;2lyZ literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/Glottal_Focus.png b/Shounin/resources/gui/keyboard/Glottal_Focus.png new file mode 100644 index 0000000000000000000000000000000000000000..836a4dbb4d1a018de49df2384df78d4f87f631e4 GIT binary patch literal 844 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z_iWN#WAFU z@$Fngzrzj!uFQ{=L^wM8nv4$!zF47Y!OLnY>)v1-a6wU#tB)yU_4^~z$8OF2<661$ z+P617pX1WHjs%5i#|bnru;j4tDNVf}H-Eo!;SnFsIq@-nPkt}h)w(!V*x|ss&h=MU zZ}Z4~bEhtL-O>jEoHjE1UnE9eKPD&}AW$jB@u5IJR9#uas4Po2%;?=uC-;)xseQ^; z2mUlVHbfo>TwAwfYF734pL_b|aySD;GaVV2&aj+$`jUZV2Iq{^ml-(>gbk)IXBJ3M zOVIOYS2*BvAZ8w)L&MC5oi?%!491Mbl~xRlX-v;Pm0;7j-cCGa-}>H9zk1FdJ33SN zSIxOIPZRwNo6cwnB#0S&;fS&-o3iwsY^BUa#;mg&+!`2nO_RxEdHLdkbZ%t!xr;zg zTu9n>IF6;H;l?B;M%^z~Z(JSNJ9IS#E;y|xMp*XUZiT<=-1Z;NtXw~9v#S5GI4gzb zS50#`A{exlOLhn@$q#ZreyMOtwdwPWY^wt~ER1Q4&ix9hpX1%S?iHu_vb$)g9#c>d z%u_LCQko)^EHHt?e3BHSpjW3MhewOFXKw??(jyWqDu;TPxH+^0CGju`J#-6FR&dfZ zWMk|sP+lo0uyBe*bA!u{iB~u}0=#-09hB~PWU*i~cGs`Pd;W2(JOAXxPmjjh?#NSJ zd}6ms@p58d5|C&)z|ZU&An;4JYcD7zd%F6$taD0e0svA5J*ofz literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/Glottal_Normal.png b/Shounin/resources/gui/keyboard/Glottal_Normal.png new file mode 100644 index 0000000000000000000000000000000000000000..6d11b49dce6f28aad2888da8bb38643f93f00db9 GIT binary patch literal 828 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z_iTM#WAFU z@$KBbzDFDc+!!x%IVmYGVE0m3%(QADlabc~b|xbg7sCmW^XtQUOs)Tk-QAs$d;Z*y zd%I^oICp98+>cERED8zA1#&C@eEj!KxKlaJ@4>fs|NQrff7X?e^<`jm7mmM@z0D*0 zO-*f`eo(;*mUa2-z7#}lKPD(^p!i8g;K4(?(7C+}PTa`cdSlARBjQ$zqSutjTx5L4 z&%<U@&GZ zuC!ucOk;ZXsf2;)49l6PFBw>7aLzb=nUTXl*kJl{W-JxqtOVxy8)yt1OKxwZ2_q6b&hV;&Om5LUiHbUWMApR#xBol<%&#bdSEwn5N8O zz%5b5qB;A&QP7up%Gp*5PAd)A7+VXJR|*O&43TJVaN05P3P(qPR*$2D;vJ7H78ecC zV+sod@>EQjl%{Yc3j}bOPm*F3^lCNa&}fnN>}}v!dPssrL>?xthi*a2 zSdBd^|MaVSL9Lqmd3UZkQD@@9N*aC&H!*B(xXF>VwZBic*YN)D2~Vd^y_e7}ExTX} zPd1Chg6xww_pf}_dVTuym-SDgbC-TxbDgE+jg5_6?xtnT*Y5DyHa9pIuJ6v>cGSq{ z_{C3B$8(w1Zd`2rf?;W5gz^D~xswDM7+Ba8KXBhQ@=-Bfoo)+Cxt^|mF6*2UngC#r BILH71 literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/Glottal_Press.png b/Shounin/resources/gui/keyboard/Glottal_Press.png new file mode 100644 index 0000000000000000000000000000000000000000..b6e8c75480fc4c6613065388c4b834df41a593c5 GIT binary patch literal 843 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z_iuV#WAFU z@$Fngzrzj!uFQ|LI6C!M)fYVEC^6YGr)^qWpYnwQrmhl?j>8OBUs-=_+gPSv9~if4 ztF86pJ=13@ZJctoOPoc4fl<0~vd7c2zh9TD^v%$0{Cf55{2Kq|(H2%Fj4U#b`R9+~r?Y+N|wf59&TIYfp`pb}w;od=jZ};PBp%xjhR`+*r9a;$+1WZrO{bVOD)F z7(TPJF{Ux5Z~ZkfY}H%aXP>Rglz3h;d|uAV$YCICFnu|*K!RF=oVqi>TdiJS=f$0p(nWrxqSY~j}IDHwL#(lqHCj8u2cIvgUnYDPj z-;2+d#?#v^k8&8Tc4&w^a6via<&D5;yUL#wy0EV>JuJn@_9Ciihv1UM&iPwX*IK%R zJkfoVuUhZ|W0E%)%a#kTH;6OJDr{Tg;K03?7~%3A@0-5tmio)L{OR7TbJJ`jt6w(o ztl}i_ghd57KP#m|*l`*hPZ zwXF{P;dBIsQwmFMUCq?nJ9pUVXUkgON>XibRa~&<)XDp;o34H?X}DytMlhjaovQl( zWvj&F=EpC5dalIbYn^xwm>osxSMS^ci)cj4wOBi_ggIeyeNMw{3l4jCz2y r^{!^V0I4=pCY}qLoQxa}2?9*^Q&WO?d>FcRffBN(tDnm{r-UW|S$RGP literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/I_Focus.png b/Shounin/resources/gui/keyboard/I_Focus.png new file mode 100644 index 0000000000000000000000000000000000000000..a7df28881402ef940bdb5250affb6b3f0b4104e1 GIT binary patch literal 780 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z*Oex;uuoF z_;#+L-(d#n7P3k~F{;Fm%lcjIJC|%Qf_d{XZ3%S)d z`g|Dv9LiwGIgsdI?=_{Wy8LHdj&-oaEQTMs7a4dPI1hYMb6`$j+OUW70>cajoqQ$} z1~rD$vvEt6`yUCbU03mI^Q(LNci7FVS^N3Vwgsgx&Ta^2PHWiV*LgE4pr&KzBgyQ% z!#ft8oyBk?l9x!6@mPu`)xfLq(`4f#VY?Z@Gxu<6I9spXz~=KfWLwrYu`luaJM@(Q zN8exx5%znP?ZC96DvEg(r}|e@1;!BDwTxF=CjXL}z_4oGwT7%ip0&Il459wn4yF&6 z>|;}DShd`A!K{LycxEAotCyt$d@WY4XXIS)DwB7G+MFxb8(0FqZear%3k-utoZ&Vp z{og0wvbNl-r7g^`UrmZZ+91R6eZKtLLO;L$+ZNmAN^IPAz)@Ksa_emS<`ZW3%o!)L z8C+vvsG1`4XLi<{ikcnS|CQx$2gW?Euxz|hwr*X%_$D*P(~{H9XE|6tddkF|Ygmvv4FO#q!i BDDeOQ literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/I_Normal.png b/Shounin/resources/gui/keyboard/I_Normal.png new file mode 100644 index 0000000000000000000000000000000000000000..72a1ae7ff0430f5fb8a0124c8d2a4f40672d66e8 GIT binary patch literal 765 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z?AOk;uuoF z_;&6_-y;qJuKX_A9GyK4avF_2Tr1kRPG~gBah#YSaMYn`&Bpg`k1tpL;d>Xm<=eXF z>+gM^pQ3v=?Xf?T&;$mz2RVJ8e&2rmeNO2*N#Pwk_iF!~*DwDuE0;-XgW1Qm5QA3L2mXRETXfkG0S)PVx|5O>`SzuPC3%tCBFI_6xITz#X@hvCnm z42GNouFLGzy>4z^USq#)t|gBz!=GQvNk5-NokFd8sM++)dL@L`x{&M3to-0;*F zx720fjkVuJ{p-Kge$!vquO8q2=Dt`7$6nTXR~uLrVof%73&#U7re{leW4a}<$42C!1pa| zCBk~IvK<&#R7WxI;uQaCx`5$|?OMjWE#1GQ0vKM+y9P4$?-v)Hc?CzEzg6sCQ9J4K z?@dOGAF>xQZeUz2Hsz@Lwz)gl?)?rt~6mNo-(Rdo0ZCvBtbT4solt zmY47Qy6?Y9wx+xLKNST=&IFdem*(d31FhXU2hbo&8^S z3BKGq_xRDPD_W*cJaG4uY23EL^|CV?+BzgN7!L1U$rp8D%C^hh5vwa6G~ZZMy(Y=p zi17pWV#W=O%WeN^2EKZ0`{eh=w?2s(Ob@oZGMg}{F`S;wz}vui;FFpIa{|+bJ)9R9 zW-#dFGvSoFZ!38F%g#qH&o8U~|L9l6r>$o{-)`Er(EM;5?+nIAW~yn~jvp1Db)~P_ z$^W>^ESo7I-IPd^@mPu`#bCDJ$>k$m{y!4@Qa`CJ;CZ{{kd#4h@Xb{>qb}6{Rod0_ zCqGd*z}I5sdPdF#uQGX8sLi=@y@4g*>lU^UVZT?|4ooYmqL^24s(&?AU<|Qc%XqbA z@-L|g46Ei{Ysfm}SCI95hvNb*oe`aMc&~2@NdYS`L`6D07j}&c3<}ln^~#{an^LB{Ts5 Dg}gEe literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/K_Focus.png b/Shounin/resources/gui/keyboard/K_Focus.png new file mode 100644 index 0000000000000000000000000000000000000000..33470c711320550c534cc477705f4def631d599b GIT binary patch literal 874 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z;wma#WAFU z@$Fp0yek1BuFOfwA{?E4O{NEgUaZjEG)v@4iB97hMOIm%MG2Y?g0-^epYXaF*In=P zU-kTdZv6S3#rY3Kic6o)XHijTlxS2hp0fXL?O)sHHs@ywRs4N+*Z!y7+_*=9=8U{A z)an+5yDeEYw}1aVxjToPg?@bbGp#*&-K!HUJT5aGnT_tWzgp7t?24c0#=_%s`PaPY z5`BGwrDeZ?lz`cT$ffq`URSqP$ECkLlbFGD=)M^5g$9Gh4SP6=pg5!h_Vw}Ehlk8t zKk=tR&DAqsi_?S)`1W$gtY#E%s5qy)W&Z#w+Fl}aISrGgwFjQc5n|x93*2C$>j7tP( zm?|*LoiuyB!nJd=R<~WSoXv2FvzPP zB+((gKXAF4!kc|;ExbD-Sak)@8_X7~6u!{3Q|w~HEZ@_8Y+Dl6xtc6U zyS!;Jqwb7sLEaTNx4g-4;C>e6!klHMYb`}U>6G=0e^$->fAvw-Y2iGdC-spt8#WvS z#$ZB_qy4`BGX0-FUF|m9Tqd!xu<5XZLs;_1_YT`)5Wz7yKKSXe>F3QKmp_Sgw>kdP zgz?(B-~8A4H<>Xmm(<(0nz38iPWMBC4xfIatn9nW7~vIJ?cp<^LA-7WC=pH-_`$sG WPV)M5R-gZZ(z&OrpUXO@geCwQ;$+AG literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/K_Normal.png b/Shounin/resources/gui/keyboard/K_Normal.png new file mode 100644 index 0000000000000000000000000000000000000000..60a52aa102d16ede35ae24807cd8ed73e5943cce GIT binary patch literal 857 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z;xKt#WAFU z@$KA=xpx8tT+TN|3-V|bKah)QG75c=71L-ub%C6Wg>k|T32VWQ^g~4V zr{}r-=H|iy2j}|z^K@Vm>Ja>4;QsUa`RVn=>pssiY&;*oZ{Nx9c{SbccUepp%>FSm zPIBU^vVVX6Re$5)_k3{quq}W4&Q;371`4Nmq$WJHThXVL;rBK~P9S@Y$&%gSBfPdtybE|!?p@L{_vvx$O_f=)gY5!4~JDeD&>{@r!zv#F8! zq42Xd^=EUK)-BwAV6W5$h9lW>iL84sCBI!0XgbwXZGqC|k~rpB4&g@as};g{7nWS( zEA?f_WJ%-Ya9I9CQLAI?P-R7~5Yv%3^=UrHA#<)aqhN%L>+)1-n04+8z zU%mD4`3$(iWYHtHES;_jSfvX)NHs<>GhNW!S;e|BOQYt=Ek$;Om>28DvNckV=ABbZ zIJM+!58IYU^SX4y9M{O63VB|6Htw0}t1B!mcds{WVC)XPAoY=FbLK>IM%@|Ng1jqk zZdsGz!2K-Bg*nSiS6k{r(@wFA4YPbtcd>0rSm$c8Ano#|MFf<3{j{33e)`XN-Ff*p zAD(l$cls1d3-2|cWsA91Jvw~rq3OfD`9bs6>^Rspn^R%wfi;YbFQ&-+ouwr{uf9gU z&V65(==$<`LJ4ne>}q$PxW(eLbL+f|4PkeJH+FBd*xyrHvhP`;?}Amb_Y$GuvTKsi ega#Hfrw8`@+Y|Qr?A<5g3PRA=P$P;h&2ROV^>`}q3vmgkF?vE=35w>|m&=@+5?U7Q&X z<{z2&8YzXot=U&uUBJ!n`QY(kbGg2qtCWQe1X9^}PZY?nn#?sT*gEvcG1+pv4U4qH z)+h@L{5zE4aHHY1SH0hqRoUP7oVzvi@CBBZ{kl>M7!#QiD}{-m1k4uH$ja8OTVWHg z{Mqrxs+q5!pHX`tQzgD5j9HK2y(Ocz{Jd`>kVobrk;7H)e-8f zF?XwTtgwSrVP~FE$~XTk%LKQC zYYhw~UU~bPBCNC5NjW{wVe(Km$aY|`QZ)|-DQwWa#y9^yT;aN1K!wrkQ51#;0u|cb zDPAjE=LWZ0a<#&>b8@IwAJqoB@S*K>KFb+!=eTNhY)!r@@cm;BQ{T)j>oOd)-z9JC z4i(65H@a$d{^qGYE^}u!Z1^oDVD=zMbc>74;hd-^z7E{aqFk7>%yg}#E;Q{FyVx+x z_jDiImV|Y#CJWLoZ(7W#J0n|=cg4*uZ!!od4c^!H>~-qD@b1^T{yPjO{!dM1I>eR@ zj6qMU^h4e~*86?EQ(&eHDG5 zGnv-R{Vs23d+HX;oU|Q3*0JgI{n&C~@kWb1Eu|$po)`KqSS1^m2o2(0lY}NTu!K21 Y;4hU<)e)>bzopr0Hohr%>V!Z literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/L_Focus.png b/Shounin/resources/gui/keyboard/L_Focus.png new file mode 100644 index 0000000000000000000000000000000000000000..9a353b150fb6d09f552191f063410470bd6faafd GIT binary patch literal 713 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z+~*{;uuoF z_;#+L-(d$4R^~@aA{?E4O~wZVU#!q9lH$s;>SIV>u)x_#M22-m*!i%1g(>QjHJrDW z?Ws#sdtV+V#{FMKfsr$TrSF)^{{4IZ^z1yBy^BR}ecr#P)pzbby10!~BjNUu>dI8t zRU3={*WTUT+V1(_;}=u@+q*Is;;fpazB*ZOO9$CpUB&= z-+-%ubxz37tFsLyczsNC5||41@CGpWF!XIFQBwo!6#a}fzhizH9okj>{o}71!Q@k) zZ#QUuNxQMSK~lkQ=g}PHjCEdqKhwVzuIFu7t4UMWK)tY`;S+0b%|oU8|4)7Xu=#z; zpIvKm7}f+bZfH2i@$1iztp4Jcx-xrDS@eA4_gF-4@2K|2JQyV z10SUl7!4RL;+S<9)EJIuH?SUHc~HSinkI%Aho4Qy?mRy=UGUjE+oNB9Djl2j{Cb1x zm#`bzjM@${Mcr53E<}0h{Y>{OT+eo3Z6sN?kf`Ya(I)unl$dOpqo&I%>%QP2i^$6f0_}{eu5O+xpL6r1%Bg_0 zvg_y1Jo$U>)T4*&IXxVhBpNp>o_yWEeZJ!LO5f=RK0SLEzwh~7UAecj8<@WN?wKAQ zwnWPM{OQ~GbZvZ?`d@#y$$6b6bF-nXBT}Q`;k_Vh<%|= ze}^;}#0mnR@~;fq`hCjz=Qkt|U0^$KUyN0QL5<<~Z3fl@EDtKA7ck6VkjZBjVGwS3 zoZG;Zz*Mk@H-N#1p>I1QR|DsPk7f>x28*htgFAQrH1f#J8EpHf>kR`-AWRU?>u z>htXe%`a&;RyRm0`0YHJqnxqM%kO7;U*US*hP9ex*+QbG4Go`Idutvl-T!~;^M}py zDSslu%owh%V2E%?XQ{2N+kSlKu6;SLWvnANmNj;}DMW6aT;H8C`+2UzC5CHU3=7gz zo?j37+|7RXI uZOnS}gim^cNyAnqh8J#L4opH80!;fqEOB6oyI*4mN=2ToelF{r5}E*9CI;64 literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/N_Focus.png b/Shounin/resources/gui/keyboard/N_Focus.png new file mode 100644 index 0000000000000000000000000000000000000000..7606c5ae645fdcf911cf5e6484327b5ecee0c5a5 GIT binary patch literal 845 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z_i`d#WAFU z@$Fngzas`BF5*XAH3WoYS<@SoF9Ze`NO8S-Yr!<9v5Ai}us~$NCbf%o>-XN6m+?K& zSLXKQJvaYP4Ru%(_Q!#NNnnGZg;rr*ef3YxnaAg7HlAKRdu>hsa&HSM-v$OZ;rTyX zRfV?B{r&#+O)(j*#^sm8ZGEh=+(R6ko(Qr$csMUcU3bNjw=SyF%4`Z2>RKf&ecQoh zP@lkYK<0qwllUO7i?^KRu5SxIGyy0Y#nHfUhULt+5C+B>oHO38WMDE7Hn<(k$daIz zux&XL#{r)MIsU8y4Ko{V&f`*GFlO9rE9$_I#*|jA1=ZMK+3;a$&D+wcdm8j^7RP_@ zd^eY?;{=bCdV}KvWoaffX8t#kkl)&sRrMDq`M`t|xuJ1rGE* zh|+z1smV)k-PP%Hm%a@ydT-Uv6(Ggt%fR*`%ag(D@B+>Q46(YL4w(`q-}|^;baCs{dNe$6=ZY zqr`&Ms*D=E&1wwHC0kV(mL^_cNoZI%jb(ue&nyO>3s)yGOlflzZeZLMCDd@qAcM)k zA>5k@(`kpNfBN-k_f>hv6(9G#iV6#9_&M2u;TeOP?u*ZlwPVlyJQ{f^(ArB_ptE6< zS9877%~uwpFdK?K-4FSCFVdQ&MBb@0N&(A A`2YX_ literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/N_Normal.png b/Shounin/resources/gui/keyboard/N_Normal.png new file mode 100644 index 0000000000000000000000000000000000000000..e970f98c5db223ef0065d5624e5d9ae1bde49230 GIT binary patch literal 834 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z_iBG#WAFU z@$KA$zOsfQuAE-lfE-|Za@MaBhW__d4D7Wc^UXY7niutb3_W2t+kEgS=UzP5E z``Yq*{ONe+M~@E4b9y*1Ni^!~p4wk;yLZc%&F5zw_%3gr|7mXw|HmvdM&22|e_Yo0 zcx-+9=kMnlqt@x34_^I>j?*jMDm$}*RWLY%;c#tWY_6m3Z9mbCsmJ`|o`}V6JoWYj z%K>=_-Ui+uQ7^Z|r`|vBm2TbBkT>)5;&Z{ayE#{!@X5N~;JH9sk{69BU&i(7@6 z-unE;n$`b8tNYIG+FsxHcCD|2{>FoUO%n_*+$Ll!T?g5^utfI|2FiaeRVDL35rfZ6=J@3RiP>)6g}k}&)HyK>Wn@*}sIq&A#Q z|Gs|3nOB%HG|ZbMHNm7Iikabs=1M9GMedt&Ui|*z ze;i7!_E~pNpJF*Mp9L6A5xI_`HLKoo#Qj!$IyqF&;AYxxP7f)EwTuj3ro{X;zq;q+ zkAnSwgTe~DWM4fhn-Kz literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/N_Press.png b/Shounin/resources/gui/keyboard/N_Press.png new file mode 100644 index 0000000000000000000000000000000000000000..02fcb6d02d684805d76bbb9a27f4fea16224931c GIT binary patch literal 844 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z_iWN#WAFU z@$FngKW0M_7v@J=9G!Zueh!BPUu0xh^6K)&_BkBp)VQRm$j2OV?Tyy`8wbCwndENz zdaLd3{7?JMq6Aip+6y!=u;j3u^O{rse*Jyb&ohiwH{84P@8tKIT`h|*vT!7re4H5{ zp%i$#GVcDFZ4UxCZQk7bV(@Z>Y#<}&M0bIP_UfX!TNX^(COkFb*2g2Q+g@}`-KMN{ z;7_9>LotK+#ClIn*KGgFnA?7w&Op&jMFu7VVT0Sjj4TOi3EP%4aUAeDkmJuP&@i*% z<~%M124lv}wxSLUX-sL=S`7?mSk8P4VPKrWIpgh0n8s%eho*npdOh?L)2@{B$#>Ov zm1`*|8E4F4U~BBl;Xq^VxfvYrcKwr=e_j3UF78+tDtos7Sn1kVw|?&078cC7^@!AY z^@d{(+1r&HqLO-_3p*q)*m_&gL3iV^&$De=UzYxT-kEXo_lvDtFNHX0Phx-P%)s81 zy>*Q@x7N-bVew_tw)vmj`&vfJAydMHQDVVrRYncoW;F)plC3HXOA{~Lo!|5$Xqx|2 zt`nbM)=gvBrF>3Wz+s;M_suL9WDD;#Fnp@nHUI5DktO8|{9UZ#R!`sN|Mu(a8eFEa zBs8p>#r zvAUd?PUDF`^}73gSUtc=548&03B556jVd;0P(^-s3SzLY7M*RXBw?%&7vu36b&bNF34=K||Tdk)^) yG(-PlnTh@JLLY@J>s?J;P-jIrF)#^4a5T#IrnT3!`i3tBrDRW6KbLh*2~7a64?=?g literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/P_Focus.png b/Shounin/resources/gui/keyboard/P_Focus.png new file mode 100644 index 0000000000000000000000000000000000000000..4783e56ca402108fadd127e6dcf8eca810890c46 GIT binary patch literal 886 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#!1Tb=#WAFU z@$FpebypljT;w}?1r$__n65E+D=4can6ey6(P6yi;Lz5>5y7R<7)X$Z zUVmHuCOBAizvr`e=j=H>9GDE5zHig0|M}K&EFa(?^5&1XYpXEwBH7-u-NRR_-vxiIb4N~LS-Dn2%f#%@dk zN_}8=V?M-Yv*OEkmz7rEPrY60@KVPl>YsuL*KW~{xi*d^4%li zdO57R4lj2uVYJQE&xl>r_mU%c4rZ0y63$&$v);jsKkqSgzateyP`x@zSa z14hxAey^o2aF(cE-rBTg?oM8{gmX(?cd?ZmwH1FIMrPp#9Ix*+;J zW=%G0;J#IhUrDT+pJ~RJXl|;I*62!o@BZ3@xU5J#urm$7By8k&x!O+ zU#l$aaGV+9q8D6`dgpEJ^I?ePJ0m5~;CJ$Hh(P`?pVAbj7dZ*n8W>8v|85WfcGb literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/P_Normal.png b/Shounin/resources/gui/keyboard/P_Normal.png new file mode 100644 index 0000000000000000000000000000000000000000..ccd541a3acc099f1a3631f0b24822fe054189c82 GIT binary patch literal 873 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z;xNu#WAFU z@$KA=xpy2yTv89Om0+8r8Njb~aHe*F>AC|my#n~Trbr5e^vK>&kn8`mJoLa^)t@4@ zdX+Mt&Yo>ZDl#|!=jp&C)FJre!lFNazWiAJ)S`c;@Q%H^>nFcI{?q-=D_;lZD&hSX zw3UOdo;&^idUx;+Pp0^NblHuIjW2uD^VoNA4ucg_ZDd`*_S^^DMX3%EAuInKrYrEC~K2B6>tR zO}5b1basQt&;Prm7BD6zopr0B-VMi2wiq literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/P_Press.png b/Shounin/resources/gui/keyboard/P_Press.png new file mode 100644 index 0000000000000000000000000000000000000000..b41e39898afbb6621255eb0629965e9d1581bab3 GIT binary patch literal 886 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#!1Tb=#WAFU z@$FpOzAFwAF5*W*1%z(0&1q;+o-lDjkyMb7QJ=#hP7X6?CmFU04r`xpv`=O#-}-j@ z#pmDrZ?0eFb}&r1DL!2&XRKQA|ItclPhu*)m(@!?%ar=C@<6PUOt!FluH?*^zORGpvdg>JN|<6#%4}-ti?cR4%re0(;aUSjiI?26rgI_ICI{dG ze6fz{Yh|Spm^_pXvK<(#RNGf5gz@IT>$v~+!@uok)DpOt%JyGukbRi9vt&(Egmw6e zS*Lh}117%QvW{`CL%30__K90FZznK4^Vzj7!y)`m@y2zcN4Cqpe$g+fmhf-kn_Y_- zV++q8-4!PAbhXv0zK6eNrU?s_1v4LFJEGNb{;bubU!wP>_%O)wpOF%1@H?rf)nR^Q z=GBsGRz{2^Hc%I>Q@Hmc^7RRp3r`QMVPt$U#m0yAbKQN0ufq*iUJmJkA6!cI*95P-|C2k(a$zM@XDI8(gBF`-xvf?fc32J#Od-)D z>}j%vwx+WiM1Jnyg&r#%`P_^DeilmGruBdSnl%eT=lp(urQxsSdMzKV7r(d5zkQH? ze*U(ds}`3vI4e7Z<$nC`ur0=%af#pzQw4^(lP1RpKkf6EzrX$d#B|w@63l~*iq~|`&(pmF1rfJ>5Lw*9>(-$3TfB5Y6pZODg{2s`! zo}Oa#y)f^cv&Vz?Z-1&Ya(XZ*Z?Jd!`St0`>@!x^c{u0Hjn8{pZLsI);+>os2ksoX z{$-Wm%HFxN&v$Rtweey4?tZ>9;?*q+BSu!i;0%VtdspzeU6`>kxI5xz;qh*ni>6_g zeLf6-4rDOo97y!7_nDIQ{oSXZGSSga1iASgclKbNYE8DDY) zWHT_>s_yPzAW|%&+8dh7RA)T%YY*F*uHV~ltWnl@D(kK-rKT{SYr!=JhAOWlWsTW4 zo))Gseez_;;$>K{JY~Azl>E6tYqrkInt$c(#`Jghqh>dRB?+&;-q6{&EzkTW$Ep7* zQ9wOk)fmd+nTho;p-`&%x_iN&bL#fbPk%0W-#sNi^(jYF?iGd`4F@@@>VIpzoij&n zy47(%w>3H&G*~8uTK)`HxowlrG>Hx3UH1LUW{JzmzdQB*#B+;Nrq^b3KDn`T*S^1# zw{qS%v*C9r?~A^Q%?IXhjM%Sw{NgXu{?{y7$?ES77(JO+m@+i1Tf(BE(AX;QgUzC` VLO0>PnItH2db;|#taD0e0sztfJ$3*9 literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/Repeater_Normal.png b/Shounin/resources/gui/keyboard/Repeater_Normal.png new file mode 100644 index 0000000000000000000000000000000000000000..f70b37200361ae1b753d8e60c71426f337f51bba GIT binary patch literal 782 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z*OPs;uuoF z_;#+N*AWL1m(V?39PeT(*!v%x6Rwc*e{fE@f?fO_%SVG<5*$-gW_j|@-P2|hZtuDL z^=GZGfeVdL-im?>$ zy7BYpzqvUN6NPr{-F@=#LcLyPVFQIEF5ZM4{HqoVZb^AFMak^Vj?YT&C7q#t%EAox z22u>t1+kang_d60TWvQ#Ii1rPD5@*9fYE?4;vP!|gAcP9@m=p}cBExfg0v}vS%OKE*T<6^Cucvnw|k0z*v*8_*_<9; zknoWCJ1Z-$qP|+T&V8TA>X>|6^$E$(U;ccmku7ZSeA`P&-Wwv{W8P%wEIVB!zopr04hu(=l}o! literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/Repeater_Press.png b/Shounin/resources/gui/keyboard/Repeater_Press.png new file mode 100644 index 0000000000000000000000000000000000000000..656211e2ee6ccc9dde8dd05ba80913b59045eb9a GIT binary patch literal 798 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z|`UC;uuoF z_;#+L*O34b*U&p%9A#qb4jfaxar4G5sc32I=?Raybe0JpIl4ljCNJ%e@lWSEzl6T4 z-k(0de|+ao`-B5BvOm=sIXxJZ3vApfzyAAWn>IJQjYV&LUfCyG$$O73-eECG$a|Ds zb+zNlv2&N7e!V3or`GuUYP8(6U1ohg4vt4eqz)A5uWA-FNqcieDXh%qgOYnmZ)l&g zFoV5;6oYg@)Ma_$rMLFB*Vr9DC()+HP#0z5z?{IeVGrj8h8YYx`AjAZY7D1mGw?QW z9{8k2SgL_{#l9)|Z?n&Ezqn?*JZk@wdp-w3^xp66XM4k$x9YZSgfH%3iS_UBKxRbBUfeU{}*SX4mDdD>*VUH3SJmLGfPra}CRJ_lI|NB0VpJ8Er3OC$%8+avp7M$;2f9c%Mqme6% z-=rKl#nkPj5IJ@7e%DQBKdUKZLcCk_A$wKj!>2zt{^_gfTO5mz43 zyye*)f3@LV$9C>N(%oO9i)7Zuf8OD@z^v>OpYQ~ehA3u+7hYZtOhOSHjq(kXYZonl T{`&_oX)<`a`njxgN@xNAqJTRc literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/Return_Focus.png b/Shounin/resources/gui/keyboard/Return_Focus.png new file mode 100644 index 0000000000000000000000000000000000000000..2bcd73edaebf78895161fa8c5df37f3d3549b65b GIT binary patch literal 1087 zcmeAS@N?(olHy`uVBq!ia0vp^6M#5@gAGW2y7GG=kYX$ja(7}_cTVOdkmHgX;hE;^ z%b*2hb1*QrXELyWlmM|55Hm0^FJNR~2GWcmu?0+U*$E4n;p_yE!gB7Yt3c%|JzX3_ zDj46++E^%ND9~DO{Ke7l2#>49A||Z{HW>lo9gH!Iq5^>|#x74nl9cY-+`Q+Q{qkK| z_hq56=gymcLqWe*azdwT;Wf8uho&|Npu_d~4sC z%s#b-#y+*UH0T!^7)ya8|o@@@Hg zWZKn7+hiq|s4dvPC?YC*&c(){)3tRUC0^9<28DmPwQAq;sgd7}=1*@p7S_-H!l802 zU!Wx$m!k7MC4+#tw@x8_jZP;fZ0F#a624ntYVraBqbIsd%ulcCxjdE7XyK{sHn8_N zQ@!NhsjtnO{_UQ(?h60?dH=S2Pv`q#9VoRH@bv8C}O zP;#v^1GA~cjt@cy9O9DJ0N$m-}sB)NB?OSLLYKx{P`1gui>76Bc~FF}5ZVuvGV%*)n3`?&je z>|?U$*q-^g*N(Aw?R)$D`CqwYSM1|2vsGlfC7S>D?EGBs{{FRv-+rXWTvtsvI&Izz uz9l9SyEzjS%#HFI7+4e-fLUt+Lu36B{d%rX*Y>J|GOwqrpUXO@geCx4tIKo% literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/Return_Normal.png b/Shounin/resources/gui/keyboard/Return_Normal.png new file mode 100644 index 0000000000000000000000000000000000000000..407b0aee4d017f70adeb4ec333a7cba448224b15 GIT binary patch literal 1073 zcmeAS@N?(olHy`uVBq!ia0vp^6M#5@gAGW2y7GG=kYX$ja(7}_cTVOdkmHgX;hE;^ z%b*2hb1*QrXELyWlmM|55Hm0^FJNR~2GWcmu?0+U*$E4n;p_yE!gB7Yt3c(mJzX3_ zDj46++E^-TDB!x^^2@_H9eNr~d>IEClbOsP@M$#Zb(~mv#O2@fliy^rb=H=pmCUVJ zy8de4yXthg-)Em5;%8A{VB~O6P;Hz&Z&m$0Tf47ol6`fVzVqAP`+9tNl>0N2)tm_n zt{&;OJ)aX8mh<=T=k*dyeT!N4)$G0c@awHEW2+0Ig5vUu4UKkAz18bjW^ugk)Lnfv zw)}~bDdS)DuBBU#Ny=($z4KhWzwz94g;Lh}YhP7I%`DabT*;Y{^R=RZZ%X)UfvL$0 z1dN{OGBH2Bs^{`lLZgMJvipETonK3f7UM2vL}jIKgY5d z1c2?lARuwml-9;g8lqeLctk>G=%gkt(D7njYy3BQ#=g62Qr6@L-IFTW z`)>25f05@GF`rf1`O;1zBluyutTYzR%ln7IUMnsvg0wNK^kYkqM^cPeV16Is3P;?IfMYb#Ucb9}$lsI+3j4mO@C z5qmh6F7MwEDPX!v%k_+o-8H)sg>D{15P7-IaO-!QR9cZ;_arXcf9=_*$%XUyrUY(v zFil?Ikd&gcG^AxEgOsGZ%OtzgyRJ#CF}?ZxrNd28o1Jw$C7T#-%Ey}>3X#zEN^_mP zb^o=1ue10X7^3eE)5qz?Rvp7C$4$N$^S=gh4QH5?DDHkDn`^5(fL6Z72T`;JVW&9V8`^kdW3 zX*xDIo3Mmr|2=SNF5i+VJIaI)IOL_=S-_H4vf%pt{da9```2#!_Q!I6w$OzezrOx{ z=)3+xV^-GwHz5)klCNg*S8dkaYqRRu&C};4uB#>-oi=X<-x3p;DWIIhz$DP%z{vEU YamnS{OGgdNL4^W?r>mdKI;Vst0A!cLF{;tC3C519O9iaG8dnpmv9kFD=U7Gv-=g}3j{ zyqLH^H0te(((5L_9~M32W)f&%U{RPb=|HIe)pGOu^3~TiE)#3K{X75v*W7HkiAJg?V5IMH@v z>ed~(?rbYLU#!=dc1=~`!F6W8RWIy_TcS1u?`TCm_yiY7O6YM@re+?V$ceR=!LVKneOx*QSdh$L`*+}Ot=@%OpX---r z$1}xeL&npj1sPo`tJ#@Vg>|BKN@&bdI{7N{o$i_6YENV5`}}`c^wQxl$Mt&*%xl;F z|L}5px4~bA2^CV`&bRWJoGW-KYjEMxr+#_6+LqoU6GYRyLa)F0b0Q*J?xy;oy(J4c zv{cqHGOLQ|JH33VoFnGayUI(@xVwKVzw8O6!!_cJJXcyfUBw!M1eaZ0JTXP~-Yof@ z*KY-9Z@!i?XE}3fh;G1H35^L7lHQu4iCPVA$K)n1Ilt*xRP$D~-!`%uyPMRn_c!{9 zDg1tX+HD3`vg^q;8JoXdms-{L(jj!J?TZ+R7YY|bch6T| zptTPk9P(yhuI${nPqCp~4!6V+qC+8Eff3JM;oHZ<-z z5^-PPfCDd|-X0c%3DYHBOEWzK#>0D;U-|r2_um|G)) zmrD09u37Kzko@}L^S`U(7BXM`esG=o5r^H6*6#ngI``$zji%@3{qK3bi)GD?OTw2M rr?4fP1D)!2j2E1#7#KN36h81P?62!ID?R`!78pET{an^LB{Ts5-QmwI literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/S_Focus.png b/Shounin/resources/gui/keyboard/S_Focus.png new file mode 100644 index 0000000000000000000000000000000000000000..0a8e6105aa33aea006283dc9f9383c4eb8b82141 GIT binary patch literal 874 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z;wma#WAFU z@$FngBi29x*FZC+fK@3>*$JFR8xLf$B+XRaz}Dz9RVadMQFwXX%k{SF@Bg(}WN!R- z*Z(=c->=nNeCnE*y+8v4OAgC6!@9r6uUeV!{k)2<6vOIlf>*AX%0tsdxr&ca> zU36n-g>7W!!G%IQ?(M#Qcw65i4t5ild8|woJGQUv<~Vi4FJ)X? z;Q!Lu1r3p=EC$>Ga*k5g_j{+ze`8wg3p6w{#I%(o;IQf4ttw4!uI+BuR?N#Zn#@&r zK;^5oZC~TC;B`7O1bnia@V$(ce?Ih z4f%3K`Y5B<;SFvK%q6mxI!#+vX4`7@tx9(P`G8?*VuW%7UmNkf`j*SWK63LV;l5_y?K4xQcN*1)s$kQ9qX%k0cv z21&10Q;q-*^UG3S%f4KSFS33L0dgh_(xtD(JUQ=*DB=V6Whrs5UMX7?0 z=l%6_UmSc`7wukng)72@>C~#Ze!G)2Lx0Sl0lxGNo=^+5Vb^g0dSgSsY?~rq9DP zgVmz{S^650x3&U=jAZ*ZooRK3zEkUlIS>S-r0UJ4Xg@&08l{S11 z491L~D`XlN(wLrov|wO7!*b?vAp_G4&Kbua!!)Kb9-971^!if$mBxR+vX(FVXMgPh z!{#iG1hEA+O(tb!y;JtTF)j85T9FxI+R71d*!1pJm8LY;cDHM5=4BfBwpuLUEHPnY zR5J2?zT7pS)a8w{Oz0hDzKmbX+>-?qlrERZG0t*8VJ@>}b!FB%_x`Z(#WlYVF>dzY z`{vl-Sg?7U;sKpW&9wpv0(aKrau{?!NtmDM@Axals6yBIc1hmR_gPw1uX-ObEKQ71 zZeZNiH%H9z)|IXEMBT4$TwGJoaLHhe-~onMcexOjm%XlqOH40DeRnh6eC}~Wqze0Q zg#!vZB5(7VHHieIFL`n2j1+r{hUhf~2gN%+*(@glwAMH_IPI8ujbp;Xkcei6)&k?T zf(p(nH?T2sJxq&Ic4!Mq?KT|{ezTOY{+WdU^@u&Y!xNo~ub?r8bN!h!1@^vY_%-eQuo#)sP zcIWotx-Cc3W*)ovEM4X}%c2_>Wi1>sC9ZKKG@SF`0H(icrw7vicv4cTPcJY8C2dbv KKbLh*2~7ZfeMzza literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/S_Press.png b/Shounin/resources/gui/keyboard/S_Press.png new file mode 100644 index 0000000000000000000000000000000000000000..026342cbc5eb49c2d45fc8621f20b43ca2bced4f GIT binary patch literal 874 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z;wma#WAFU z@$KA=zATOcEQ}MmoDLmUV3Kh$9vc-GgNCiIstwQo*|hnuP3zWj zbL-FHfA3lqdc1l2k(rUh;ecC$z46bdKR+r5yPutO;N{Ju{Wbj4qAh0mGBBnI$Ildx zQt6tz`|{_hVlrBducxcq=DgPED{ydr5~E@IiT|9?6uTO}xp93~>>-M5 zt>4JTJ|onbVKc*1!6h3vXD<1Zwti-Il?|WA;#Hb14N~h~u2U5>(Xukxtk-ytXty z#Q2pBk`1}(${vhodqn2Wj(ps}v-FS@i$=@r%w7gbuU1oz01orZQjA7ZxUvNn2;?m@ zWlGTyy{6!xc*iH3KKI4PlY!Ch zg;%&DOqfosn)@e8Bigo~c}iPiF9X{PtD=whL%tq5{5SWv{U<5+sKZsZjJe~vn;xCQP#pCQ{oy&Lc=)^4hIINXr~9lc@ZUx TxMg(gKSH_=8EMh`4nddXgAC%n4JpUM@;mrPo`Hc-{gp?j=JXrBH-Bt9mbNGM9 z-yK=IvVQg7Tkf@Y^TBy@KCm-#I2>?$P}2M9@7?*&O-rxnaMt|%_11S^`swH$vwRtt z(}e9Wa7U|1S=-NB$G7c45a*pa|F51FbAQ~ym(gLv$X2n#{OVDTDC4q4V%gSml?#-u zl9mGH4E`TZXt>$nKk?tJu&#Hu&q`&jvn4JuKKn1mbAZ8^akGtV17jLfTBQ{O^BI;i zpGp|mW^m4U`jUaiK-l1P`}?Ld=ck@}Z7rsI<-5VIea~kIrj)TWpJA(+A-E*j-Mx2R z_8QZ)V=HZBCp=o|pX6ZsIE0Zo$mXjj&x-UpS_uwa%k6f)4!$rexOZOJmbm1#E8TA` zcVPeWQ7W#N@$kfNxgCtPd)mU24-_n^l}>VyU;psxZfn-P&%Z2ME_>HKd99>h@!__T z18f<}`3D;&nwY<7Wt3jfyN8w8?b4kM;%qq$W}l|T&S}!})2zC6@vrH%SrY@Qzb#^} z$`HMhJmZ;gK<3;+F1D78XDS8>e9r?|nVn3Eg(M8xi&q$ZZN4FA_rpac=DZubOP^2F z@dnQY$}?9gd&oOQ$6fE&UB-N-FBv8L{B2ox?khDi_IoPns5$SK3fmQ9KT!jPqrvl! zG*lg1$;7s#;?-n{fb$li2O32DYlWC!NiOG-Kn=^2A7Ur$+kP>BeaYT`AMNHj>1$gZ zcw@*mgEyjQL3@4w+d@4(`|T0O`?f`BD`c=t361_EuMr))oOw!{;xPv1lBqF&X01}I zyZLM0vOae5wG+;DlD})D zcs1)D)=r*rRqorXE_)6K1|~D6>(Nu@%l+S%b5c3o_rbU0cX!w9Uz7iE)occ~5@Gv` z+|eph*8l(8&Y$uih_mK*-Qww|t)$#b4m6$Ee1L)fyKAXw)3%` zLKpTK{}T-koX2;7!I*KgjcfyB8dF-O z6$A4bmNTD97}#cT&Ukvb-0|6Sucu#SyVYJ*OWd{pG)pk0jGg%mTg@!NCCTpYz3*N} z6`$z|uC!7(8Z3XLq3YO5CblINubL$S&Rc{YXb|zQ{cvIV0^Q|Owr?}`tutLN_i_f4 ztiiGDDl;}8cdIY~=3^DU=Z`hK^f=CybUPrG^6=!5SQt7X+nTj>p4*o#i+An1Hizk4qNkOD%VpsM4RYre za;i3|A-i_U*&*W{g zgYXNFWu+`Hoik3q{2tIa9J-d&+o|ua+uwU0ERpKUKEw7H!)C_Sf+Ab{ z`()1=+W%I3I(4dD!jWFS0IxPvHi-qRpS-#rV*26v_w`T9pDf;Xspi^qmXbGj?ElnE zHkBIjV4e_uiXg%QLO|{E}mivn<-Uxcma6*WnGv7??{`6d4#fWLgerN1VvF UyZv-hJt(bvy85}Sb4q9e03YsQnE(I) literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/Sh_Press.png b/Shounin/resources/gui/keyboard/Sh_Press.png new file mode 100644 index 0000000000000000000000000000000000000000..8f8a552c57dcb93db3e673097754dde3b55875a4 GIT binary patch literal 893 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#!1UbH#WAFU z@$Fp0ygLp&uGbycC9!xsKcrspSb2x{WV7X-v(@JIKRBjd@bFy2#KS5p+2XrZ7YDX| z-g@JCmsHT_*6+SaVbO0M9*}2IU|^JPTy1)4y}tkc>sJCds}vMh|M%Y~KW%$~>1+nJ zGir59#J72vl-1q2Bb$40snCyKzt&9G?K>tYdqJR*iRVK>{;F=lEopCDbgz}|`QYGQ za>VPnplrgw_Ja(Y8ReD#nywYOTYd7iRoOLzCCq33>q;~*rZJ^eS}`!6VL9`ugn?}a z=ZvQ>8F&nY4NhNXlt@rZn8tsfb>@8Ssn^SOqE@_5EU7(jsC?oLAKMIGi`jxplHJ{V z*JZCUO*^*IMs~uZmHtT%wvR&?nS*S;dh)DDpQDxF(6!ud=j-4Lvx0l)m2HVjUc1u$ z)^Z2-FCV4idKnK-{Fd9nSi7e!Jo!Mul3M8`2l@36ukN;H{d@kUtH1TG{$o+bbDp*F zzHH#V;C8QxQ8_d31~;>rgLEY~ThEf6iTXS@7;>NJ?zUhJofGtB%i`ZarzkJ{_QsX{ z%LT0!M;n+{*hVKg@ULx(;?ZchwON%7B)oNQQ`$T?pz2*x*}ja=3%soqT#VHl8H+92 zwIl=<&76Fo!E%nXC=bWQGoA?tWX>(*Vr$8Grecu5_dFo=75hfpnh%{GJLdKBb;!)z z(#JU2!QCj>eS%%fwms|OqkPzB$R0-tzxh>MMYXR}(&n5pZbA)~PR6f2!K^$UAFrqz zE|^!is)12+-Y*rlE5?4J1`0=m=O1aPI<}IDZArze$q#oc)aEa~ANR8A@8h}io%FS> z4!ki0#z92Sg74eo-xk`{?#tWQC!4!5%;5ru#_DZ9%mcRV@?+QFb?#wgd!e=ShiRy< z&A&hQ>fGawPrN4ZoTcQAP0i1;Nv5(BjCIZ@Iaof5d5{tY{~V$NM`+}4gdF*=D)tgFla6#qVoB>wQORb^}|FZ;kJI zsfkf<@6^SvyL;%Y%7=nKlV+!`yE>6mqhp36v&1{st$~iYSnzN$Usq}YqXA>YJ(dgxABJh>j8Y834NrX=*bcBH zR0`vi`uR$HqvExz&$urN>ggj_iOJ3aE; z%bT7vH~ Z56oQ4vzFM|uL=MqO;1-pmvv4FO#pUyHFy93 literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/T_Normal.png b/Shounin/resources/gui/keyboard/T_Normal.png new file mode 100644 index 0000000000000000000000000000000000000000..c40df06bfa6d15d1bba8c2da3c1ec7aba790dc9a GIT binary patch literal 781 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z*O$(;uuoF z_;&7Y-y;DcE{qqsoRpLouzM*iW?Hq7$;fK~JCl)$i=lu*Wb*sChg0{yzwz3+0ffKk#2g{cp+QdC$La-nn=8|LO0G>N}&?a%MPWKVsf%q!jwL zrnZhh?_rwIj(s~%oy}YK>I6$k#|%eiiFb3e);Ary;wQTCU7xi4rbXIek?v{?b%`bn zW)C)9k{4e3>Xz>N^S2}qUtl?q-_4f6;KMM@oKcEFxZ$a91KRGR1)2W2#uIl~ETupZ`GTdlbCR*}>J$r_)aHa4CmSWvSjHa{I+-HRa*i9_` z;(nOrNi^dbDFz3B&oxa&g3;@gg(u`Q8Dujs*s6*LI__Ms_Uc4VkME6<%nUCyckbXi zbu@QjpO1qTA6U;x*YE(nFCni_uq-)!U=1U~mnkv6tWOvDuLLRKhA0UI+H~L+NXcxd zl3LcMhu3TbDdB)9xv8b`|Fb3QGz0nM+{p6ac^6rH7MdU4DrLZYM05L$wN1~uo=jEuwo4Uf{8CJ8}&U%h|XEcUqgdAsjVT%R=c zx%GRY6SpcWYHppr#qy>odzU-&tVj1mZ%cPS%#3tDoSb)^W!0^d+CC1K7}9td7HDfS ea(W~vveYs1IK(}$^|;#(N{XJYelF{r5}E)kvLi77 literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/T_Press.png b/Shounin/resources/gui/keyboard/T_Press.png new file mode 100644 index 0000000000000000000000000000000000000000..de2438f7b0f72025ae91f42c683d248ff5fca2ff GIT binary patch literal 796 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z|`jH;uuoF z_;#+X-{AlW7UoA<9G!Zs>I)unl$dOp(>ATGPx(RtQ&)*c$6*GcOP6n*;_geTep9i+ z?*F^bYs#gSQ@4KdXA+vg;Pzli_orunzwSO=Iq$N{hJCw!PJf^IS!nw)wFQjH!uc;l zm4jB#UH-N7wOF27;+^8d`WX0`LT(3u@%Fbl? z(Rz{LM#JV=b<;Jju8aNjZ_Qji9$$t(+cFy14zMIt3NK(ZV2rrOlEL7^FwLA%ib1&H zsV{D+)$vE#BEqNZyEwn_`#CR6;7uRf0k)nf$KQ1u+HUqJdm1mpg5^)1 zXlaOVZ?Q6Bd}#sEqaN$H^Fs1kW#I{W%$wO5E(8~uiB9RZTLx0115uJ5>G+eOcs)=_ z9uq{#H_<8l#>YWQ6d+2fS1-gAxRz`9J_-p3y@pSZ*8uAKY(;g-7Qetm6ij%|U=3CvQWUw(cJomN~}8TV|> z+@1)_g9`;b!cw2VpO90$pVLDM5)e6mW@X7$RMzS2SDs%w<+;UswFz5`tG{oUx|Q?B z*@6#?r3@?{-DQeSzPL~2^@`dvZ><`m-aZjkQ^;fhd3frS1{M_qK_>g}`wM1l=Hn{{ PCQJrTS3j3^P6Rj+D>eCXlSoqZ6)bAb>rl%5vPBg7cX>4U-QUf z5%U>&36>eGGHGA6*G`H3J^%aT8!HW#FrS$(#-eb*=RnLnK8J>x4LfaQ8yJikiz}@d z7}J=ZeJWvKI>U12=}QKd8JsgtUuNVm5H^^;oLL}2EkVzp9gD`FU-l||u3bB||NV_M zbLZUbc>ny&9J#b^!IZE@hRqEN-2-H-_bNX%zpnSPg)d^#Hy>S=GY*kO**gTctiCAd zer;Wm){zU0T&rX)1urmq3wANEUhSL1@uFcVhigMqmb)KI$$_92B?rf?%IZv337SrV z3l`j(D9k9kL1ZCEK)~A*mUlKUh_yW|`SYj$7iV@CsWww4o(st*AG!tX*_k7AbViQs z`m;%HH5fexdGx);MmGkeEN9XsL$jgkPUWX)DI39)tDKBvHlxSv9yyKO{5~9JG zETGU5?b+MFrJBgY)KZ|mQZQhlN{?fMK%S~8lh%|LLk@vMYnQk=v`#W$V|3av^$N#| z0HI?F4jkJjNntbe)fexdKU9CjSDsz}iGOu+Rpdp+Eam7=$_d;GUtgZ&sH*>+@zu|- z|F)I1yKaN4vOwh4v-4e3q`$vx@Ho7|t%0#h$MUD?)rvH^Ot1#{x~u)32YGDu_EN(pNju$j|dv87nJ|saQb^u9jE(VPK5>LA6@ruaox1> z^WU$VJq{+S6cks>@-Htn>wD3_IWfJFf&cr;S2--9$Na7(1s^kxKO#7HW7p#jK7;xM zfdsLFsaMx;2`YPQ`TqFE;6xAh8TPsy4h=IKcG}1`Fc>oyS6VSJrZGMHRKmb?hULuD zmkca3IA@%`%*bINY%qN}vp|Acf}TIS!U3NHG4uGaX?$7j`0RJo)c*H3*7)V+9Qj^s z=EuMJD2LH%hla=l7nC*n=3bllX?}LK)k5Z~OZQf^Ht=fLZf}!zJT4_$m?Epa+=)ka z!Gc>8gc*4^h%Dp?2*^Fr*}xXj6~Lmg!t9BQ1GA2+29rpLbdk~m#%W3-j9jaDEd?(y zcnfwhuwHGObJ&*K>YDMKiSz%v*q1mgNsLfFz+gK~CXeOl?9;~rdrn^acuOa(rPk^| z4kKe4qjUd)6VF22y!JdlHH&XWfY31o2afHNq!>lL4oR?ZJPZp`Uf|>@(afND$195^ zM1wO~K%phtv$uguHIav@r9gY7V8B9^9>)fOJXKRBttl;r90G^dE^%{con*kq=(J<% z6%K5ME{{KTT>qf|Q`7yY?AP>Vrn<7P=za6V{Q#fB*OxarPTf+Mc7HY7`skmDp?m(H zFnf2IabjCyF9Y+Jh@x-Vt3DpN{rdD5>rau6FKXO?qTryZAn9$(o$>G4j)GY9WIVv`w&F__=5h&4my85}S Ib4q9e0DD_DVE_OC literal 0 HcmV?d00001 diff --git a/Shounin/resources/gui/keyboard/U_Press.png b/Shounin/resources/gui/keyboard/U_Press.png new file mode 100644 index 0000000000000000000000000000000000000000..6a74670026c807f76785ee86424a95ef4601e031 GIT binary patch literal 836 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}uz(rC1}R)=9Ph`#z_iZO#WAFU z@$Fngzrzj!u8f7EEiUc{IWsJnWO;R$FI>9tF^9>Vh9*AFLWu=Yy~6%R+MoWKpIRKX z{ww#ZNi{4<6oI<>wZV`X)v9nvvWOrM?$Ep)&3z z4L_Ni88$auUQ@Sp>ZWY|O8dUKT+UVp{$x5bFr8sJ^YkSH%M8vLr!O;d7zi6oU(PI$ zpq8NL&#rL5=RnLnK8J>x4LfaQ8yJikiz}@d7}J=ZeJa7G(f>ZT(f#XDKY#R{y>)VC z?~l53XI>_5lWh?Bi$K6u0g(+{f zmOJstE?97DqA;WE29bpv0ReAMbT;rsbOo?ztSEcp;=r!ss=*`@VqK)PfO(pd2qV`j zSxdnSjNXD>46IlC<{Y-=zID}j&cyluUF=I7mLx_fA7HSZCX>f3PAAcv7LjnTP(!HKkZH?KXF-!GUA@Bq>HwuR{_n91p{SlovR8N;ESl z-to#}3DMw87Eox3_UvuoQcdJxYAMiODHyO&rN^;BAWzklNoz`rA&0=BwM*O_S|=H> zF*@y-dW8d9oIkj{i*5xQ}%26UZ%RTujtJ=+25esaAmo=@{8A>cVD&MZ;|~v zM`kO7Sg%9MRkQzM6Laq@XIA1pEXBz7V&ju1*Fzq6PJe#kVYv#60z;!C#~-G3 Wf>C!kPs)~qQn071pUXO@geCxw#5)!M literal 0 HcmV?d00001 diff --git a/Shounin/scripts/demo_ashashat.gd b/Shounin/scripts/demo_ashashat.gd index 9084ebf..1b306cd 100644 --- a/Shounin/scripts/demo_ashashat.gd +++ b/Shounin/scripts/demo_ashashat.gd @@ -20,11 +20,12 @@ func _ready(): if key == "ashashat_key_ejective_k": textField.text = textField.text + "K" return - if key == "ashashat_key_repeat": + if key == "ashashat_key_repeater": textField.text = textField.text + "*" return if key == "ashashat_key_duplicant": textField.text = textField.text + "!" return textField.text = textField.text + key.trim_prefix("ashashat_key_") + return )