From 066cea19dfcdc670360bf60849084165c9c1da63 Mon Sep 17 00:00:00 2001 From: pengxiaolong <15716207+pengxiaolong711@user.noreply.gitee.com> Date: Fri, 16 Jan 2026 18:20:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=97=E9=BB=91=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 4 +- .../default_darkness/Key_collapse.png | Bin 0 -> 845 bytes .../default_darkness/background.png | Bin 0 -> 29549 bytes .../default_darkness/key_0.png | Bin 0 -> 2954 bytes .../default_darkness/key_1.png | Bin 0 -> 2238 bytes .../default_darkness/key_123.png | Bin 0 -> 3667 bytes .../default_darkness/key_2.png | Bin 0 -> 2759 bytes .../default_darkness/key_3.png | Bin 0 -> 2961 bytes .../default_darkness/key_4.png | Bin 0 -> 2359 bytes .../default_darkness/key_5.png | Bin 0 -> 2903 bytes .../default_darkness/key_6.png | Bin 0 -> 2890 bytes .../default_darkness/key_7.png | Bin 0 -> 2355 bytes .../default_darkness/key_8.png | Bin 0 -> 3089 bytes .../default_darkness/key_9.png | Bin 0 -> 2850 bytes .../default_darkness/key_a.png | Bin 0 -> 2797 bytes .../default_darkness/key_a_up.png | Bin 0 -> 2753 bytes .../default_darkness/key_abc.png | Bin 0 -> 3818 bytes .../default_darkness/key_ai.png | Bin 0 -> 4392 bytes .../default_darkness/key_amp.png | Bin 0 -> 3242 bytes .../default_darkness/key_asterisk.png | Bin 0 -> 2545 bytes .../default_darkness/key_at.png | Bin 0 -> 3736 bytes .../default_darkness/key_b.png | Bin 0 -> 2810 bytes .../default_darkness/key_b_up.png | Bin 0 -> 2744 bytes .../default_darkness/key_background.png | Bin 0 -> 29549 bytes .../default_darkness/key_backslash.png | Bin 0 -> 2266 bytes .../default_darkness/key_brace_l.png | Bin 0 -> 2503 bytes .../default_darkness/key_brace_r.png | Bin 0 -> 2513 bytes .../default_darkness/key_bracket_l.png | Bin 0 -> 2127 bytes .../default_darkness/key_bracket_r.png | Bin 0 -> 2033 bytes .../default_darkness/key_bullet.png | Bin 0 -> 2126 bytes .../default_darkness/key_c.png | Bin 0 -> 2682 bytes .../default_darkness/key_c_up.png | Bin 0 -> 2911 bytes .../default_darkness/key_caret.png | Bin 0 -> 2277 bytes .../default_darkness/key_colon.png | Bin 0 -> 2146 bytes .../default_darkness/key_comma.png | Bin 0 -> 2486 bytes .../default_darkness/key_d.png | Bin 0 -> 2883 bytes .../default_darkness/key_d_up.png | Bin 0 -> 2759 bytes .../default_darkness/key_del.png | Bin 0 -> 3090 bytes .../default_darkness/key_dollar.png | Bin 0 -> 3127 bytes .../default_darkness/key_dot.png | Bin 0 -> 2335 bytes .../default_darkness/key_e.png | Bin 0 -> 2735 bytes .../default_darkness/key_e_up.png | Bin 0 -> 2162 bytes .../default_darkness/key_emoji.png | Bin 0 -> 13678 bytes .../default_darkness/key_equal.png | Bin 0 -> 2083 bytes .../default_darkness/key_euro.png | Bin 0 -> 2793 bytes .../default_darkness/key_exclam.png | Bin 0 -> 2793 bytes .../default_darkness/key_f.png | Bin 0 -> 2342 bytes .../default_darkness/key_f_up.png | Bin 0 -> 2195 bytes .../default_darkness/key_g.png | Bin 0 -> 3111 bytes .../default_darkness/key_g_up.png | Bin 0 -> 2889 bytes .../default_darkness/key_gt.png | Bin 0 -> 2369 bytes .../default_darkness/key_h.png | Bin 0 -> 2492 bytes .../default_darkness/key_h_up.png | Bin 0 -> 2243 bytes .../default_darkness/key_hash.png | Bin 0 -> 2740 bytes .../default_darkness/key_i.png | Bin 0 -> 2074 bytes .../default_darkness/key_i_up.png | Bin 0 -> 1910 bytes .../default_darkness/key_j.png | Bin 0 -> 2386 bytes .../default_darkness/key_j_up.png | Bin 0 -> 2468 bytes .../default_darkness/key_k.png | Bin 0 -> 2495 bytes .../default_darkness/key_k_up.png | Bin 0 -> 2612 bytes .../default_darkness/key_l.png | Bin 0 -> 1939 bytes .../default_darkness/key_l_up.png | Bin 0 -> 2143 bytes .../default_darkness/key_lt.png | Bin 0 -> 2367 bytes .../default_darkness/key_m.png | Bin 0 -> 2629 bytes .../default_darkness/key_m_up.png | Bin 0 -> 2750 bytes .../default_darkness/key_minus.png | Bin 0 -> 2081 bytes .../default_darkness/key_money.png | Bin 0 -> 2666 bytes .../default_darkness/key_n.png | Bin 0 -> 2387 bytes .../default_darkness/key_n_up.png | Bin 0 -> 2594 bytes .../default_darkness/key_o.png | Bin 0 -> 2799 bytes .../default_darkness/key_o_up.png | Bin 0 -> 3046 bytes .../default_darkness/key_p.png | Bin 0 -> 2802 bytes .../default_darkness/key_p_up.png | Bin 0 -> 2532 bytes .../default_darkness/key_paren_l.png | Bin 0 -> 2527 bytes .../default_darkness/key_paren_r.png | Bin 0 -> 2614 bytes .../default_darkness/key_percent.png | Bin 0 -> 3129 bytes .../default_darkness/key_pipe.png | Bin 0 -> 1937 bytes .../default_darkness/key_plus.png | Bin 0 -> 2143 bytes .../default_darkness/key_pound.png | Bin 0 -> 2687 bytes .../default_darkness/key_q.png | Bin 0 -> 2839 bytes .../default_darkness/key_q_up.png | Bin 0 -> 3176 bytes .../default_darkness/key_question.png | Bin 0 -> 3060 bytes .../default_darkness/key_quote.png | Bin 0 -> 2294 bytes .../default_darkness/key_quote_d.png | Bin 0 -> 2300 bytes .../default_darkness/key_r.png | Bin 0 -> 2268 bytes .../default_darkness/key_r_up.png | Bin 0 -> 2679 bytes .../default_darkness/key_revoke.png | Bin 0 -> 6735 bytes .../default_darkness/key_s.png | Bin 0 -> 2711 bytes .../default_darkness/key_s_up.png | Bin 0 -> 3007 bytes .../default_darkness/key_semicolon.png | Bin 0 -> 2247 bytes .../default_darkness/key_send.png | Bin 0 -> 5354 bytes .../default_darkness/key_slash.png | Bin 0 -> 2287 bytes .../default_darkness/key_space.png | Bin 0 -> 5457 bytes .../default_darkness/key_symbols_123.png | Bin 0 -> 3492 bytes .../default_darkness/key_symbols_more.png | Bin 0 -> 2966 bytes .../default_darkness/key_t.png | Bin 0 -> 2363 bytes .../default_darkness/key_t_up.png | Bin 0 -> 2118 bytes .../default_darkness/key_tilde.png | Bin 0 -> 2405 bytes .../default_darkness/key_u.png | Bin 0 -> 2532 bytes .../default_darkness/key_u_up.png | Bin 0 -> 2758 bytes .../default_darkness/key_underscore.png | Bin 0 -> 1980 bytes .../default_darkness/key_up.png | Bin 0 -> 2972 bytes .../default_darkness/key_up_upper.png | Bin 0 -> 2764 bytes .../default_darkness/key_v.png | Bin 0 -> 2633 bytes .../default_darkness/key_v_up.png | Bin 0 -> 2874 bytes .../default_darkness/key_w.png | Bin 0 -> 3035 bytes .../default_darkness/key_w_up.png | Bin 0 -> 3373 bytes .../default_darkness/key_x.png | Bin 0 -> 2654 bytes .../default_darkness/key_x_up.png | Bin 0 -> 2914 bytes .../default_darkness/key_y.png | Bin 0 -> 2783 bytes .../default_darkness/key_y_up.png | Bin 0 -> 2514 bytes .../default_darkness/key_z.png | Bin 0 -> 2399 bytes .../default_darkness/key_z_up.png | Bin 0 -> 2420 bytes .../myapplication/MyInputMethodService.kt | 41 +- .../myapplication/keyboard/AiKeyboard.kt | 362 +++++++++++++++--- .../myapplication/theme/ThemeManager.kt | 73 +++- .../myapplication/ui/home/HomeFragment.kt | 23 +- .../myapplication/ui/keyboard/MyKeyboard.kt | 8 +- .../ui/mine/myotherpages/PersonalSettings.kt | 15 +- .../drawable-night/keyboard_icon_voice.png | Bin 0 -> 1165 bytes .../main/res/drawable/keyboard_button_bg5.xml | 5 + .../drawable/keyboard_icon_voice_darkness.png | Bin 0 -> 1165 bytes app/src/main/res/layout/ai_keyboard.xml | 2 +- app/src/main/res/layout/fragment_shop.xml | 4 +- .../res/layout/fragment_shop_style_page.xml | 3 +- app/src/main/res/layout/item_ai_message.xml | 2 +- .../main/res/layout/item_ai_persona_card.xml | 4 +- app/src/main/res/layout/item_theme_card.xml | 1 + app/src/main/res/layout/my_keyboard.xml | 7 +- app/src/main/res/layout/personal_settings.xml | 29 +- app/src/main/res/values-night/colors.xml | 5 + app/src/main/res/values/colors.xml | 2 + 132 files changed, 457 insertions(+), 133 deletions(-) create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/Key_collapse.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/background.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_0.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_1.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_123.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_2.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_3.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_4.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_5.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_6.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_7.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_8.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_9.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_a.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_a_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_abc.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_ai.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_amp.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_asterisk.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_at.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_b.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_b_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_background.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_backslash.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_brace_l.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_brace_r.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_bracket_l.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_bracket_r.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_bullet.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_c.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_c_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_caret.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_colon.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_comma.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_d.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_d_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_del.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_dollar.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_dot.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_e.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_e_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_emoji.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_equal.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_euro.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_exclam.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_f.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_f_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_g.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_g_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_gt.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_h.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_h_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_hash.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_i.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_i_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_j.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_j_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_k.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_k_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_l.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_l_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_lt.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_m.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_m_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_minus.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_money.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_n.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_n_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_o.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_o_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_p.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_p_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_paren_l.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_paren_r.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_percent.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_pipe.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_plus.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_pound.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_q.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_q_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_question.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_quote.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_quote_d.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_r.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_r_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_revoke.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_s.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_s_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_semicolon.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_send.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_slash.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_space.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_symbols_123.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_symbols_more.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_t.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_t_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_tilde.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_u.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_u_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_underscore.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_up_upper.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_v.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_v_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_w.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_w_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_x.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_x_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_y.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_y_up.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_z.png create mode 100644 app/src/main/assets/keyboard_themes/default_darkness/key_z_up.png create mode 100644 app/src/main/res/drawable-night/keyboard_icon_voice.png create mode 100644 app/src/main/res/drawable/keyboard_button_bg5.xml create mode 100644 app/src/main/res/drawable/keyboard_icon_voice_darkness.png create mode 100644 app/src/main/res/values-night/colors.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b836c59..60774a5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,7 +2,6 @@ - @@ -59,8 +58,7 @@ android:name=".MyInputMethodService" android:label="@string/app_name" android:exported="false" - android:permission="android.permission.BIND_INPUT_METHOD" - android:foregroundServiceType="connectedDevice"> + android:permission="android.permission.BIND_INPUT_METHOD"> diff --git a/app/src/main/assets/keyboard_themes/default_darkness/Key_collapse.png b/app/src/main/assets/keyboard_themes/default_darkness/Key_collapse.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae46ea1d54ae289e9644e1ca2137599eae85b5d GIT binary patch literal 845 zcmV-T1G4;yP)Px&2T4RhRA@uxn(%k{l*8MC3aWeI}x3BD!Jb2mAkz@VAH@5z#LqIwqn| zL<9yG%zT6WGk%E3mkp@DLPedooyl7}5 z0!7^p2xA3cAo_E_aM94z!vG5|xNoch?9pL}MHUIo;b9iw6M)_K`0V1{Q(-|_?bzL? zvIhYBvpETV1cLe^l$HPsh)$cJAEA8k?kOUORXFIp%6dB`HLbwJC^Y10rvYVFVXCmO zSEN$jam~!D*F0~=Kv|#6<+1?p5 zqfzP_ZiShcR;AJsi|Mcjgn`xQp1EL!UD9f{7WYhqm7Mw{DXbRv9NT$t1+A9RC}5@C zQ$$dSMA|evorfa86k4=vJNopTqVrG;SZ-)jbsmZW%LOgrut8ne*?A}qOrb^N3Z}U- z?b5JDr4@bOPU6Wm2(1QKvj9_-;Z`Pk(a;NRuFgXhE@^VKl&h@m=}APt(Hd5@q7)l? zm7%?N^tAT2X;NU#rZ597<@&Cfj$j?RH*Ds);$fA*)IG;Qi|#Abd5A7PyTT??ns;B} z&VzShYd5+y@;)@NNcJwD1y(kN&8)O+u(AU)F%7SWMvCS>rDcUx1enRwQqlzrE<3DZ zz>JIHrI6;0WpBKiv^MlUw6V(;^!I%*JrM8)^EczFNJns22tfG#Z}Zj-`dPCiq+W0@ Xj0b&YsPUr$00000NkvXXu0mjfAY+KT literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/background.png b/app/src/main/assets/keyboard_themes/default_darkness/background.png new file mode 100644 index 0000000000000000000000000000000000000000..90703673f9f9589f6ae9dd7a72323a4702a44f2a GIT binary patch literal 29549 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 CtpY6o literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_123.png b/app/src/main/assets/keyboard_themes/default_darkness/key_123.png new file mode 100644 index 0000000000000000000000000000000000000000..db3a42a57ce33c73fef25f8994d43d3c32f7a7d6 GIT binary patch literal 3667 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_6.png b/app/src/main/assets/keyboard_themes/default_darkness/key_6.png new file mode 100644 index 0000000000000000000000000000000000000000..ff836e6c831e6663fc573d38ed1cd74c534ac17b GIT binary patch literal 2890 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 CUR^K% literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_8.png b/app/src/main/assets/keyboard_themes/default_darkness/key_8.png new file mode 100644 index 0000000000000000000000000000000000000000..2ae96204e566c191ce3a819bd585614e02dcc3c7 GIT binary patch literal 3089 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 VvK(#@Z^qI1z);szr{)|b>3@=^k`Mp@ literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_9.png b/app/src/main/assets/keyboard_themes/default_darkness/key_9.png new file mode 100644 index 0000000000000000000000000000000000000000..e06c786d5c4dee939582ea481f03c633669a7b6f GIT binary patch literal 2850 zcmb^zi8s{W_sznLb%-nz)1*jq0_ci(;Yo_p_$H8sA-!-?et0Pq-GBAKx`#KK%O zJBvCXq~=)+=4*CQ7nF93%>lqUY(Ubv7GS@aVdy5{J}o~ckt`w{$x&^ZWUxIw z<~L(3rDWHyq-F4@@05tEV!_g!Z+DsT-h7V|?_1LwgCmzoS4e)!A@&zY0T`N@%m!7R zf8y*V(s2@VOq8$@lo`DtBV$~1F+< zITg1Iy9G~-+0PJ+B7y4CIBFKAcV{yFw3X>>1VGYOOXq6!xgbhE;Td(l*1u<7N46p` z6ZMJj`U{r!& @620I?&9D7L5Bl%G(Y(R}#fG?!; zkHN%D1V3%H>UX*d3h;;SO4xtR(Fk%B0)zf%y$)>52*KzxYWFn%aIV0pa#`G4-&+W0 z`0k<>1NZ^HWGo?n#zrHZO#gSGOr<~hW&6&LZnQ-d->6B#VzK$}-#@#*G;FYWJuhUF z5%Ku(W9js+Zg`IG>sWtlI7B?E;S-gB(<&5antcx5T9MQW+f6-EuLmTR|)r zu$}u+e%pEKiD3LSJI~J{jc*N8oQ@Gct}rIP_z;|W5|xC2#k`5Eme=UN8m&n0@|Y9_ zhk+$~A+1R^VaF4I&m$uvLo$@(WkTO;%c~q+nVFeH=Tz%|kVKV*V8%G?Q_z}BWdM2Y z_|%JbI9((aulQbs18lqGPMf_gDw18ZzEOSenDsRo3!_E$e~{$5IwnojvPi|ryP%|` zJFkv#(S%X%g;VY{IgS*80b3hwWM~2D}Xmn^FXtd>?tC!$hO@ zTssO5+JnD+(uv4j{F}O3P!;|*Bf;VVwPFw_M1SczDqf7`$Q|Lyhm-;hzPHK~E7czg zy-1d^stgNBF4!ZKj$8uwCJH5O-C)d)o)U-OxfU5b$E5PY-@xc?a5QgK)XQ>N^y#Cr zkatnSJ;$M-H)5u;8qMFi$`#{+HJI+%XoI7>yjyPIKD)x+}LNY&n za@FfZzq^I|9Crq-&{F&j3^M0am&44DZlz;LOl(WCZ^)~k-Gzr8`vc=qfc=lh@HGvI zxq~aqJI8}<0G|syBXrjQVOLx~*G?FdQUxSF$8S=e?W#OrX}CsU*r_?20>^X4ES1>( zM$&)TG&rq)K;n-ghZoW;^)EU56o}0h26Ep85-m4#Dek@Rh;ozueuQIitQI8<+L*e( z|EhLbffp|e=Khl8Bs5+#QtRJjQAN>F!d z)=#y_@2Nvs_?XkhQ)hU~PfE6*v^<#@MX&7(lfWyFEYg zC0dW`O#DHaL&I!SoG`^x^Ld-c5iv0_3?LSil{L($cW(_1*`5nv;I~olJSn|$x%)G; ztllg__&8Mb!($z5-wA)3#WqmpV6wBmSl(-HRD#3d-Yt(c(A@WY0lH~?jEpGL!!VA) zoWnYIqFt)iXbAiQr}hP|aTTH1`-?+OEdoNehhppL%+DUGb%ZgVayuf^Rb7GcDkhRG zC;o`qH&&qa1Vq>|+abB3a$ApGG*dbj!#9>jF3Ew-lddS%vtng*MRWyPoB5Tbsrrc# z5fPUdY{FVvS|j_@UFkcIggQIG)kmz6XQRdU31tU)>gb~l1&~ObF2!uzh&o&Zz?I>af>tHAdL1bWDWwvU^7vVL z``>?lXd=aEdXc!099E+;H#cwLVsn_3Co>>Z;p#^}@RH|$D<2L55m};*V~MU?e#Ut( zVJjxAv{gu@bnM-A)wUth|1#ixI^(hVUU%;Nd1YKgYsmcyNGL>9TU*;|!ql$H>O_kW z)p#pr3pbmdnYmA6GW{IBQ7`7n9Dy2(&zwEmV{2|+PTSZksb5ypNI>*R*TwgKzW+Lg q-hOO>JvKkw$H#{p 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_abc.png b/app/src/main/assets/keyboard_themes/default_darkness/key_abc.png new file mode 100644 index 0000000000000000000000000000000000000000..84581463c2f75da9ef105ad16421999d7462a6ee GIT binary patch literal 3818 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_ai.png b/app/src/main/assets/keyboard_themes/default_darkness/key_ai.png new file mode 100644 index 0000000000000000000000000000000000000000..004fa1e20042f71c41976e45adef764d2d437abf GIT binary patch literal 4392 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 Y#pZLV(b#C?dN$ZLXD3%jjy)y$KiO80Bme*a literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_at.png b/app/src/main/assets/keyboard_themes/default_darkness/key_at.png new file mode 100644 index 0000000000000000000000000000000000000000..2fc56d5cb3b4d421b28c1448feb74f793a736bce GIT binary patch literal 3736 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_b.png b/app/src/main/assets/keyboard_themes/default_darkness/key_b.png new file mode 100644 index 0000000000000000000000000000000000000000..8699032e9f1c695a81515b308215e9c201562ab4 GIT binary patch literal 2810 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 L1xlHLW5oXe!sp-S literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_background.png b/app/src/main/assets/keyboard_themes/default_darkness/key_background.png new file mode 100644 index 0000000000000000000000000000000000000000..90703673f9f9589f6ae9dd7a72323a4702a44f2a GIT binary patch literal 29549 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_brace_l.png b/app/src/main/assets/keyboard_themes/default_darkness/key_brace_l.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b970107636bb6ee4fcbf0c3b8863a7d9e8e812 GIT binary patch literal 2503 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_bracket_l.png b/app/src/main/assets/keyboard_themes/default_darkness/key_bracket_l.png new file mode 100644 index 0000000000000000000000000000000000000000..416a4ec77e4f610d42cf7f6020eaded1bab10b88 GIT binary patch literal 2127 zcmeHH`8OMS7XK!xBtmMd7JVd9Ypar``cOM*mD)##li2#yqqRRfZG;--d0tX#^jS)& z8g$Y+GX_OOEmIoQR_&veid_j34Jygxygy-nn4jjJbGOgA%enX5bMw7CoY5#P6aWD2 za)sn0(=-`BLBeG+7-q08Q;-B7XGg#s`EC^eq`V8s!8bK%qjJ>a7)5zt{j~;ejC9=K zRW?w#aHyh~k85k=Dg-1gqw*-lGuBzE7#hnHo3g07sb-;P!pD?0jP$4Dm(i1`X= z#fj3g#Nz831E#rgzb3JY8NY=LS2Xg!?XIp(XrD_wdJ38Cp{u1=V>ds&PU`FC`Ta7W zZltUtUC4{LmnX5BOtV#Vk_0;SR_snRuhx>xJV=K>$8V!<ZkIY|*HAd=!Y-|Y6aDMS4^~39GauyMJUBjck#6TTvdrOZG)R#=9eaV6DD7V0!C z5~^EvpOfPsuAZ7k4)#)$A#G#4FpLu&I;+OP(m*`^r9NC~|StvbdJ&~FR2a;bZ;D|?~Rlh+*13yf0ij6 zbWkNbTMr>zF?AC{IQ$d#23R^;b%94=X-JG2VIWn2peOH#+xk_6f;LFsL6#{ha zBAureEA0W-90}O5(q?Gtrk(6MBA{JA0vp=&SKeuM!Z!#2Y+Kr#Vl`rGCNlt@{zu4r z#8w$Z2!dwlZ|p}m5VE9ifO?*$BdZdxxza9`0U;Q6B>XKbHQLS;X48t1Azxs7!?Xh( z?&?H6+Ujs=xIDMJcM9*N#OAp1q%#|nlMk9C7b;GGD>$5ti<)r$kTt8j>R7pUe~3@s z!mZag&#+r#=X~l9*QS~#o4YC1t!HRUwPYv`F#c9YI1Y@=uKB3`-~O-mP}B-KGeo8> z9(%m8hPt2d%9$7c#WMWF1ggFlr1xC_Bl`$oIO_R1#i7{7)z`mohMJk+SnO+ZlOn)G z@m+%eTiwuP5duu)`9uHw-#XVH*=6d45jC$)gp$iq#|kbHM<3Y~FatY&Jg>xwcFDrn zQ5l*T44q7&oUNnXj6S`!yY5Hyd}N(}@#4j(rL6X|##`GwXQC3ucD5@+w3&3(GK5@! zii(Ol#u0xL`8i*{3_rV+)o|AMg^WTE4h}vYMWYLAlwK@k*WFA>Nx2yo7WPRf5{=Gw zrk!8e*l2lxdfM`s{qEiII|oAJ8$c(p{im>)h=@EgnH;r{ZHf1Xuq43&0Z+QRx?B>L zM=D3$3+k(OGlREKcMEsQ+SrJmuW~b(xMcy^gq4+-J2#`=zu^6_?DnhVhvtXF z%Yx7_ke;4yU>f*R__Cv;d=KID96C6LximI;aFFf~r+LEM-Q8mg&s8evSli>PC#C$k z?unfpqMzUE8^pl&0Hzn5<{TT#j|}CI5)#g%m6Qbg4h@RbzxH31j*qK~5BH1ZQhys= zuHPS40VPfB!jt9^At7wfx(9#mVzE4eS+^~dg%}t%1|Ce%KGYG@bX51sszhR5e4?-l zU~ScJbAxDe0{0q9Ys{+mt6tZlr+8DF($Qu9wV}8~)D@~GU*Vam_deX4LOJ=7b?2l_ zPb^%iN|5$pnZnvOI#$r1QC?ndl?35tE`01U`gy6yK1Q+KkbU=5H$v{P`rkuCuH#!J z#ik{$#j?q&{?6p~p%_PmySv)Eut9zso;v|$D$gFtDqOxyFBK2n4-iZb9r%KIDwZ(7 z@uf0`!;v7{O8Le1?G$<;9WOXtZ1ql97X&F{rtX;c1|t;H(>0XchWOS`|x@A>%Ro6`733q#Yk$GqB# z;52hOdU;ywX=(T`H4)2PZpgEjpVg|Mjdsc+Ifva_aUMzYky^gALc7kKD);35@!Nro z>eV|1a0KG{iGu#_qoQJnqt;*W*xW+HnlC*)J&9$tETaB7FnCWhM=Tc0hjOa!71M+4 zD<953fqw955PCNF4!IV3ver1j_ce2VMm?#BOpR=WT mvZXHh{oLGW<&<#ffdsKish+~yZpF!dHE_A)L1H?FWd8>T>826@ literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_bracket_r.png b/app/src/main/assets/keyboard_themes/default_darkness/key_bracket_r.png new file mode 100644 index 0000000000000000000000000000000000000000..ea9dcc18eded091d7628795f0ac9b934ee50e040 GIT binary patch literal 2033 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_c.png b/app/src/main/assets/keyboard_themes/default_darkness/key_c.png new file mode 100644 index 0000000000000000000000000000000000000000..74abb95179f58c2dfde620358dd369cf9e753b54 GIT binary patch literal 2682 zcmd5+`#aS67k|%vno(v-E)f%(Ze)}q(agxD35CdAql7GFml~;NK4xM`Slil3)}<0* zDaQRa4QnEiiPbDpge>b-yVVvcg%5~os*&`G}@}R^p!Y(n>;qXs;HQj;syw$W4k?0 z!WnPN^|kx=<;7*X^uc*2TToW8=OOA*n(vOqA5*5}9OOC^H8_sjQ zqoaHc0qIytq~3}<w`j7VW6xENA_aDso*|_oCa$J{*u2h zX1!n80^mY3s9S-ICVQ~t@#M+@P`bcft4_|z{*u51jvdEBg9?U-9Iu#)TZ%W z00~_Od^LswqkPp1y{(7>BY_TtYA3h=9*<8Pcoiz!0ALJFVK7=1aleqli;9t)23W8N z{yU0-(f>yIZ~;o$=lb$vXPP7eTQ6s*6DZHDQ_;PXL?=o(KDjdG^|W$BGCK-yvG zdV{dg`O%gVWDRr9XMm=`X@6{!6f=znz~c3tv*33frQ7T;Gwv;>(Je|+4Fm$=;$1Ns z^G1dr1i(0r84hL2 z&B$0o@$9}->!894$B}+G^t3yPI@ed|d6mB-hnxLu4RIk527dmw>(rmS_elTU@uuZz zYr4h$Y!tZ9Gu#`$6?rqXSFc6?*9h?F-CBaW@z_ue^Nrv(YO^BMH2shI`uayhO$#%P z(Rd|FGdvDM3jUNirr_=MMpqLAFN;HMiVqkWjqMC{JLyT92e(lWb8fhIT57FBJ!J-b ztJrWtg54;rGIA;Cg}ztO`T_7DqQVcuh)`Ut=D2Sr36u>O%#W<+{*$`z>LlOiC=}=F zK4Iy=WL7Z8(!POS-v<$jP?~vUWaOPMniF4&x3oX{Nqe_RmScYWJKUx=%Dg5R!i!Mi z_C78~aS|Cmw9!(~I0|O4jd-L@J-zWJKJY#4Q4XvKZIlS(6h-S}3|F3c*PP{D@NJOC zm|V(k`ZVeh0jPv=RA}rL%<&)V9vf>JX&i337FO8r)qaVt4j9d314z&x>B-D0meswMc z7K`9y$1AE|+6YYDW)V7jmq7IoyiyEkL?^`_humgseQ?-jyxYRgd0#@yiXRft+PJwK zbP_Ai?~O#amS{-5FNAzQ4VL+!4c$gC!#muF3>Qe@yj0=gNr?V3AYlQ}i95TlZH7z= z3mM)>D$Q{;crz@vXAswC1(cL_cIguTe?u43&2RMCKXJkxPOuLuMU@Qv<#y}Vt=WZf zk-E3avu9bTP?gfF3uE+(Cr_*zJ{Hpx%7qnIMw(5p&D^hH$ycoVTO|7eqmr~Jcdjl= z-^Xn~dhIWV=eL5LxcbuR-U50-L4l-Y{plRt=A~k=-Yq63rnNBKRQ{aLUnG41sI5Va zd%C*1ei0E7!k{Zx1oi7zUQ<|D7}Y!fI^SKq{%jVedUjzzxPf~~wt&y)j|mtqh4aCu zLzIOpYx5u44jekv`(wyR{jKABQ&wIL4o;gNinn6pYuRf)(vwe|^p&gQO|q)0WTZN1 zbrkcMlGeG&|3K<-O|VXqtE}%4exoPHo}&_9uZ*=8NUA4VTU#|0fgQr$-d<5(H2D0= z$gx)VgXy&oZHm`dKJSS%PCfbLaN^y&c99^fw5)8XTus8#!f>LJQRrT1}UK*4X7aPh}mL#>^6h%N${f-Y82ecwq zeuWNE7FJoQ>T&^0d>W-iz>5QdH-`*WyJ*>}{&SBsxma`Tw-qc>{*1s;w(-NcMAp zxSCB(O*G-eAyb}css5&H;gqi;YY{YHUQd1YG9!H7^b;%xRYZ7$gf;5C;=cXcpy7eQ zt-uy8ZbOt`bnjmjVCP{lnga%oO&T)C&KWE&s2dwh?t6_|M!FoR(L95Wv+nzIo%!JaeY!RR2}u%A&Wv?#dkNjKf8W s<@dBXj)}s{mX^SBYJ$LHe%&g01ruf+Men33kV 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_colon.png b/app/src/main/assets/keyboard_themes/default_darkness/key_colon.png new file mode 100644 index 0000000000000000000000000000000000000000..59831867810c15a05bf6d44956dd859cab7d4ea5 GIT binary patch literal 2146 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_d_up.png b/app/src/main/assets/keyboard_themes/default_darkness/key_d_up.png new file mode 100644 index 0000000000000000000000000000000000000000..83edc30ee7a8fea22abd1f7d35bcae22ac0e2b9b GIT binary patch literal 2759 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_dollar.png b/app/src/main/assets/keyboard_themes/default_darkness/key_dollar.png new file mode 100644 index 0000000000000000000000000000000000000000..90bbb0161a8bda02865b282224cb773ae30ded8a GIT binary patch literal 3127 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_dot.png b/app/src/main/assets/keyboard_themes/default_darkness/key_dot.png new file mode 100644 index 0000000000000000000000000000000000000000..bc61898778aefaab3711928e7a6f9f4e7a4a1717 GIT binary patch literal 2335 zcmeH}={MU67sqYGFV>_O9!e;!L5redU!$=_TaBh;3qxx#M5!&7(#{O2nJB8IN=m48 zq+?ehno_m2D8^c;CACc?B@*$7PX3DLoadZ*aqsusb3W(u;-35B;xBt6--k;nQ5dr4h;ZCUJAZ8iH6XmbeH#3Bnl{Nr| zwa!-393tEx-_-R?Ell@jdXQh)IbU)@aYSu-73&nDBTLVXl#P4v`NMUHAioj^#68P) z9<-Xd@Kk5ja_+Yd?ydKS(GT)(y=j}l3g#Qr-)ruzsmRiK{;pO2a2#nc@Koj4rjEGS z{)xA_IT<%x!@S|gf!s(_KrDUdjvSW6BIvRd^R*!p2uXo0K?^P|$zR@pM+fffIPKNg0WxAsPD-=r_3yn~H^yDkj(#uMepNYcz>K3e-lJrM&D%I$c&kFH5Z z_*`@(zvB)5f$U=AREj(w=r>qwJ_I)AN+E*hy0#5AepOHVh7F)HV;6W2(N8&Ha2D+i zZQJTUgo7VkpMbo+aT;g2GDp*%n4N|Ja0&T3_M-2Al%a&AZ?c^+$<9_>EJ6=l%T^pA zYE0?$$pTeneGjF{u+oFtpm|SZhKE)IZTr_Es!=BRTVT!iVBGon8X$T)lbsxVUxZd_ z02?}GD_?vnll^=c*$m`~KL@lZb#aAfX{(v~VgR;&Q8$-u`7ipv+W>1eO9w%4^Yrx8 z-^x~iuI+En5W<6PPSR`|zxMTIa=6^4`<8Zg=L!o8<-{d>kf1Nf>rD%$LSw2y=nP2NjsKL@JthcReKy78oGT^O+zEWTyY@; zymUo?UF_6O<^El##$4#Y#t9A+5N3aBNG@wke_a{KjobWCT|Y6~X>D*fM~kBKmk?25 zt{S3KddyRJJAo6v?8gjCFzi} zsTV$0&P>!S%LK=I1> zdlCee6*B@+()d10)H~2xw)jGObm_+CCPYB|tO|Bh7wtJdW-q&ZfBm}Z7Xs8_>B&&o zQhQsQyYSlP<4!|?x1}(w2d2d9W=D-}YaTWxW+$|0kkAUrLGzp|Oo~Prhn}>Kwl+EJ zTr*>7`E|A{RcMvTN={IC9eX=5(c(K0IU0HO>SX%Zp5IuR4Z@iCC{lfFb$f=qd+;T+ z`oUP3X?FA6PrbSn0+-88Enk;|!C)gLX5p>$^MqWEdP!!xX`ZHC0gFzJQtOE8T8tLl zbUoPh&0sC{e3+h|e#eQ z+BMz<8sd+4{!GSxsvRnkvoRs*T~_C>1IGH0C@oz9J7HG$iXNTGFnwwC6%O~18s@U- z#)AY6QccHA?|X~}yYBY$I0;KNzH>$F?m(_e{I)dNVXB)PqUzmmJoS4cmy>q6>eX2j z(?CJ+;OM9q#p&FQz_Z^X%I#7ug7Crbq@mPjBvNQKF^@Re8?67aDh{Bq>%I!C( zh2mWZCZ22|fJ#I6_j=b;LK#@poG-4QzGhLCj5Byyo`ISmjSv`fP4iWMQD}q4zwOZK zISux@l`GqG>ODUXO{^#_wBdcO4mo5TT`%alzmYPwcd^_)-MVY(;Y{GNp+)ojBwFw+ zXPCSal}FYyO8R?N+rJ~GdVdbyZ2kdtTfDxZ(|+rtk8%LC!7a$cQ1*3Kb#?Xeuw3NF zb4Z4IW$zL>fT<2T6OU97RZi!hI807cX?rvp>9;&`=Sor%ugSTBy}rwr=qLYTLgq6h zP`4o^etv#014rtE?6Y3}l1Fb`F*Y)iPc7#S#<6=b<;qmBSQN-hId_1XJFtT4sT`z6 zzNVp@4rOFy#F0p3V2En_uOYL{l=7H3eiZOyH$*H2GT|EltNb2P5)=?H8iU&11szG1 X>`G1RGEF0dACHK;t2eyKIr#2Bx2|}& literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_e.png b/app/src/main/assets/keyboard_themes/default_darkness/key_e.png new file mode 100644 index 0000000000000000000000000000000000000000..177a1fb662f85322a3fe43cd1db54f12c27283d1 GIT binary patch literal 2735 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_e_up.png b/app/src/main/assets/keyboard_themes/default_darkness/key_e_up.png new file mode 100644 index 0000000000000000000000000000000000000000..efd527e6c507fa7784b1f35b6662b96e4f2eecae GIT binary patch literal 2162 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 P1tue*C|)i4JMjMjzYOF` literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_equal.png b/app/src/main/assets/keyboard_themes/default_darkness/key_equal.png new file mode 100644 index 0000000000000000000000000000000000000000..61b30cbe04f185743cc389b8e6a8291e9177a233 GIT binary patch literal 2083 zcmd^=`8(Tt7RNtd2~iSDag|y!_FH3VMXPGbb=6k2->XwfOjJ-8Eo!MHmKN6-Y8gf? z5sH>3Q7s~+K}V{VG}e}uTAorK1hqzDa_5;pV1Az;KIeR%*KKhtLy+r&e4{X#HV2t3n4wdDzOt@0>jx7HkX}e&9cQl<{R%n-5=PJuV%5LgTebdj^B&SG)w_g4cX#kT^ zKGwoiY}|RVukhs|QcSSg`R6gx)zz!3$1$g6J9ae%Eo+UqZ@6(63hgyZ3`` z=JL%b3hM`5?46$GwKfn}8C#N7SwrGg6lL?Q^ThHJXZs4LaqJaMCY{KoN+aX=)yRxO~;J$-_Z`s0JiHS2(7Z)u2%a<?q>n zJJpX5Bz$iI+6tj0^BxjV_o7h5AXlggii_t`lp+quA3f15z@3-&TYFBhB9s$AJ9snA zI1lNa1F1uw9>(0%mH{8cAn;*VU6XkG7yOid!u*0!96Y~aHw9@2=yy#Yo`R;dY8Nr5Ag!lADns*zK=UA8-oeLnQ{3Uvvg3*o za40x^_PZ!}gH9+gJOK(8?T|?jIGa^jdqsq(MVI~AA7GJW-ERc|?HK;%y`loZUApG- zcL_j~M*^-DF(3LHu$f!wrJequ^C#{4ZcQw?jQkl3a4H}SaTR)bGg7 z&ff893(tLQdg8keg}Jr0RW}gSLhWO*>fI1;?>plcCnkP)_UxGfeQs{<{>+SDL~yWP zZaj%?BWjhnkM-|L+*BemDk>_BSS;2P2E!-LJmaw=RC!EoYI?uEzFy9_y|sw%ZSir*G7YiB?jJFc=$8CjjAUS#}L zr;uL8UdmAb?I;w=GIn_AZcGekaZ$@!z33gz#6a!P+uJ*YK*$u0yRIi+xmofvcxs<| zrNof4yxeg0aZylbbMsHLT}h2}-Yp=W)2-`_NU^shWx^}Bw>wfkNNor-K}KGhtFI(C zc1EisnctzNjSM=ekQA_TU{f90a{WQCJ@z}k-H_&DTZ|$Plo*XNnIJT+sJoY)sJ0tF za3Snp9#5jTh4p#F5@8-Mj(4NQ{p=8T0^XWJekzU#(IYZzYU;Wd_ZRaUh9yfgT}g~< zRoxF|(dNRYR-1rvB77COc*rCpFpb$4Rn6*6j>-9Yl$*f60(ugdQNspai021L24w>vN0g*WIU={mvt^WwcsbYw2`((g;d6*Vmc_Pjes$FQBWz$mwlH_byWvBm1V zDW~AwUj+g|bW-=^mL|yx-6Z+ykVCo}KabJ%BIa6`_88eUCJvQTp2(68ZSi=#qSNCM zf5d7(s8+h~I(O=PW!4=YkH;>fuQoEq&H;DhbXr^6h1GK2_Lq6j`g~o(+g_=@bl+rm z!;+|H%IXzPNG!jB#$eoQtEs_b#M1<5@xJmXU(Eb(3%fWUEsd@LI!(Asw}guI3r&bA a5x|T+)yGw|n|>9JQ{Z^n#g<}&OZzv6B&_cM literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_euro.png b/app/src/main/assets/keyboard_themes/default_darkness/key_euro.png new file mode 100644 index 0000000000000000000000000000000000000000..e11ba5ec0d39fb8133bb9cdd904d8d73e3c2b5a7 GIT binary patch literal 2793 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_f.png b/app/src/main/assets/keyboard_themes/default_darkness/key_f.png new file mode 100644 index 0000000000000000000000000000000000000000..0b6f28931b3a6bf12dc67e91cf90bb6cb28feb5d GIT binary patch literal 2342 zcmc(gXHXN$8iqHGgct}VK`BCLQWZ`>1Pl<0Ac}$%L+A<$QUno^PG}-F#2%!hAYv$@ zM>vNPFA5eUsG&&#$+@6*#OX^}boKMl(jMYylhweZAo-Y)eFNMfHgUw8@hRvd@`m0u{KrgO zx5}FonM>Es`flEhpWNQQcbtBNZNl1Q>ZcXZ8(0gQ`IGA`6G~J7B6sGub1I)yRLWZ? z87irTqx3Mo?EWm2VyOyIS!J_xGPY}hv>r9$qcJXj+G$e#lX$9|FAIS-=>Z-3n^2)vUtqs$y8+Zo~~ zpfqpuUHm7#7AT28q*;t4V1BH&Udq#~b0a`$AxY;j`?1lYs-T9&QuX$hz{D2xj;4Q2 zcBXv4V${L(0Zea;CQ=>}^vz`={XXA?U;!zwr59t@9J)%>hl3h^tLN{FS=kruAOJ&{ z8}1e*qrr-)e<1tiVFIK}3<~LDSm@9q1)=~_Boc6S95biu=bUi0(%-ZU{q02A*$GtBtWkwuPq-kPg>tbqQvY`b^~x4lbraSb&Q4xQXKj_cJ=&SSw;z4Po*)4v zP2!hB2}uoNrJFqrPdpXDhShlefP5&m%bxf#-u{(aS2pJ&1{{WO>rn2flhw16;8il9 zezlTPy~||MKdBvNWv7$smFE7o)OR<~Pu!~KqiejXZ2Bs3>5uLbbJ`@k!sTV~=<@6U z-h^joS-}9Bf_u<0xgOs6xnahBitir@Wm4eQd`NE?~fh@>Devcwb*g-@&3sf`D6v;{b$qD zr#4Ppw=e1OSNap?-i)omMZswRmj{heXk^dVa(GX`PaP9^;*G%Rxcl>Zi0q#hso(x}=V<%NjAGu;3M;)QtRjkxC^?Xmi3y;Wl8Snex( z;P5oyj1ttZwth#kB)F+d9n1vox>fc;aHiTp8J;qbxf~)T2ho3f<8>m6_IfNg-S+== zq!qB9nC?i~O5^XKT+z&94j8@S1T zWNg_eFpIw@mLa>s{d(CrurrTNikx_JG~-7lmOnf2LaUs?m|e<}*6?5lS|5X6$jsEp zYin!MUTa&j!oh4?17U)z4#+B&TYqnW)dSmSY*W++$?b^6P*>0==w zm25U!)A91P`Pz--RK#};RXM?QRGcQ=AsPwXoU?3>&rMAQX#>D0E*>oyHy-Nl?v7kvIn#l?Q)U_H zt|?#@THFON~k=~fKl?oy&nL@%JHZ)KJ%XF{CB_wzyt*_MjE$RV+VOp;x(&sa_ z&l=jZ-p9jwMlb3?33+Jq)-9af;#uN~q#(x~I9n-tv;N}80Aj4+9+ z;M6ZfqLgeir^JBnz`DODT!gFY?g}Xpzk2m5)j~pmX$GI66x56~9EBBjpu&NY-N}P) zTj7L7Sk<_(pdmbcg+?PhQ9=<&hk1mA`i}Qa^@uW7J=A7C%^-?uL04S6eH&NoUL{?bjQx(*C^g|EI&e)c|) zd&U+|;H7zZc>G%SdD>!}-VI@2k24_O%g>*UR+!A@ z>xKJf81wO$4fJol4cO=mAX+~}D!ig6mo_6IW1v;ODU4ci5)N$}jaVtnD)j literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_f_up.png b/app/src/main/assets/keyboard_themes/default_darkness/key_f_up.png new file mode 100644 index 0000000000000000000000000000000000000000..1f7c89edbe8bfaa04027a636a349bb7fe25323cc GIT binary patch literal 2195 zcmc&!Yd91L7d|tL+l-8ngp5fSVpR%BGp^&7LKhXEYlX1Huu@ITlw6)oN)fpCE^Kf%gR?<=e0A&|v z@^NXUN#luvoHYB(?EEGzh?wI}cEIY~A^}i1>O!_X8Sgh%z;{>s*G3*cOUtC2ylH1^ zGXrh5f>lu5S`$BLJt5FBB19hjw4lLEq)+4KCd?zp`Xz0dHC>y}`u`AiYbDjuH^*5` zL(8Cm7aHumtK>z=7fSH>{LZ6!`(nmxMc+fl^K17jCwq4h`QLUvw$)qOMzyvlujp`! zb^Pc=)kz~)ayWTLRNWaWnqPcnZ`Skory_}%Z0bN>xgG3J$EdEpy2kD}fVO`PNi8Du z(J#eY#zxf#bGiDDIohbAtw7|T6PLc0td6FnV+_>|=!45^H?EZYf~HL{6XnF;vSwRf zioO4O`hD4FkKjjncezf-_SUwHe7$ zc~*T5F+t>Sdz_L!lN2E|j7sFxF$|&bOLP&h$I6?saquC*_h3E=l2D@X{ONmQss)av zm~4oC9R}>h`e!NGL{u+T#PP5y_XWnNYoXZF@kJTF55b)#`n~jjD|i&I5FZhsXQ_T) zhFeCh`RrQ1UV@lvxS_e`fdnUxHtRt;C1g`7aLqU|m@Z5u&JiXots^CMDBG6#RYf(o z^>2~sI>pNBHCzY~@_q4<`=I_4-wYmJRa(Gs#bY5I3)y?5&H2sXx6)MXJD$tm*0~RS zU`XP70MWW1=y~UOOjjd1a3iol>t8!37d4P5C5eZuWe0>o=@`$GCZ3a#(BscEA; zSiN3@iT%$Ad&8iq3=@%Gt^0s}yI(~L>O~9$gPC-TcwblaIs$-eN$bHdPtJWh15Ul*t z&MN`=e7d^_V0A0W`%s|wTZ_H{q-LDf%SD2!mso8hyx|$$J%XU6mQN}w!H_u1`6<|t zdlzI;|9!?1!R2M>run}!-p!FSeBY!9Ptr4nc*Dn{fIyZ7EUvnct(Bkw@HP7I1#Rfc zXEPBGdn&&Ah*-$@Vw>`nXG;v$dkckcwl!{AQswdJ^|rJ2xLKde^;a)oc&ArPGG>h3NwciFzPlso@j^!q^F zPevArYxO>RQp-=#rChsPo3OgHBrH44XLjJy(soUZ|M{w3Q&aOY$=uxBpcjoS^9%?K z4D6Vhoh51G@pva4Mz8+eH@)xQhek)6L@X^Y>&C^!U1?}&(9_wNplV$R55F3GOVSuOrWHm{T3Vm};(lduYDdQIM~6#xpMU;=stA$NXJcA& zBy)3dS~@zz)An{jQ88zTvz++J>j~>?9moOxFhynI^#&Mz&i(K_Bs3s^d$a^+`L(2E z$I{$bKdU%V0|HIrGbDq2rhKM7(tmooF0n7}_L|gEORsyfPz(D-+v{Q_$0_%tqP8FF z*4RMGYadQ-3+g+FBKs$QLsq6SV{eQO)W*avP6Y{MO>U&{7l~uj#v=AG`et+2^8EMr zVMuP`XJHdT0q>+u32Ze(;J2j7qgEKap`o)UC$chkZ~A%vMNwlx<(8&GO~OY;W#z?E zd}^b(j^>W8vFlPqYV&X6-Is@r>qaWGXB#1DmKJjB@|nhMd3-F$lCbPa>ZOcyl|9pK z_xe3&gd`cVc5+z~riqo}xLLOG68FKank=g6Ube)alVF_d|8}9?BzUAF?|{VngD@Xq zsASJld}d|QymzmH&$bDjwS65Y; z9rKznqbe~6ww9yo+deQH#N-@%LvG7O|7N~Z8FexK42K)6` zU$gm-MAe|`>T0|oM)06iuot>JG0h_*BQH!w_+y}0%h|vF8eLpb5kXM6K2A`OOE>W`9SRlq2IT4MS+&)&+i~5}CBfBRJ?$r!bOS>i VKHodbj{C==TpZlUEW3c~{|4;L?$iJP literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_g.png b/app/src/main/assets/keyboard_themes/default_darkness/key_g.png new file mode 100644 index 0000000000000000000000000000000000000000..ca2d6813a34a7e40ef7f6451ce2ea260b9cf6a7e GIT binary patch literal 3111 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_g_up.png b/app/src/main/assets/keyboard_themes/default_darkness/key_g_up.png new file mode 100644 index 0000000000000000000000000000000000000000..5b2907f306b59ea9db9f57741835263ed2563ca4 GIT binary patch literal 2889 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_gt.png b/app/src/main/assets/keyboard_themes/default_darkness/key_gt.png new file mode 100644 index 0000000000000000000000000000000000000000..01f520e337578dfd8e9229be360955359e1f48a3 GIT binary patch literal 2369 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_h_up.png b/app/src/main/assets/keyboard_themes/default_darkness/key_h_up.png new file mode 100644 index 0000000000000000000000000000000000000000..d4a91be8bd7f019e9648d2e7d28d59cbd25d4988 GIT binary patch literal 2243 zcmYk8dpML^7r^)X&WtfLE;DA5gJUMcm`);zkjuCom#E1h6AqG4DM??ZB=5Ks>7Y7Y zMvmMoBu-ABN@H9~h3F!e%8Zd*V@?b)=uF=q=lT9vd+oiRwbrxN-oL${ox$Gbri$0b z0{~P#++BPW8c|4zvXWv9K`|y23X1b_a{^T_bjJWtPV{hb^yLPB{`JFtav&x6-OtgE zjre50obrNK)WEf8ncRR7@lDe%%@{(Y927}VR@nOgj^O%d&}EV|{l~gqel6FFZmv#N z7tkSs61oR^26Ag4u)Zh8I;^4 zQak&?-#S1}3N@6bkH-9>uSH@V=t#Sc|M+Nm-;m0F5|i9GQ~$8T=`{sPu2>=AMaGo} zr(1&ub4QL(uGYTCfunBU(Rk^s^}vc5|6a69_0Wm@&F@CrwKZrtOIx;>Smfp4U@v$M zd;YcwRQonJed?MnE-~I1jvrr0c2@-Vjn+&Smtvtg^vqvl(Q8puM*;O+4OlZ(%Wn=Ke%dj2k!b@2?+ioW`e`}SPSLeVp4S{qv2LAC8Syz@0L zHVY?IB5t34ZouN<#BJ?A?z$2WJAytJ0EPEZ@wECC8c+sgW-dw!irTXM5b2i`Km&77 zcpT7U9b2wZp#&!p0a|E}M5zf;=_U@Bc};EVFamn9IUNue^vPN`vboESfCv<*SOaz1 zgC&j<-qb-Ez@b!@CDx`16(l&xKXKxO{yN#xLfqotLvDfPT(JRWDYS3vw!G|Va-W9?`eh6j*LcPWrCrHD2wT?0-J?-WxEEf=@ zUQUI85yh9K!B+<{>Y+S;37g3Z8x2Dhf*N8Yio^QIpy0(ytv7cR0L|X8RiRM62a_U1 zufHo`1M~W7e6?_0ER#YrJ6gkIBb;=F0eR}J@KDX-V62{yDnKjpR!0rrWm7N+8CR#l z93)Z$kJ;eZR%uERs+dlqIO0oIwddjbg!!t24l0Ax3KeyAw@+yzjDgAgTj9^>!(6Q! z&OD$th=z2NcbWUPCLnJe_iWxs5vnzmM==rS4Taz~>h6(n#WYW6t?-IzNP5!Q4_Qwt z5V~7d=&G*$(i+kmo761>Xo(10O~)#S@~Bgo?{%DA`)?zMO@;8CmO?ht()C!$2?|?N zE`s!gu=|Mzj4CCW5)g`Cr=q zYp)VEmU`;qG43kAM$;%XO?`!dc7%+_98RI{gtB5=eiE7$$WEugwQ5m{i{T#iEq!%jReLl{G z$l7+BZjOOi;4`6>b###pUJe_;)FKNVujD=#2;Io>FTrj(0l3p=XXYAXmHoex4LqMk z?u0J`Zo0cNJ4U{>&cCWM&pIxm;jpnw*|$a6M6ylN%2HshLwrq*^;BoUzGTVi?ww9>vgV_Uv0U(Wy?p^+<~$%5>!I|SmIKT(LM zewZZG(~7>R76}CQHvbu?*gBp$e`e(5D_R0;fUa6pM@`?z2|8@?Mowxfgv7Zr=sVtM9cNr;a88O_ODImVf4VoTcF)6+9;8Q1Nf zf58lD3S~6)_xJzqGv4`IN_LEMzE#Uk^q-|ZW7mCd{cf@Tq?K-wY+|EC@PSqFL>V9JDeW1`{2R#S87Ku-I#UAD2tzQEi#x_{7Qg_>o%7v Ir_kho0Lj1bDF6Tf literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_hash.png b/app/src/main/assets/keyboard_themes/default_darkness/key_hash.png new file mode 100644 index 0000000000000000000000000000000000000000..cfd1b725b52b5300792f5d7f3bfd6bc46154c983 GIT binary patch literal 2740 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_i.png b/app/src/main/assets/keyboard_themes/default_darkness/key_i.png new file mode 100644 index 0000000000000000000000000000000000000000..2dbe930b26539b9919f9e3c091e92a15fa744954 GIT binary patch literal 2074 zcmb7Cc~sM97X7kG5`@H{BqB>>M-)(&0I~!ODuMp;QZ~ zV1kMwn`kS@9>gjtO#nqwS(*_dpdb;1Kv*)F)9K8a)4%4s=X>v+`|f>z-E6;oyEL#m zSO9>A_imcMsza)O8@) zf^-xg?IFf(V)=SqF_-l^JW6^L8WRwr-BjmJ_8-6w$#Lc>l-kb3D9h*3`?DOaFRfc+ z;?;nT=Vz7-5A;n<4*fl{iEC^6jXc?a^w~z3n$wu$8hQ!N&;5}+Ig)$s1jqa`IV<6srhS*JaT6Bw5ue8*+0j8P;G$)Q{}vH zNlwD28?CtDlK$G5vCNEPe^bdn67u$A8zw{Qr&hSfdys@_fp_+;PN$4^GnQT?^_i0eNhfLGYOp+0jzSHAa@&32Y zv>;;;$9lJ~V$hom>(YS3y7bZ_f%JT$H zuD`#uv2nXi7bJOc*=!Tp4@33x${c7+q{j_>tD&KB&m6M}M*Y~D@F}p(a;fdC+7G*p zJ$a}Ac--VW`?@(|aPUiL54hP~_Ej#oMMN(vf!}gn?C-)dWip{lQxk`44D}Efyj%_O z9qjBne!WhiU_6k^|7gE3{dusl=K0Vg`W9fLkKk8VTgkI#7iOY3U&r#Wvs16DbilfT zd54_@AYF?Ga6y{Z-K(%j@N0M95XwB)wVw*-vo+)9CW4$!eefkC#KI?F85#3~Yg|AfJ+HgRnvPA&-BZJMbm+Q%@(1k*gs|sOu zyLg6voUf{kF)@BZpxRITX;_>7@)linu>RC2S1X$~hRM|5UFsjMSX?Y_zksu}CiWNfV2KE!3gNzM zwY9bNuL`Uw z<{7QSj)|kAqcKEqCH>*UhZaYCCx5hLl%YIzl(E0JyvQM1Gefr#vWvcZKI}~dl?sJo z{}JC<4yQh(frXjfc>6@xH`@NnnNg8+Q9czXpc>|po?c!JehZR_9~|isi_2ag*!bv7 zYU<(q{QUUp6+?XpjO|%s(lR#V zn`=hM{&1XfbPuGwNg)<$tw}svcIVDcA03#OZf9$$flDcaz3D(=@beT86wwlmh+(eV{gTSWOauKpw#G&w!5Xa)W=u% z(-v=>pyTmuwCnBV38{R^BdXa1+|aMNxYg)41DXs5^ANk^$ujZa4oS0v_2Ni8Ev$RJ zAng{#1c`K_Tmr}mJ$}SU;Pj9H;#*r;HMHT-$vvdk@@eU-Y|ki$4PpedBRWH{VHZG9 zp`8M5ctk|0t_%D7((r=E5WoE(*XRxh?Z}0BB&KzrEXtgnofRgxG2$^DO6ab7<)D#7X)S$k|0Fp-#72QGd=g*`#bkL-}jy0`R?!LdU-g@%VJ~! z0P?Ob#B)%kLHlngBy@(rzg&R|Eb*MPJ!lv>v;=^Ri7S!dlM=jI=I*HyrP?zHH@BBM zaKeq74KpXFD5G;vwzl$}DC%M<{F{5@>nd~xyN!Y0lTM(t|EgycPWVk8QJ}1Mua|>x z_r+Hx8P!l8Tt53uEtg+5b?27FW8=huo&GEP5}ZnT8T+FRGl+;JzAOCD9rp zt~pTSyc9m4Njh_W&$MxVH{Chj_b9-MW-hGDDi<$iNI{-UWG^IHK_7rmHp>NZ0zSao(?7gf957H?MK)K=~I=V6lvGw!H=GB4XLiaD-1o z4Zg3E$8qli6G3y|b2tLOAg+b^3QhS2z<6uToOhOWB308xA6V^84;!U+jnGN5G+F%n z$;SuqPB2t-x5vMCT(RH{5(c727z*UheP}r7cpkbE=5|*{o!q$x-Cx0?aWrIO5H-4T zT?7ZfM8>2aVAx4JO&Q&NiU6<=u`S?{U`)`1#4zn3K_d9CfmY=I4an!=fgRtwHv~WN zZxR_87<^pf9a9Pa3BjLylA0jd7w0*q3zmyJ)5RDtQw9UuPur7dvOn@*Gil2?O+&Cn z5D8iU5sLxxHT_t5YiYTosrJO-$-$ut7vVjsr`CI|7V%iWt=YEpj@@_Oo{>Smp^kLOX zI`)&@=k5iW^(X(-!yk&q2S5{{u0Np0{@=p(V&LdZ4e67pi%KuBy}!scw#*$?GX@&R zU{I{{huA3-KTAu|;Ep;KNV=@Fbu?Rv<$m0e~cwXjZ~~8*FvCDFO(1BUONd zV47UxD{z>dAW+WeuKV;tYJboJY2P3hK}lU9$}IRA#A^Yw=vL=KZA31SlY)u9!RWu# z#g1>+22U!@|M{QBig4K5x*H-L175ZQC@BKvvq@OUMFe@m!yJJY{Wi zqBVZjDStiiCp7iSmD95^6YYZZ$jC@`II=+IjJ0*g{MFRdDYSxuLNz>ksIjT($i~J7 zu7Sy1^9u+l9pUl94B*|>;_db7G_mOQ1>iKuu#+Uj#d%@0w0@}Ra@t;&OtG#RSX*1G zycY>pR&$9ni4@8|1KX2cIze5uwYTew?z-stm(SZL;~gBHn*?F^!-)}8i&FOoyrm)= zFflPPo1C0H$P8@L74_uBBCDG1P?AZiR5HrQ9-*s@~k#Q%!6R%A^xwE?Zojcpdsyw~c zQx>RFGUU{aT&UEi{cc@m%UxZLejy>or+3c+R2N_6?+%P=nHh)7tLf#tIdySD9e^E| zwXIX*E?g~o*xZb>{nl9rN0m*O$90r<^}mg*_Sx;t`2b>rY48ybwvp2Z>y z-|vhH1-D~cP2WZf=W`TwhHpyaCEhhz1f|Y`$%h;-bJ(eyd)lgtKWIZq7xDXal8o+_ z`uh9dGb-fcW$2UKv9SOyd?>0`E-8S0q|9CE(Fgs_N2}`0-i-@Z%MLJSNl*w!<6y>GX;@{ol^% kns#(_lv>3M%pTym+&rI}nZxemrSv)4Iit+Utu>#Xm3-)B9a^?lwy-upEdC;K%r8)N_g zYaAWOha?e}w1-%8<1NOoGPwIv4-Uw5!$%UclMF4{otcioU*o9pKME33 zm<6(RsAF3kS!btvTu)h?3k}Uer`Pam@fM|J=@vZt!ocbsz4Hb~;(hur<|XX7?ohc} zagZ!f_cD+Aj5N`TEtZzgR!ECh7FkW~TKjqVk7Rz#S{ibC1X)A(*Nt1k+O70-A@N0T%3Go#@6^~V4cB{W7fp(0wO^<$OX&n|O zsqWNHZz9~2azzA-gtYHtV~Mz;TjxldLDR`YOUujIP^mZ)6o_MDV)o2=J0O~E{eeH! z$!NyGOfxgH=B9LAyQ^F-msv$$?3nG1n13V%8XiC&2L~ssk5@&nejZ2qpTRytlj;?W ze6%4KCkWC6A`@DU3KiY17C9-ItzI@x8ze4+i1~@M!OAd(F`P@{OZyYfn36uOxlbtz zY#MG%F@575q?-yvjXO<9Z!P@LE~%p1&}}G@xb78>gCoiNTObDz1O z*gnH+W1uxy@m?=O>VrkAJDo?B@m;9Pv;4F$df~16Yr(_FLUB$`PCMc3pWsFxqOY&7 ziut)ZqKrRe5E@{WeBFMjCpdu4)&9j8I001xK@jlj*%Yj~DhxxZ>s|>B4OLQ#5>Dh< zhG{{@G)h4@$UkI(^4$K1H(`Ivo<-K_xx*r5I3s1HYCzNe3H8A9=o$?@3nba}{LsU3 zSG~rjABRV+t;1lS zJb99K86b@EoMdyXj|R?X#P(ysbP@{Jbh0Btb_j3VsCVz~UH9{GEZ6oV`4}2*bRbxc zkOdL=;p&>;r|8r`0D^kVVOWI>h8EwIe?oD}QyWYYz?+#Y8e1BsZA$XPLkT>iVPA@0 z+ucybYgcITADA8LZ++Rv=N1+!Rm}pnSm&DDm;rqw?m!&Yb12{n~sBySuw}?UU6`8=B`T-k9O= z`TUH`{W??6OG_`fUZLeHIiH7u!_(w&vtkUYt~*({7K) zQ0FR(A_7A~I(`CYyy+?3Pn>HkK5n+*@^ty~EV>`)tO2 zcV{Q3=Ef9_tU~c-AUrORYmb?FglX9Xnc6Ig#U962zChd{sUW75z&cQ2au0CReGFB^N_x=X6z9qjRQ13R@2YY~nvDb@3Sn;e$b5 zhMX518K2Ntm}AG^G|5Y0ev_*l%Ll^CoEKZikBTw!bP@^gE{DQe{rIs-5S5)3P5X`P z{YgdhHa|=ns=LY93lKjxGEa^?8Oe-+Y*z(ejP8JO9{r zj6Fb-;JuvHHt*V~>O#-TTabsZNBMR!yKawft_tu@g0rB?&!CxwymwLs***Xl3h6&>ypffu2VyKk@tS% z@r<(AV>3p-nt?h7^lD&W;PktaD2i}&V=c!?oH%8@?dH2tar0=%FEpfvs6YeF+@|01 z{{6+nZf>S8izvK`K=!F4_#}E?_@$?L^74ft*h*=6mAu^CT;T^M&%2{G+w<8-ANEXx QJ@!hL7$jNBNJXPW$Ws_gma;W`sL5DTlcG2wTXrd5 zOTs9T7|Iet$z%!9G?Q&C&z$FPcz$?(xbN$n_qon}z0Y-CKimlp_ST}pGQt1=QCl0! z(*lJBCm)Lu+!v9ma{_@vPFq`mitgP%0odkdYk9;m-0jzs6W$UhByOL~6jRwJedISZ zfqUrXsobI{oKg2_j5PXF)hZnmfU7{&C%UvW;c91H>+Kfo$*L0;G<+yAmv0ajkt-@;yxHu4#N#^=lTNlEZAtLT%c%9y*G3m zG0tz&QLa@t66aSqqbnYk;C4X2sR}gtUeio@w1YTLGM+07PPHt@QJUnZ^K2Z%cWY{k zqyl(#Xy8)cGp08IWsG~9fd)yY)D$&Ky;Au{5ObM2KN90UOU6S>m@n*t90HjC!$~{Y zxU~v6Uyc|=cOaR=i?`>{r@FmjrNLLOaXTD(DP0!>`0F=p2eq(kHx<2?b9rV{XXlgk zPrIvu@rvvQlTZYhU(Un0hn$QBfM?%4D5A6aqW+n=8DLJ~zkQj^TBV0$K@RxQ5H^N# z-wkdBv~?G8jbl+ve*zXB**u6eTrh(afhOX~W%v->x5U+E2JyE6XxtPY5qXZeIui30 zbNIiOQK73D&}U#j(lcV-{!0y@U_J;q$dqCFZ$-$?)NP?)a8-fngKxfY6V0rdq-)&`}&}wKEhq`{**S#{AB~CN(>+wdSOZ+W9$(94v?nj z*W;j%^A$(@P)zeZELSXiIZV`31z?nY7A$~X1BD<9=@M*1b|P|yU2hIy;aHoD1_EF$ z$o$_#h-UAIT$&$l&05c~K|-aCCycrA4dgEb?x%;_b1(0TIEg$Z*5W~zn69bo3ZBTjU8RRtJS6CN@3IeCdGf3 zmj3j;nO0fwOs1WalauQm8rsKo%?r{54kaEN?M8alB|SiQZm8-~@cIhpT=Y15^i=ss zb?}^7O4#HF$(AsTx3`lh=xPq&FDn_>hLE90%xgLQ*lyN~(f8<5O?UXH6 zrhyYHT5=aS@<0Q#(|413gPB)e{2uH_rR!YO&tN^wDDq)HGrWEXC_eWesp$|DG<~6y z1et$nPpeELW#`v9L4+#^M{dCqhs0`+HVaVlH%PVXc{#e#4-s&$uJmNB8^m~0hVtJh zwR_a$^$ym3HD*AGH*c+mhv8wmMzqOF4OTVK z@>Bv+xjr%i2 z$n!b>Fzen1IR#O-74zpuf}NdRXcT{W@f+iKfocEXVCUy@7jn1LpW{-bSiuw*eY)83 zN&L&4?M3C~{+Fbj^;qPtSoUx>>oWh~W4kDMcx`Phr1Wh0s|L!Tb_+h!4LvceaQk}! zgTYY5gS6O;j123n>0gGCynPg?U~_AQb2N(>b$h1mOmTnr)2B~4Ccs-%R5Xm(V@!5& z(GZ~DwwB|FF?ee+8?(mq+0^)3IP#C3YKUBO7jSrl*7yIiheRR;s2AwXG8kg3f|kpM z&2Vs$^g1qdJnSd*hBLeuzcxlbxT<@;e*!! zA>6+ookL8RS@97%mV34kpVG8kyuLM2%eIw>$d|3!@WVR{eA&Z(OXG8cmDZgISgp!f z`nE^ls2EMj7ts`ye|R5LmMG|*9j6oXss2I*f3h=uIZTPxV}WCWjpAAjQUC^q zWuS|nUIdICKGzs|C_NE9fk4Y$Hj=N(6ne{f>-_EPa^%ZbLS079q1i0_Z3s8 z8-tTj!yi0}c3;K5uytrZ*_EZgk()`?5F;z*-KA-w&EJQc|m*mq;~pTW&g^G!)G9Ig_e+zkRsrq zP*)`EmdDV1gnXh^(@40-bGe;jUBMF9k18L~H8L{tqC|e*yMa%AeCNm1^MV1vw+q-F Lv$w3UaF6>B@aAv4 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_k.png b/app/src/main/assets/keyboard_themes/default_darkness/key_k.png new file mode 100644 index 0000000000000000000000000000000000000000..6964cc9c30a584a24aab0431b0fbc32d2e02da21 GIT binary patch literal 2495 zcmbtUi8mDb7yr&eL($mxC1d+3k4Kv@#@1vX`&vel=hkdTekK`wsn$gAV{I27WUwDbtfCB0XdJLet){Jp@-U=GvWcWhM{(Vz z1oHwi<9%S2x;%uvhrVs0B({-BD)Ppuq(~wxkpWIhg&x4BgAcjmqBNGSb~oUO0Rp;s zxJh3E%>GEQT|6!IsseZV)1JJTaH@Kn6e*+$*jV$aRneJpS0o`A@;>cq&0+G!UT4O% z;jX6Y6horT&A{N9h@f;~+i>mq>OByZ`s6w(394?tQyM)uUVdv)Bq}xWu;h4a_3WwK<#cxFy?2Iy^k>9?6+5PWZ~VGNad}kbIE=Bv#Sx(DG`8N zlf?ZxdJ5P=+Gi(ydgc5z?y?I z)w##L>!sIBp1s&WR=*-`lumag&$4SX%^v~zcL&?6qa&lE?&BKa^W75AY)P_|j`RBu zxjG!xU)!thFB5(c`ktQ}3WBTOk+qvo-rsSp59}(PcN`!gAQy(=*64J8yx51Cfub|U zx!az5mf$kLG~cZ_`XR6`FJ`j<_AY}Gb##8gwPpuS69)o@1AfQJwP5a0{DL&D5?|=2 zHi>Rd63YZ0^k+?D6c`nF*yzxw`{%7(Ms#h#Q-sz%3nL>9Yinz}P1f`t98{})C&gu=r&Rml~8Y6WPcq$_;IqEVnpO;D7L&!NT0g1-(d6rG{jRb#!8q9Gyf zST}=E1zinlm&79v4hrx0oPS-uSP7ET*U<-#?Ivt34>bJQSoI=C6i978QLX~hE8~8U zvs4)V7rK6|Vchdn1LUj_h`-UX_tS1+o6V+~-P$o+ZFKD1U`gX#R9Kszml6{bV}#&l z`JyMigq&eGlir2UtEQ%=94mm!mcAZ72*q{u-Cdm^$0)~D5QeqlhT?iC9SVOa+K>2A5H5*jG!QHR`ElnT{DkdEZTf{WsOaPP%w{3H3 zKb_J9>442USsCPYIvWWN1ALBvhN_n3CPc2xb1sqq)l1&rKN|M7Frvy(WY39hc?n?d z=ND%MYTs7%W`NKCjPyxC@iM2)&%-g4Jg-tDsA*jNT?5237+-G#pF2(z3CM7HB~=H` z)cYg;0fMZmUuSjBV z>NI%#UkRI8Y8L30(4o>(UZFJCDirVQQh!)Ob@j^bo3ul(jn+jBX7r#a6e{-;7TcS~ z<#Nkeu-eP{zU6fKzZ6tdRKA`wHI4jZqVY{+WaLn-aXWDf(Vq0n4}EI~3CJ@t$Gwi+ zB$50Nf^D}b)wU=U`RBnuSyd|Q`EWDt!y1MnX=8%4Zp!*`Px9SXZX+|x5 zj`{AL4Gs!MF%Ay>u%WG1)pLJlyd=B*>PpZ{XFk0hKG@j|-rZa{1SM*f4F&e(3IRQA$~Vq zw^oMk#~)~br&oAJpPA9iu=op@0ZPolGyQFT8OW$gCA}BoDWAD_lRHh6o+S_dH z0>20-@CR83Yc}=g-_oxh>wIOz{~=W5?DWi(i%MHY_eKDl+vd;VHO4J_@^D zVtZ4ByFR#-F3X|7+=|1F>5^yX$!dpFP><4QH8tT*PjEZYN#+IW758|O%CI@xE3pIu z_j=)_z&N|V!J|yb+qJbd-=Qsj{sFJtfvsaPzk)a-*hbg=p7};PZ^_*khBMb=u~^%! z491#RH!)m3{bK3Lv9LwL!fe_)BZKxB)ubf#@Zsd-ughRg-`t-Uk-y7 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_k_up.png b/app/src/main/assets/keyboard_themes/default_darkness/key_k_up.png new file mode 100644 index 0000000000000000000000000000000000000000..c282c4e802d300a144358d819110d1bf629c3649 GIT binary patch literal 2612 zcmc&$_fykJAKruj0nyNoUUGz9M2Zwk2#Qhzq97uQ6s4#qN0HD1U-X0^9R#TwipaqM z3esCdDF!1Ta)59GF&Ija-UGb3nfD)fe|mRj_nG;8o@aLF^Lb`><1W~mALf_h2LK$l zv@pBKL5MSpkvyFB2AA?Y2Vj90&Ch_!PcpLr@cpzjGj#}YUC6ig5gikYamp6MsFtF) zfW1)0DScsq!pS>@HMvHC#RCN$6%fWWiSF>~C#4|yWI$G4c9PBeX#Te{pY4SP$P&B{ z_>3;3+0HTi%FezVyxzKF`nh(a{nwzu*7?_eA1u@kM>=$;pAencBs{i=CFPM^4M|As zI}Pgvxh!EJb|R^#fyCBZWJaTrOV0St@{JjbwRD95Q?n&%HCs+XG_{>6Jyvwvy;K6S z*lJf87@#^|{>DW@M3dN67X{VfluaTsN{4?@!_Q!m+|T7K_yFDT;(j7OR61l*v~;z; zGUPOa|Fo$f`UXks7Ho;w?qVjVTcE+D#_Y-skhPHy%>4;shj5}Reg=8IEd^Gm05U~h zR7;6Noe)oL&bStLU;1w@L+feobDWTToLmPsUKWK`kx-)lU+Y~rxTlD<4uXnaR6nV_>clF_47+jDu z_Q>|f`RB(4@9?&Uq;o?R6NiUZ|GGwk8v~;sge2H(r>6T6@NqTJa##z=^AK$`eQql1 zv(}jJZ;a^c0IG@nxzf)Cj!h)XK%J*i2tbaCtdh)(a2{W!paF$}st;~d!D`CEfCXp_ zAI5_cfSV~Uhy@tui3SZ7CK%}ZjtGEL6#IR7vbc=2Ow3_Py>N^FQI+|KIo+vD(LUllc(hd- zF#B1_*UvAxVsG;8!vwm%JQ#EtI|Wx+QY2DX&U;B^)k@>CM*jX0S$U zygI$bFBEOrJv)^;?Mf&mNVp?Z>Gt^EdNdY;6IwpLx_kM(3g8ClLGvzoC(SrJu=1o! zLf&()VVih|E&?F|O>?5ZKSe-5bGtit{nLlcy@*dL(NfDgUENnEJp83V;?_vlBWG-R zr!(ju_Qadq)0P*z|Egh-t=4Juga)OoNj{Lok&Y7=EVi$197)*ZYr_C8TWC2 zD*DrTVo8;&TMhygcE*iOOlXH(lkRQz=dOu{C;>WrxIDM*y=JcZ}+HpYhE09p&L#sBTq+A_yG0ry#CnRzifrGd2wU0%{izn9`fgkYtxtc2cCN% zmf72@0oU(%v>6`4y`Z1f`3;-$#+>rqN1qR;)f}p?N6K7*rGsnjk*y`fh#YQ3jofp1 z_=V&Nz91!eG*CKWL92Q&*ruWm_J*oRK`KGmk@V~JralxQw#2lH2H zYN(d*&3n}Oxw){wwV8ngv4n^Yc}*c}pX_N~mUvg7A3uJiC%`vmdusP>l=ZS~U)tS* z`S|)aHryU6i)|(>im_jhtm7)zW8Fs#4GhF?!f=NDU%sq;Ty4qkPLlOJ>gI58qdoFN zxl@(fKMv{{UytkR>Sl0*7qzwP1a_?d_vP(e2w7FjkXB2sC{-c*S(U# zS(gyb1raGa(h^!Db1I}CZzowBcK5DLThu{Y>AE%?ZN+l{mksHQpd8_oSoQp7qJF3% ziu3F_ElDi{DyIgRGvX<`$8y9&FbbpGg%vLK)HdR7 zmWZN&+}bvB_sU8l)j>Jkcx``gcliofQu5+`cZ}8NXy!r6gQU&VOkoCLoMJPD+gSKM z8f~4U-LNmzL@p%64iu9p!r<(Fo5pj!|e(Lh$(NoBz zVTD5PDv6k>Ef$OQXU88^^rPe@NL733P?2dqi{X2F4gB$3zQcq{Tk*Ah`50`g%+1V< zq+8M-4MtTopu zljGy#2h1Nocr<>&63WV8stNpqgM~ep`33^ZbGBxcXWSnA2UzsQBLDyZ literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_l.png b/app/src/main/assets/keyboard_themes/default_darkness/key_l.png new file mode 100644 index 0000000000000000000000000000000000000000..82ab615df293f06a46c4596090e34c2ab01f7ff8 GIT binary patch literal 1939 zcmY+Fc~sL^7RO)m3y~!ekR7VTh{7mBL?nO$zoZdlY7=Bo*$EUu5djqi0)Zb?Bo6^7TaWzOD7%Bmyuepk5cvqt&zl~)TzzR&K93y$TyOsgFd&8>FtaWXzZkNHDva25O=nU zw=i)1Z>6LWIe#Wyr%e+zd*BnFQws|f7Pk#PE;*VUSY)Rx7Vh1zjl{I4utun(mu6le zRIZFWvup+OCliSCwfWH!u|{s{qv0Nvqsn?ldOlr#bu1L#*O+v|z743V44?jObUFt8`*XU?w}a=hGhR;m<6V|oC}fh{hP*zRO+v%+)q(CR70Syc#aRRT zdd)8(=KUn-S6xt@d@&)%15^%|8zaHi5Fbs7d){|Add23$3Bp5g@^eOMz~T?(+TnUY z5BV@ur3MG0R3l%~dyD76CoiF zB1R@BCd{%s?xr;jY$Dm)TWD@MQ0zN)ygcyL%*;+;<^TbYz<@Bs+c^hyGif^G*&c`l zaZw?-3QPq?Ec+aD2mEO=pbeb_w!oMWf;a;<@NIMt2L^~ngUUN}4C*B3XMS2(&nhrFhsO=DhH+! zmeB2nU%+C$`?1)HR52V$u+uW(;9IaE(6cWow`$$`|4`sRqgu~g@F!{0gXF14*_t1 zCABzIJpbOej2Jve3N8{+wtyAE;)g0Yb#}ih87B#s}o-b`uh)@n~r4# zGnq`>W@cu_;9!7{pI>gAlarI6JgENTg}Au4?a188;krcg0%!KT9wI+p=6~13(C`M2 zw`26wGi|tY*JBVX2#?2W zbiP>Z>N-*hQ{S(TcNqBi_;gLpmw3$_v&(&x4TN2TgNh~x@}O93(cIiz?QCX?w`=Y$ zNl8fX;j`sDwfK7-Ev8q>#*Q=_k4$a=CS9@D_Mn*+-9&?R}#Bw$sdeq~_BCx)_kZPr2e<@QfO+WC8>K+~^!Fg=O9o6v~w0}UdP<^Z|y(SSoIX*r= z-eIX1-jc5FSl7OAq$a^PhW*r2+D*n%DlWvtkOKd*JQIlCIjl8g{s3B6Z4Ceb literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_l_up.png b/app/src/main/assets/keyboard_themes/default_darkness/key_l_up.png new file mode 100644 index 0000000000000000000000000000000000000000..d69311fa78a412c8be1dfa95d2fae0970a80f761 GIT binary patch literal 2143 zcmeGeXH?Vo_LqOy1`H4)LnK8-K+zNw*$JZ}VkHGBP(k2`U>LFm5n~9hN?B5*3L#Mt zq}8B+2^>cL)KjZa)?*5!gdG#Z3K|FmUQR#t^ZWch+;PsG=ZxCmnu-F4BF#h!f=KrDbOWsJ-5&u^Gw||oJ)3@BOz(=uoWtCber31&KKPqItbpa8o4DVpEp10SYKRw@G?_o|xfPKi+6ZLagl+re_mht!)DX1Lqj zt6CI!%>Qvec_W_Vb%mbF{8-ierKWyZCLCb-=}lE4t<-2P+6LN%gemD>Q`+KEcU1rr zXPQ3i5fS9EHP(CeFv>l%I-123jI1VVKg4La)Qel7Ano9A7ruG!zUfNKz@sqoT*S{=Uu5kaFC{}}Q)qJ_;U$toZ70cv0vu^9O)YKFH>mtqVYQY#M-m%Ghu+3MKdg`HV zc2rcI#B09^M$hwD0k&UaE4td3#34E|Bb zvmx%iCEUJDQR#i!a|zOdXF=LoyEBqj zcjf#M>%w4|BNYaO*YOi=ivG}bT1Ni!8!>6s^ShK7GTGt~lG;xU2pGOFA3X8YyCiT& z<-qph1h=z3s;402tD^U1f6XS{vIdusNTigW?8oErk|uvwE;I49%w~|og*RlYHJh93 zy3qLhc}d!GxGuFLh%e}?uy%6#RPAfgl|d$ZwPmi?%?c(UVle7&72~zPGH}lO_>W9P zTZv;%G7bXG&~Ra5;i&O_4%cNV89y)Kiz)>qt&*Obk* zMEm49R19=siC>maHsNGWe{YV>nGfYsT7!3i&AWr`=J)pOGkSve_!d_6j3rT3ov~Q# zeOj%Pz_;e8d}X%tp%BIH0`FC_v$IP-6IYCdP#HG;*309r)MfKkyf}b8^N2h2?1nlq zc&Ac#)3xF(ya^h8vlWT>=}(@szDekuzt&~%zTs6=L9BkQ4n(usnG2N09pU|ZKa(4$N z#jayHZ_r6UPik0IBGvz6K*J z_+3%+2#d%*Ybp1$EUtTD$VeHq1%vg!E5@ss#bQmG-;+HtH%#n)d}*ftExnzMGqvmZ nZbWg1DRFUD!>o_R?lP0w`}Q+uIn%oo9|Q3E=8Ol+EsXYG8sX^I literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_lt.png b/app/src/main/assets/keyboard_themes/default_darkness/key_lt.png new file mode 100644 index 0000000000000000000000000000000000000000..d211bcae7b92a39a1b0521d491112e18190e5da7 GIT binary patch literal 2367 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 ARR910 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_minus.png b/app/src/main/assets/keyboard_themes/default_darkness/key_minus.png new file mode 100644 index 0000000000000000000000000000000000000000..6abe1687310555eb015d2f518dc9bda06404c0fb GIT binary patch literal 2081 zcmds%`#02k7so$iFmfA8ZsS&tOE@8N6lR7*gb{w;W;+U$;RtdXkje7%8E_ zaXB3t44o)CV>-^b6o$lT+;bbDIkVRD{0Yxb&kuX=wO(tlz29rE_u4tGF7{I5%HjY3 zDTi~mZh{I4qDo9ukp1A=3xWds#m(LZ)H77R0D$=DU~7$!_gyMxyWqX#dPmSkJsO26 zp*7Ul#_+!+3b=>l$}4!nnGzp_oD-N5*AHoC)R|o~cNVTSO+~{t4piYZoN1xTj~>+8 zN|?Cmr4S#v5C4nwPBJ^uPV@#fQiu5VcSh;@E%wS{^H#ZW3-VR$graPjPGx>`%0f;y zd!|d#a0PoWo5z-veVsG^!kJucIXJWJ8~V^KpFx~-v?U*u<-azMM?B4$FZ#12yb`Z? zTT}zJw;48{R1`={K*VdWX3u8@SnG;|k=Ro_(&ENN86VCpVEOCc(tHG{2xV2iW&GKkZq<#al&XRtRHsG!+<*hR zE+a8bBJ<941c>6%>avaurvA<${Mgp?6<~*S4A*?*W;fx3Krmo?>8kN&ZWgpH`k}|( z`Z%BsWNDFkd+^k~32U7$F+iVa(A-oh91KpC0nc|>#@I62c|{@m?jFz4OF?+3oYVSf zaf8f!q8i#P-C_hrH-`pZofU<)ciRwjCI{*RP7&XS^SZviW^(AJaC!-bcde*%)q716 zPM6Y1?x;Hi{Q#d@_*~d3t(Ef4)46&Ut8$4Gh%ud3lpMo-9Jfn46!=&CNwb z*GH3u!Tl*CpxfONt)8Y-VVY$OzdwZvh7LOEZy&LQZ)|Nn*fs6uAd$$&2y>b08~2(l zH0ESoZ&qiN10W_f>?sc#V;w_OfsFEVssZp{xX(NdG)#ZK`#B*p%PUpe!{ChX{muq?Kzeyjkh}*RPVdr>*r0Vbw&R$GTdqXG{v8Z z)0Uqi+90^7;x|dV6Wcji$T{v|u9x9X(0WbP8VwcqX$`}ui#tPsU1jr)BJAw?A_n(Q ze!PvwD!|?sKaTk}Vd5VAx$jrXlc2xK$XyKsu-Q;tY1mU@ul8VG-gp=;Jk064l|nUM z@5#8l>Q}-(J9-Nqoi}vN&fY!{?ZIGRXt?v|9aN=ty~h5INh>Cit6Ew8qOW|T)bBb{ zUj)eC#o5Jgd*Sg;+c9yiB0v(!<{FWd{CFJM9}O%YtfU2GPEU~6YE}lyj~fciVeERN zD#x{1p;r#?3peXu>b8y9U`wKW*BA%U7)-3 zAB}q7wk0ux=l3TjeBjTG5YUphKY@^=Hcl>>g`!VJnsqtH#%>bgQq;huX8LF>`5D>o zvHIOJPK|SsA>zWbllvB6^rGx|@vJZ8r*lwZgZG}Mq9dnwprkYGn~9ZQjL)0a=`l_J zmkNq^uI%+&^t!H!yf4ss3xqa=8x*Ye-bE%a$gzgiB#xJ&FnwW{=a-jBD+jPf5`rV@ z%s3G<#}%V-kUEK`CS!Y4Hh~jk5W?%3E?|#++#j>0q^X+Fx11U$kQpmC{O+DJ2rx6R zQi)paBe4)KliD;dudm!38x(KU)%Lv`}dm$}EE>~IiqIWd_#fBH2_#&xxcvo2SrH)P!7@iZP^u&fF8kSLMb#%ug0$1F68~zS z15N>z#5<-1cQw~nIdw1er^9oaM=`w}X)7fOmU>%=5h{`NDM;6W7_3{c!+QA6sfNPw aW%2)z72=w?gnIc)TBpEk7T1-8N zl5IqnTw8-M45J;v={)ED1J4i7d7sbcea`E=-|yG!e9n2l&WGw?XCcTh$qxX4 zpp~VWBQKMArwq==yM3WbbG!tJbF?r4UiKWD0RVmlD>GwfqR)c2O^B$6Xk(D4EzbB* zi%{C_rwURTuw><}QEntU{@o|8qrY|Z$rF)>!hVe$9N}sd7QeJ@yCri|f_Xvs6YVLo z1?Ht}RUQ`m;JIzNlQ(;C@Rif6@oOkO1@9$x;^MW^CV#Go)k&{Te zgn`_3QRfy+h1+BT8WfCt5?;|n0UWN)V3e#gcbN6(k)6WI=$4p=b2TPTB9I1;g96Gc zvCoQ0GOtZazUuTLOX(*d;iHRUS@oiq2WhrrOId=abnnKgcU3unM3n>2FJ6z0FQ5Pf zO$fY*=M9dy(?M6pd~c-UIi8B%C`(|pR&MRy#t1VR&}#9kJ9h`pK{UBlY|l^|rV&~# zgb;WCi~Li=L;lB_b$MJ=)T?mT>t_L7i(_?|X40Ocbbn8eo$h6>14qY*w0rNc zkhJof(hJZK7ZA1kSH8O2+6^Mno$v6GJ>4;L|1%T4_fNV7F0g7Sd*g3oOmU$116LUE zv^`TMU*x!*bKB;|!syEWUSiNzYQ}^rsLj+}fCJO51X;pFchTAVxnNg9y3_#nR7ZLL ze5#Bm+HYrLA$Icpt$*d;bSk&AvbVSAyxm-y$j?{z)sBtTexk0100L#C$xCsV zUa!SYmXAI#fpf((@jq$mppV7ci)OZtyGlQah5y6lOsXjXvqVMCT-&K=CyF491scDTWKqVB5Jh*d6>Q7!XW8 zMbcF*NGS*Cqzyj)4UNmxQK`;`Iq=b?rE-9THmkz>3S^Ctb#4Ky4`bI^p#aG>eqqtB zK$ebiBq$O?V`+beq>>V7rf zi<|3I4QM})=j?1Q1r+OFW3n5r#W@}R=JyfD;VpH5)VZtSv73wR7difDdWaGjHQrEI zm5`9&Bc&5fdr=6Ds|b|E>g((K2UU->v)OEmr_gNST!P1GU0oFn29xX>96U{5pBoyL zl9K9{Ec&VdP~w-yKTh|SNTF!)A8w05c}mxWWlDYN z`cJnlcXU?PS7kT*VMG(V&tUrd+v&eC?!enZPS}keI-zRh@I4NroF* z;^Y-lVQ_uBO%ySz(CyL~_{lAfZ+U{dfW8Ssp2{G@b+OvH>>3ddc%MhW3U6oj(!}rP-x3norvLx| literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_n.png b/app/src/main/assets/keyboard_themes/default_darkness/key_n.png new file mode 100644 index 0000000000000000000000000000000000000000..417582f61f04fb1cb1b6b3e7f5fb16662e8bce8d GIT binary patch literal 2387 zcmajhdo+|=9|!O~7mRYBaZnmlM2XUk<1%L44mxPuLJ_@DQSP^j%;OT3qjKIx7cs77 zjHak)rZPk2HZheWWQx;qnRrpILo?<)PVajEegD|cUhBK|-oO1@>-ns;FH$_5mDj9W z0{~EVb#e59X9yk@7`j53^nCq%rLvpryS>3#t~QQ6he&gb;u$)X?^+)3?LdV3yj zjWMQ!uv})}yT{;S#^ogMWTU6dLfj5)*Xi|+PH%jNbgTHbUG71nY$kILM}%t6Jn1yI z(J4{=k-gS=mUXMlOn-v&wCm@I@kW76F5qqQ@iD24I{Qp8`}~7Ht{MZ7*2aDGxu6Am zsSFUvX_Oe89DMR2$K~==jWL$L+;&a=+BL|K0doyv);X1U9NEL{D);soAXXgwb!ut! z=jr=s%cgY6%Li(}OfQJ2GKqwKXR^Y|Yj}kprRuYN*HpkDQaY z%D6|+0trk0Gdk1U2C~pv)UpE)o-HRnDSp_|zeNr3ZUt{Zz02Ev1b}79vr6XL47=7? zD-)9BZsNTn=DcPf0`$#y^Bs%;nX6|Ba%|;vK@4>?V7G8)=u`=*NHXYCpmc(G(6jJR$tP;H>VHt8V~`~jB@2)@UZevxuz>LS zaSam`?SI#x6roNDpLmW>OjNR1UEiC;^Ap!4;%^S`zC2otSgwiym-R@8-_UbZ^?sU< zT%7v&yPIJpgW(FujBg`+tuu>LMK)=YK7Z}%bImp0 zEhy}ukC_HEJ0?gewb6FIf~R4PJYHuny#ml8PqN-3N?R^H9|W@F!rmL4!kTddQ6UKA zDOE!yeZ-Tb$y>)M>`qlB1+-WRTaSXHGqZQJrUbVwABJje1t@fn?QiIzrc8x*@82KT z!*@PLva%X?x>zDanYrMSCqIllPo8*xZ|&J!!B*c`lhcrXz`b5;=#wiP($!GjeT-)~U+C*TvZmU0F1#`Dg4|1=RIkmH&(BJg; z2gIm!@YB=N>&_k6tQu+pmMpS9U%GUtjYuTQsd`VHz%B-sKO1xb9nWPBlmtvlN{S*G z$0;})RXc_#C^L6<{@Q$gEjonZo)?#jRCBu59G@pdY9pF6?SOs6D^o%Rg?78el+gI$ zH?VPUC>pcXXY<{i$d`VF>V%4HI6GfGyyq849I+dj^~Y5>TV0M(3y%B+y1H%`G7DGz zd$%^?GqV$;=H&oq_P%lJ^vS7@brALuZE#k#&*Lci!hLgnvWqgDt?_LS{|$WWIflkC zHo{q{v1Ok6|1a*Bh`zv0#ixTU$07J%9`I$QkB{s|R@Ku7wabKQFaR-a=YLhD#aI1< zX2`F#dX+%LcbGuK4+06R1R7*8f$u*gRGEa5+h)VRrSFy z$0sKfu@|%AbP~3c{@s3|r@Q+v)}aQEyT}f|ylC5ou43XuRNn(THqPq0O!_^!)}zR3 zBx<1EeRYBKOSe(&+7$>wxT>4(2SF+vU1*`_Rty6 zlP6DF&w`*m72V-Fcs%~Wty{O2Euuf2vM@Iv_aZMv3^tzIMki5|0Iz-T$@jwO$VeK8 zV>MDI^0ytA8SO7_8y*gAcpN?0IC;_W^HB$f%s+a2Cn)44V^XS^Aa*s-SZ{J7-KGRC zUgXJ3-Ic+F`%${%#ZXa&va_>UzRUw3Ke6NQ4&}TEl*?caCVp(Jt=-v*0s~}s_fCC& zUA>-VToxNDU6Dzayo-q`**)$C8W%U{>+56jKszrlufdc*UVZN#%^^qS2-VC-zKCxx zqAt%dBrDSO$iRJ-Ue~|zO#s_7r2CHhJE5?~d#i&V(cIh+ZmckVUVz~3m*0`0BI!!y z>1t4B%crNW^fRe=uyWw5Ivb?5x|b1C7H*VhHPg_pbnaZfk8vWwFT3BAATA%&I=yw% zC*?BJL-lQ+o~PWz`smp7&8jcN@_Y5LH{C{gg%;5*zak-OnYD;BB@Nl6;V_I&jj6EO z!pp?Jc=5und8{bGyl^rNmRcmye4PuLvO;%R7OJAD4u_%0bj{`tG@?cStwWz+gI#B^ zs3sRVG={1V3y`v-vz8!;P@{_pv6-4`I?a8}C$cSFgGCrMx4EZTP)L`9K0qw0P^$Zf=@%{AMsutjMq9I6FHl>?;at$6URxy~${ccnA{$Fm38F&asmp9@m|nkBHI? z`;1iFz>0fTR;cje+d*E!G&ZPr1HHI-s%^h`Q#4{J`s*yxnzZg(c#(~pn_P&*O_6FO znmKP7ScSQoQc_S*Fb}tX|7O}QJ4|_u+$is~y3Xz5;zr%kY5}pb4WOgtG2Y(ZK?Pw_ z%h^9CHT{i9|7t{L_McjypE9@B?hy}Ba^(pmV>b_v;u;1cJSiyo=>*5LAZ%m!aCgf{ tQ|`hFoSYC!V^4;6=%CY~J!?!!NNFUI zEJLCANM)xi>DVG9YdEh?-*tU|e(!ZX?{i)E?|0w7<+-l=ytS1v0WXOM01!+~3~iAc zM$R36Eb{k6D@`I76l`mJ7!UIsc55ThKPc4KE)SfBXa$F zn+YW`wq~7eS$XE|n9XmlGpdCVVxM&*92Q6R_T=m&&vFiHm@BEuONxHf*MNv-)U*## zjnf)w7O&g?W4~yz!V;_#GPMk?T3ie1IP1_sHr^%L6}p&c@-Q(I?@^Y>AD!TIqd`|= zr~FbH>GBDY<-k|36|zQ$!UXADQaxaj8#fUeN(-|HC>fz>^q^$T!#N<>z8bGxPyz=W@n@qrVace@Pk zYmA+d9sc9bTvbpsDV+EcjScB=>j{c!^gZ43wKCy)q@xJTcv;gEbhp@`Gy;$)G-X$L z=(Ky6*yU%XZs$W?JJI`dhGQRr@}diL;&YmLqz;_QxYM5L05H&iTI=$-4ULQ0Tl?lM zk1GvGa)pt*#=r6&kDfVup~VFPan2R-;lkv5O7>h zoy+yuh-G&llBml-fy&j;e2?Eh%_);myi89SH1(WA9SPk38f@;g6_b-SdXpJD6yumO z^;m0$=K**QdR00?C~$vK0n2zZ3K4e8jI93yyU&dbY-N_{lpf7R3TG*7^3n(wYO?L6^484s%hRxj0wc&>edn6y*?8Yk7 zMC?zha*>VzdN#nmfDgDm>}|UB0MY5T?&2i5Ks-^nfMe^Ic=DqW@!HQUG2lk7W%MKS zac>prOML^dHx7#(X)mxV&W*?L=sHpk6MUen!Jg~iRpe}IfMOW9$7xAIlvYGnBGD(u zOaTn8FgJ7KE3hYj!2@+RL80&2Pi_EUT#@Wt34s2U*8&=rgyLtun}7!CwUL-B=(ZvV zz=TjjFIND5WzVSaHvvK~N^I(tz!hBu~pZhTbp%0|qiSMQwSv#x9QUG?i zCw~hLj5(E}6+6Oy$|MScs}6N$$UvI~u9pM)09X6muebAU$AQ4VT`*BdQ%1UBRzE83 zI0Ysw|4WvFH8fvzGVN7Tey-6J1>UuDm!w`Hdq$cx!NV?g$Py@7NvftOYjZyn5RmWR zW^@H`4lOy_x|O*2B@SL55cQ)lavZK;d5W4Z-Zfm5(^CRTfBMfYdvC7eSb_FL``#M0 zZo{L`54Hf{UbqmTpF2$k229I)nn?QvlzST(-j65-xZg*j2lny9x5|||(h0DspR*qh z(y-~|T9rWb{e`-&bRblJKhH%Cz|l@;pK!XhlEF7+nb|Z)2q`aQNdYPt&JE$ngn4b=eBJA8yVZY;z)kcbbA zM7*K&ZG-%rqbw}Dsbl94ZV;9qF&}YG8kD?AAm#rL!523;(NP$!bk$}Wd-LznpaV>G z&+5;CA1aUL;jXzRZNv_{m7lI1s0b|#avJ+(qpvJ*IP*|=>p<1nGAp8T*~+`TBg2`x zXTug|hMv1#TRoh+jBwL}S5{X&W%QyeopN#4q;$2kw5CGB!}Z1|Cl9q~)3*{zN=m3S z8f_Rct^W7LUI~329l6curU$IW>6=mO-+RyiEu|G8F+Dj+j)LUPS9Ia;8$BgHR6RYt z5$S^=zDJaxiv3KlH2_gfn^q z7Q{d7LR;(L0}#temOgO%ot;W)q@SNzb@W=r@U$mHCkd_d9h}LUrAM03TQ7!gaCQx> z6$1Xdu@@8hW@IxAal+Cj7k7%fY{9bF<77n8w^-^%9z2s$TftKkQ3)VT^*^-}meqNg z%1Ek>J0SO*_9QBfn$r9!xtg^aRv{0T6dZA^0Xbncc@0AgUYvq|97=j#LQal|u0EXi zb@_YSWY>wLtjW+87_?YwsZLh+#D-(4F@>@4#Txgp&Z~vkc|*N*0VT12+U+|$0_J4|~_mjmm z`fqz9=rqrYiDWWoEl%*9zKU9}uqo=N&5hCKVUN4!ckAR-MtTx&-7O-!=l5C*na>afOK5| literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_o.png b/app/src/main/assets/keyboard_themes/default_darkness/key_o.png new file mode 100644 index 0000000000000000000000000000000000000000..c3d23311f38259859a3bd0c12e514332e0c06c1d GIT binary patch literal 2799 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_o_up.png b/app/src/main/assets/keyboard_themes/default_darkness/key_o_up.png new file mode 100644 index 0000000000000000000000000000000000000000..47d8d1af12c35aca74880e0c6a94da7669775ea4 GIT binary patch literal 3046 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 T;c#^KaR(MBZ3vYnl&Jp!<@AfF literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_p.png b/app/src/main/assets/keyboard_themes/default_darkness/key_p.png new file mode 100644 index 0000000000000000000000000000000000000000..63f767617c8dceec7ec70a04afe8e63a7391dccd GIT binary patch literal 2802 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 G7XL32%klyM literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_p_up.png b/app/src/main/assets/keyboard_themes/default_darkness/key_p_up.png new file mode 100644 index 0000000000000000000000000000000000000000..f5a81713cc57e9f7b8bdabd6bf0b7b4d5d49a7ae GIT binary patch literal 2532 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_percent.png b/app/src/main/assets/keyboard_themes/default_darkness/key_percent.png new file mode 100644 index 0000000000000000000000000000000000000000..a8fc219246c9c5561a3e8654d2e60568207409fd GIT binary patch literal 3129 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 p7^|LeR`o2Z@<#i~)F;PPwq)L0^umRed|I?dBo zs+d*{rAFykD#2h>+el4CS|Y8-cI~@ZZ|1r8hx;Gg=bqPd&iUcI&vSlzKPQvs>4sL& zQUCy;kGs2g%Q{n*zaaO>DjjY(C2LTux0@5FdZ#l908;a~i{rNm!808GC7(dGPGP-D zAniFzg3B{5dGAo~jS;j)r2G`fvAtB`oR*Xf8nTon4e+v$b}`|z*Z~$?S1tByUll>g zQ+Vqh9ixc*v74h0eex~(3q!Bmuj8T(io-b5b^UXd+cR~_{l~Gc7zCMMrcdB@RNEax zaN7@e@!cNb3G3aNe>P`qHK~qY*`K~X%W$S)(r@$eJ`P2NdGdiV&k93WXBvnZn{X=-Q;b?G2&&jD1s_U-g12f&x69SA!d z?jN{g8=e*$vfqhRX~#fPF^KO8F>KbXTk+rzyE&JlEK%*{D`E9S5Z%pfnLIOc*4eWso5^jIEN!o8gjR z9#JKy_xHm=x0_#XdoW_G-PGQH^0YcoOIbAw?kY7VKUa{QpZLTLnY31h65*xY-ZXj8 zm^`?6kDn@XEYv;q#X}Q_w;AVOwe@^3&I3F$_ZsR?{l**eU}9;>T}VPcX*bo0i>b_u3v(7W}yG-$^Fr#B7&0$(Iv z!7^bWV{4fc%(nXp!Mlnk+-yr1u!0kIgFyg*Ey+? za5CQk!h>me!ha-Iz5fGA!ZU~%+-$VDHdjrMe5mk?nG=(*KAqQM_OMAkpWAN=LDc4I z1We+LKr+V(c>n{55M>VL5B;0p73Wt;=~40$Rh|L!Bw)*?>OrIzERpHM1fAL~1po&Ab1TvU>El`$Gx9f<|+k3goha924ykSApwm2D&;CWlAw_w1r zUXyzma8mT`x)V@ytUd1pOhSD=D?&8H+kAQG`5lim5`wB?ankVrZXvrVX7t3J?(=F- zEH17g)v}L8vxz}j@zVo>*_NoCETn|QX;@fTc-qty7~)wFpUW%rD*A)tkV-ikC80KL zwn+~Y=2vF|qc89u2H7yS);-h69v|&t{2~X^?*)gvD7GmZ%d`iZZIg!yrsn46a~qqR zIFzz-E^V(7VW87cQBl#%&h9}R91efEIxWI3udLM7*cB#zL^dZ&y~VGRG+@k{h)?xH zI6b}7+tAnx`WyaB3T$B4A$gs)PebF-P|f#UiDviSJP?b6MK7NTxbz9I!AJx{z-td*MyIMx+d4t;>=c11m@pJD&6EicMf!{)VhMaFI$un%GUGWW@ zrACcMt*tfgLOioxfnb4WD~ug`qj?D`mF_N%X4^Bi_KVeJ=UUGY{fyvDflzo&XlpGH ziM}fHSW z|F|_j2$S9F;J8=pqdaf`N@6T;kJKctRYUk-1u<1oLRQMm(Xl;uNL4Q}Kci(}jwS1C2xv{}6ER_t%`Fk#_K$5tbd-~_t2 zN+uYKj!5Tl7{%tjo|?olS0oa-%>R5S$oOZ&B65w$h8F@d9#J2%*Vn0z%Mae^G|C!dv)OK!<>>!3c+`*YmvfA; z49_oWe&gi|GU=i=FN2^KSE7(6_q4fJ7Vpm0taqJoxQDk;{fu5msgekNJv}|vS`AZ& z%kF3~|JaW=Ida6qW}HEnF8%{OUqG+1g7rQ2o}BY8x8PVUbU&84+Uc~8j*gm~oSasp zti%!{t(bR?7K;~0#?A&}R0c;e@wO`Wz6%I=eX$_e_VF(8IaU6lN*CK8`xwCSW1cQm IPG?#F0_bA6^8f$< literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_pound.png b/app/src/main/assets/keyboard_themes/default_darkness/key_pound.png new file mode 100644 index 0000000000000000000000000000000000000000..f5ff444cc93c618a6f288fa8f3745d0ad9cd3930 GIT binary patch literal 2687 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_quote_d.png b/app/src/main/assets/keyboard_themes/default_darkness/key_quote_d.png new file mode 100644 index 0000000000000000000000000000000000000000..2300064675210229044359e5025170defd0d16e9 GIT binary patch literal 2300 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_r_up.png b/app/src/main/assets/keyboard_themes/default_darkness/key_r_up.png new file mode 100644 index 0000000000000000000000000000000000000000..0ce70c5750bec840f7c01d2caff866129f3b42c2 GIT binary patch literal 2679 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 MyrG#vDZwS?Z{MiABLDyZ literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_revoke.png b/app/src/main/assets/keyboard_themes/default_darkness/key_revoke.png new file mode 100644 index 0000000000000000000000000000000000000000..ec909d2d15ec9517a4a60cff0186ed8219a9661e GIT binary patch literal 6735 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 YoaW42Ti)-4KSTg6HGS1;m~F)W1B~3gm;e9( literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_s.png b/app/src/main/assets/keyboard_themes/default_darkness/key_s.png new file mode 100644 index 0000000000000000000000000000000000000000..b582163fa59749223b3722a9bf3a3732a585935f GIT binary patch literal 2711 zcmc&$`8yQ)9{$e448@Gmu_Y#?{3v)dp;RF$O9c~j{fXs%^9Qs(alGi#l%%LdA@vxc1Qz{cg+ayE-T<=)B z*UYrxr`Yy0EZrepje)YVxGTorv$Kl!%8QGOZ{?j6IyvxbRK~9B>iYdj9M{#M(|&2`?uZ$omJl1})3FleuCV3p&K!2Q^V|ba$2GR| zJku?lZ=$dm9D(Eb5=(;9uMMGhljKJnNBpZ}&Z5Gxxa45%GCvQPX^A+zPI1*got61{hAc73%a%#i^_TES`oQNQ9Dy z-dhn)AKz5o^zV!qGk^0DivdILAIu(Jw3wWPOu>!s{LK@j=d9MI>*S>Ts8eba5%`WE6gw*iJXsh2K_FL6nNLcrUjWaX>2&D~t(cTyB-g=`()sScN^a{&q z;T9PI?ib}$>u~`1y8QrVs?`k>1yU|Jzc@8FpTBRCr9dwC2$A(kTwWpt0u<>%5q*}x z3();uEqPQr3LOBS1dV{Eb7TUDThIVVkP4USq)!2p4vk{aG%X3>pb(b%U&d=eqXXac z^M8!g|22H(pV6%8um>ysd?s7&rCYzQ4f{yjuknFwn;Y0>)G14VQ(=2hk#Odf{UY?B~)j5W6xvi;d+e z$|y7}4OLa<$R&ZXuZ8Cw?rnLn$toX07apEgn;qy$_BE{81QN6 zwM|Ykd~BE%Hey=(>X3d!dPGEosrNW+TL7HH*qWRCD7d913SxKfN@~oPIeTn$W9XL3 z#ydMZ=dwapM)Xfr@_fz6LilPKkXpIDu_FEh(sR%PU{wu>t|IPC<>r7(h7# z^HO+YqY;&|KH&eYjlq@x43{z)CtP%sW}q(DPW93oL10q6EC?0Eqo2Vi&R8)KcqI(s zo`hnOth*)@AQLMh`{j~@1(~EENlWo#J3$QL7Jz051KXqQ<;&WwO;{Q;@vocOWLe<; zCYA0^p~S|;#l5@2z6ylh@weq|NoTCc(g}^J$yR`2tA-OI3GFZP-hV+x29lcuy^%)L zLBIWSY_EGXMGN4_msD~KNL4*1st`tmFs=|TQW+f;71egEe6j+v2=ED# z+Ix*nSTnUAbNzsa%?Xp!UGn`9TXQU)u4tt#k5`ZKh9+j6EaLdQn3m9;-|mN?XY_LC z#r3AUB*toLva~1&{Ii`%0`Q+`)<-dJ%A=m7pYbg4l!tY<4hWAw+;46 zh=Y<7yB-jre(S@5zOOep6#^j6y*dt|Q#`PqqDx$;5o?yAPeF^I>i8Y&k8Ru> zsPL|3+z;t-rT!Abs)naVD($}s6Q$2`apB`wvOJ_w@Q6G+Sq{T8x7oq_BU5?|WwV7v zc^(JA9Zj+);=D0#q18LuP~y(C2UhRs=X-xbQnNRzUAy~{Y%5cTTX5jeePZq?&=j-p z-4DU{23u|k0n1pDwlT2%DVs)v0`bERooGPPZ_UpEY=WtS)<1CKM<%naUfLJ!yv%8l zYnu+D{M^`JE%cT5_3y6^bwG{Hc^6kz^_7;FJJ!Z=dir6bb+?Z!Otq&i|5_T-K4l!> z+6&7uxUI0z|HiY2{~4pX5n^+%%Mq9BY5Ja(RaNzRRBm8#omX2{aRiw{p?vw1@<+bHPY}##X3{A}LiGWBIF2e;FdZu0N&eo^ux#ubweVKV` z@UYVh6+6tt3Bc<)3s8-Owju1`+bjE)hFOk5(9W@jXDQ4SHMjcCsi11u^^uQ{RfWK= zSg%oEC?W=>aDrfsMG!f;0HJR}B*w&cv*xGgzg!(1 z`zC4vVisyjA6_}^lit(PPS!OhNKKnA@|znaARxfffwQW%g9!ifZc5QvyNTa4f!R50 KLfKhz^nU=K+|gD5 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_s_up.png b/app/src/main/assets/keyboard_themes/default_darkness/key_s_up.png new file mode 100644 index 0000000000000000000000000000000000000000..495bb9b27852819c1e616af2b80ebc0fe3b36e98 GIT binary patch literal 3007 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_semicolon.png b/app/src/main/assets/keyboard_themes/default_darkness/key_semicolon.png new file mode 100644 index 0000000000000000000000000000000000000000..2be938ce0c3db408069e771fc5ced1910df16978 GIT binary patch literal 2247 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 BpT7VA literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_slash.png b/app/src/main/assets/keyboard_themes/default_darkness/key_slash.png new file mode 100644 index 0000000000000000000000000000000000000000..13c3dbebd9f59350e2ee764f944f901b04fe12e6 GIT binary patch literal 2287 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 h+j`?io{VomWOYgm*q9e#ZJV)y(bIe*x4b;4c6G literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_symbols_123.png b/app/src/main/assets/keyboard_themes/default_darkness/key_symbols_123.png new file mode 100644 index 0000000000000000000000000000000000000000..94ea077c3f97bc8fcf80d92465e489f98a7e736d GIT binary patch literal 3492 zcmds4`9IX%7yrzdL4%C!ON^bFvE-2@(U`_wBeIn}9+4&4vt)P_9*OJ~W`yk9BaNl8 zjU`D)p|M6t3^EUm{X5@3;`__@yk6&?*Xy41df$7`d7XRTH~AXgga;-D0|0=>%oJzM zvLu$4aI&*TxQo0V%YcHdO|U@iM~PKdkc%14&?dr#USR2W#Z|n2_!-{FrlijFyhC~R z$g;oovEN(4R8zg)yNN><^+y%*LJn>fetfe$Vdjnvi2aTAf3GGw_{hr0Gp{N=4fEQl zn;V#J4-eQZI0#>!zA%^hPLobq(Oo%+Ue+Dn3szIUrF5`MpPFQeaso5gU4-c;g!Mzm z_PNE`D%l}!ix}h0byZ9Akpi$2$2WdoM@B}jsorVxoP+_+$n2l^QtJ~TY)E2F;%^ln zXdgEK<4LpP0fpn5fA?Sa@_hW+Tf%=Q_=F(+pH}}eMiR$$z6o3TeOvt5ldE1 zM+v2rNnLsnUG`kV7Sxlj7t4T}TR^*!ZX$iFqobpSMDFlP+d6-y z5#XgE+L<`RErf(uff*JN*Ncmb{m0Ew!1oeaJIak`jbOpOc`$*4SJLm}3L{e@a^R|p zAVvT!0Baj6iU47ZJ8r)J*ou1Oth~uuN{YH^4ruK2rAH#&Qsd=;mSua(Js&QZKuWL2 zq`WdHZ@{yVVJg^F-U#-Pm6dJ#^FH&a>SLeJ6IfET!JIK*SWda(BtME zLZ$IYZ9B|Vnd47|%=?7o`gV=_6_}t%W=u>>=0)$y5oqKKNfSs91Y+6Ha4jwpmCi;m zrqq0r6jT>P5IhYlz>sSdhnjd`fM5;fBw6qI@?l4CPxg_$pv-2
ARFYRRDO&G$p!>2w|O9@Nbtn`?}1~~M?Qa+ z)AFau(P%Vtq7rka%#zsCpC;8iMZRmK^oNHR&2eAv=d`&&*DqXVYa5WNKiF_W!f^qWS7fBx=Ele*ON;lq{HiSg(U1HOjR zm?z;!`#Y6D-Y&(jID>VXoJZf~a&c@)-ihDF(-KJCVHCYXM=brbim7bc_?y%oa&e6Etgk0ecy^IvA0 zj|-K6Uo~2pvE&?>$zQ^s{Y|K&5{MYz>u{s(5uY>hvaN=-Qy z*c}vjbz-<_CP(lpwD&)Y!UI=FuW-6)uZumO3fvI(#w2|Wn5=0!_`Rw2p6y&Rw!jRX z%m(*$cWE@>yuk%r<&b{L+ZMtn*jb*gV}v=~Wn~-M+>rwq`_zu%5bx8)N>u1{`ojBc zR7$|9OiT6#@g*A0s1tG43`xM#x1T3KR>PZo3;aw5ZZF=kZ;Iq}`+(G|QG7HbeEO3n zdeIH+sb*G4Ak{$BlXCTILmm68ci=y~v{y&dfId#C%I=J(F?!WGd#+6?7FS*#A2NnJ zeUr~wEZjINODe-1s|KcE?{UWgL(^fJywdYqe@#8DK_ns$cWT4z`8q{jhfXD?`f~nD zd-*!7YxvtkkyZ&uL5TXxtS=woec1~N8qO7GFq zl&ro?opOVO&ftj&x&ziVqRU-Q46zQ5kkQi;id=0~{Dxw4Muk~c<5dBtYPAQ59!Uq+d_cd zrjhp7<$LHBh#$Up$yfO&bt>^z} zTL@8ruZW)$P^^Jtq$DfYrGy?F8R&ec+MsiLb{?CdQ-75w0Fj&t(XiqBI{MprpG9Ad zaqHJQKWi?MBS`+;s$a*IxZwU$uC_sUDGs8(T!+^`T{0e3GaNl;IJshVC0P{Y@o1=` z^(LExC9`_7!_c+39Z&U%Qms)7orN)~A50&ViOnnbwJMZaYKE z_Gm(9ZUiU^Mv*CUEymv!U_{;3uNyM}EAU`+q;#ddSXudpD6IE|UtP@+GO|>f;nMwZ zuZ_s*T_bFPWv=}D)1@s2ck%FY`|}>Up*AH4O>hSsDu3toZ{9Y)i{BSF-xi=Z6L_CyC1pQ_0M>l7HYJ$f%A)7jZsZKBR~uHq%=bp;u`IZJtw!Mb~f9UUFp zo^kx-xlD;VS({Khr?0Osr+48(t=9STJk>WEU(NcH^iu_y`#V+4xb!}I=MEd)yBedK%g@Zkmz_u# zv2AyTT$mYBDnBO}`mM?8;f+&pGzt)QSlP|6^h0Bd1EY8e<5qCiRigszQGS-&sN zOR9Dx)J@xo0Z8de421>?HJZP6imf{7Wv#@bK|vSe1R<6Y}}$t0?FP zGn1CF#jk#E29cfJaKGb!-l{Us7{WWKGz7vEUoNQqR4*l;m#X^2DceGoI2=y7&+w{5 z5}2}KCM*i==8}|rDhMm-l)5ggg6zb3L`Kr`1GDy>&_ZdH2S@u)oC!vJBX3C*N{qCW zW^CeHI8~##NJs*@A=gR8u~BQA@_ZlQ1zW)mA2~Qmvg~WL!3G#pINQMrnF5;s7Q)qu zQfqWLxOr}M>nv!9Yp_j@P=6~0f{?k?lfjb~bo9p0mM%iN+(Rv6i_leGYGARQqC43( zsf0KG-B$l!RRlhSj0vti$@1{Y<(*BCf`S0RO`IG80+}I%+RyG(^;fWm-2n#)vRiP! zj-q_w)04&DHl_cF;`B4F!6v0y9LuTUzNA0enjPXAZZ$BaBx+!=!W*{U0Nv_dSeTGv z)rpTtpD|VaLTOgs>n*>D%{Y~DTlkWCgNQKpFgze2;37K2&g_^S;mWy@TO$Q!eY*fN LBRsAa>lXhX>o{oF literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_symbols_more.png b/app/src/main/assets/keyboard_themes/default_darkness/key_symbols_more.png new file mode 100644 index 0000000000000000000000000000000000000000..559882a40268ab702c239758f599f8379c95ed6c GIT binary patch literal 2966 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%0D!E$ z9oAWl1aUu+M2M#^?7+MjAd$|vlYrWz_6-0j4STGOON`HAp~F>0&s_}GNZKK7Hyb|e zNn&yTGn%tr35gaFwN_z%Ief9dy#PstUr_Lp>Va`WzMRfm9R2pe)ob0xFzcDlB<@0$ zOdG;WJN!}XmYmT(X7p#D9P_oLefyu}AFsImqTgw=WG&6^Z5sFC*EO7<7gpr$5vHY^LJ0x! z6Z)GaS8^i%2Uj4)tmc}QqL1*hVk>hnrc0@(3K*Pmudz%gLCIi6af6W zoOEUh7@>uex|ktv(%Hk|aO$o~8EL5anY87TgiJmbn6$a^qLu((=1tz%a!2VaE5$*0 zYNSlZNnjlxwPMVM5r|wK^hc5hC$Fg z>q_y2KoLOcCkTD0T7-c|qB=}A@86tNNOusygz!nQtbDau1Sf!6IX`1q73A&%GQ+xK z`XGQ45dqN@7K9+FhikM)h^viNP0cTjNf>)?yHxhBG4Pg>WfhTy>2p28yj zOBm*ygTtRABl$?%r&_fIaa;dH%1v!;uH`-|-?&LZ6jxTB6$k{<(qz@x0ODxVwabrX zS9u)Wj*gC4=y=Ob5*SnqRk-%fxA{6n=W+#+JN0MIjlTxVEjHOy?@Hy8ipLkD@Y+V8 ze|ckhR)RIOBMjCB_k9z8XyXE1qN^TxBJRiJyO6i_&)BIu!NP{!w(j0(jP?W3m)CK# zZKVT}dx6_Z-Vtw|=MYzuJH{>|2L}iB{o&!^wxo{DweN8f{;S%#-aJn0L4BWBz4qJu z7s;eWru@$28CStHjWo+52V>|jI2?{d)1HxcB44I`iMpMXH$uDdxK{7eI}JDFT{L$c z{n(Kzr~9&zN|o9TOlN)HCR*y#a~GJEL{NqV&%R3T2Jh}P^z~hc6|Upm6I`JXXHkag z@kTR2AX3u>6c3pj8#h+WpfIM>dN+$D=Yf<{56i@AYIu5h1TZr924U%Z z_r!I+4L=R5>9EJ2XogYAST&HjMZW8|Qs!L#1FP9L59#giKUy2XX=#mHT~M$vZC54w zt+Y}%**||aeuWUiiz$?e>_B%WBTFOru)OnDl5l+=tH`or;eNJVK(vLr(;vXEkwzPT zp%*H?{-LiFS7&w07!~9wQ@;IeploTLtqhqnkuT-((z{!Ilchnx}MX8I^VY7L9J}W>c*GxFWEO>YyaI@xi zv{21eywcj`O(038B}j>N3S(+2;50fuwQvOwH3mAnu zNv=piZ{aAZjbzJYqojQ`Bq)~+qXoJjZ?Ka50fE>&*O0_m@OU;c+xdBmWA!C9lPGzw zxo9a!TfIgGfRCBev$LD-hr(c3a$(_0r#>dWzrL!iyu7^5c|5lp{F<^aBstki4T1s? z6DUtRVyyYXaE&jk+CQV&+9vf{m$KKeu$rpIU;t7yi7o^h%^ot{}3Ud`?~`oqw$v(N5}GpPZZ=I^&u^ zJ9`NxAFqtj)6+w_Jy>D%=dB5E$1dqEX&DqbmTlXY4SXGv*2woT1TWoxOH6!IL!nSO zH#tG=oK{aK9-jWv8d4q^zH@W&Qpw32#?E)T^J#0^+i_b;MFn H`X&Djl-@?| literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_u.png b/app/src/main/assets/keyboard_themes/default_darkness/key_u.png new file mode 100644 index 0000000000000000000000000000000000000000..a5ec74e4859eb5228eced78e30010c0515bb4227 GIT binary patch literal 2532 zcmc&$`8(8m8~%L9($Fw^hq8;}Sj)a81|zhhDJ__B2#E;MGR#*FNyTxTnr6mcPS&x$ zgo#0s>?&C*3ciY6dEF{X@_}+IkiQ1L zxJc7o{z-kw$1-l{;}O#-wSsV_%bJ?}Xm{`nL=S8O&%#xh0^4rG553TLTv+0>i0dv66z#8#x5-*GEjYjVNyte7>Y z7_7QfcJNW0j>}Bz^_<(PU2T*4p$|hN239P0Ec|B&v!;TH=+IjJ`lH)2U)p<R5oVkyGtz^eZ*jhS)j$j1W>u4P*1W zhe3>OdeRNeI-~7y_=K8PREEUIC@)4M+0}ABS~YlgSYQFTrY9Vy(UrI1(-AP>I}#0~ zMbi4z6-xBpmbgCs$ci(*a!3)SyYl<$*dLEU=&geG1w)8su zg*+3A!yrXF|G9W0XrQcU)nVo{?;jcFw(_3KjW% zHT=3z5U)K&S$TegA3B6ik%Qfe_8E;H78{(LB*YNK^UVje;=Ns6Z`ak=OLnTNs{Sdu zgKMnalLQ|`ngv3R`nG6WdoaI0_n^wCe_$Yvx4|kNFFE=2No{Qwz-fobUrARxptEbA z4-&=y+_S6kD(AHP?e3SzX2J9%71GLTTEVX8>)2PEEO+5UL&k$Y0x9AX(t^dP5RzxUtWV`7CTa zSTePp^5?)Cb%N&+~f;z61%cq5_D>Q5OqN)z-P@>L|=(-PMpQSt=ULzB&?{$^} zbVmMbs{-xWOk+&%u!$=o-}#;5%e}zF^hlS76fAoxKt2n+cx9;OtPO1O_dSmyB|PY)v#oG;lbaJ}(w; ztR?>YX?wC@3Bc(xDwZfqD=W$hzchvOFm)kdOE}Ywp;D;})v{`~c>3WY`;m9=y8Cku zU`!m3YxyLiHSCcIUM2YZ$qj|F#SF&ffSqpkwt}&|?!c5c3o$okVUdk5S2-geCz|6b z*|&`vrPqU7IZg2x4Cc5j@R2MnEmc4J@YK!a8TS!{6kj+ukhi=vX4ZSz_Q7GUl8Oqw zAA(O42;_m9@-K^vp*9IWtQlyj2W`C#IU!6qe>gSgT;;=VLAYscpz)76>9ky^--FjXhxw;=>HOrH5M)2g7ta(wX>|c-7DJeARe2RQI~PP#gE<} zXzDu2yl$o>4Fo%ylNcP?%?O--Dh)=bzeqyZ&70WTF76^VItJH{<$728$;kH;-6eUG zgM))r9_V$lvoG9(@J3$3h%06|p)WeLZd?-Nd+w58m2C^_soDH?pq+%p%8kg18>`2y z5t$9WJsKYh3oB<(?ADdFxESsbjrCqlbY7G=D}d0%PsP3&G?y>al!fI=Xab<_g2G(<+_NAq;h6`uOy&BALiP>&v!&5|SdY>SxFX(oU#V2$T z3hRIRktkrrrKO=Uz6~Q+KkD?d0=xF7H V8HK19Euyy#xVs$3F`S6E{sm9^soDSl literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_u_up.png b/app/src/main/assets/keyboard_themes/default_darkness/key_u_up.png new file mode 100644 index 0000000000000000000000000000000000000000..011a19c474e068dd4f60f88cc4d552aaaf60f860 GIT binary patch literal 2758 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 ar@b1BOP8J`9_th?roiry1Et)`JN7^Nc>q-a literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_underscore.png b/app/src/main/assets/keyboard_themes/default_darkness/key_underscore.png new file mode 100644 index 0000000000000000000000000000000000000000..3fe234b792bba9f012c8b4c18ea9b9f9505ad483 GIT binary patch literal 1980 zcmeHI`BT$(6aM6Y1PCS}Fn|&QSiuqGN*lTPg7FnZ5NQ<P#;{@VYbJG1-zvim$cyED62f`bn0 z>+aMA0OsbxJ7$Jv!LF16w3;?K9f2z+H>8IyPq(^o|81{+B zukQ=1)#|=%`SSbw>$IE@#c#)HGD#Qf$OXN46$l9+30#j=WWqg<(Q{7UGafa|XD<34 z>OO6lP+`1(C%NBY(9hs=UaieH?z0mXI!@Oftg5p3?;_6iJ^leOFMh2 zfr&jWZ(G=0)HD833YTU4(fZxs$gtY}#*muS(S1(3_Rb+s;R|~9GyB@AohlNX0a}KA z@*_=?T4rO#e?ItV!Hvf*rfqQUg7h-fZEjNeZZA`oO_*KOkSp-*T`LxEt?wl@BFpH_ z&rAvt;MMK=e*8m>Le(V=Z@ps$&Zu7foL+2Xw816=579ws7B_;au!JtqKW#TOgtP2P z0bP>Wa+<|F@u)n|9F(cuzHkVedSQ=)2})>0g!6yxzeEDnR%dm+9;a$y^S1TmHuh3O zX}vyqSO-W}#-8>v04vMe18}=A>wqp-hLb1XPYoBbKLOA(w;*+fK(Y;j0TamUK|O(m z0qB&*()yt^xDM+)4$V5RZbR%9mjfIqfu3WA5w(ToCs-FZbO4M_f({^*pnWCYv^J6n zhkyhXECimcgpF|ReMNs)tin>r5Vj(MS;&5}Vgrz@Oz@E+w&GukkF)TOiMs>&9^x7!lG-xeQdT7jF{wi^w#MW&2ja zbnhJ3c07f)M;y5HC;`=4XC=w!0m)z&fD zf)9hi7rMB#RAatXt4<7lZ|uNXT}=(JOg_akl}ty@hvlDYX4jaAOf&6Or4C9Sk~betn; z#osGrH#F>jA(gJd1nYAXEylUIxmCaZI&uoS)tYJwsXxejQLb)oCC&vT?|HvZ4BVrl zqDIHZPj>8ex%Pid;)M%(+Xh#td>_L_m_}^(q}H9YA^a=1`QALC_1KK^j5({Zv2mci zy}b>EHAio|yyCH^6kwgaug_Ht5m8z(MS9F@uF$1uYUQkwjiAv`}tT{l=W4= zl$wybqvjxgetzCHdNAhT!EBFAm7$n>v&QG$-R2eM*81_R?X4@w!K$&DmUMZYX?f+ z>)hnnYBd(Rv;&vvq%eSUD!Kmw@OffI%$tT7cSlH>ot@pe9-AXFiLN;r8fxs2H{V07 zcx2K;xSpAebOgwBt4m7?#`h+qP%m%$j1UB9RHQdwyVG;7pyo zUS$w`8JgDX9Q|EZGCok=_La89)>$2I(xr`k8*O>1tRB)%6O&e+Fz$ofoDCu8h;wB2 z0+f#TFS~WCv*FDh2TWZ8sLY1-EG;cnIlUE)4IEBr4hs6(3o#IBzvfl+bWgpJm#QuR z5!`NTMkM|q7K_(VKErrqH_J)8=IXIsH0*s-e0TVc=puuwQ?FmYeinPk0W;&hzwCWq UP;kI+ns*HR4+T*hed(OP09tH+OaK4? literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_up.png b/app/src/main/assets/keyboard_themes/default_darkness/key_up.png new file mode 100644 index 0000000000000000000000000000000000000000..342e76b3d75d0cd9fb68d4a6533fecd27e8e6d5f GIT binary patch literal 2972 zcmb_e`9Bl>A9rlUgvEwJk)utH$gPjeF*eLB;3xS^?W_w@5l4~c)Z@vL@dT!5Ofm6#l2>T_*Jw#zSt7Hos1Yl^fD0`{end_r^0cRBY>0OX`nvL~x6^Dty|0k?Isf|a z4@?NDfV9G#hbOIgD0p}FZmNI!vlC_?ZY^haY<6wBwS04PlWLrBzk!)NtSD=GV_hr$ z)JW_!Aeg!MgPtvl>v|exc$gm_A3x1mt~K9sN(GI&tP}^RAFdy$#Qt;$ByEaVdyW$( zIygiorPW9=R<4SgUfO_4k!j9#*%%p~PWrm! z($dW$IanAXLu+wi!5z!4biCur6~jMPdl<2`G-?GdF+%*=+uL&+ZteiufYAqrXJRPd zbm#sxjMiu2nxVipcyz(9*#zm0TOxecZwV72US3`gA1m2GSao&bM(8_op*9!O0fYRm zOii^-D66=5?z&>uJ3ne1fCWy+9jI$)Xt+*}Y9Oj)s+AWN<|xiHEtmrv8K1GRE4wXz zPidn8V!<;(U;%z#h00s}A>IK2FUna13dCSry4I;BcK+MU-Jj2B`}_OWwShJpgP5BR zSzOh=hWS&g)CF-Me#^C|vT{|Sm;fgskx0yRGm*yr7xG@7r^tyV1FN`0hMY*%i15Bkecu8cWxk3J+5xTk{^wAVWBSfl@ z@KJNb{DVFKjL|ne{S^k2K2PQXYUy8;k^&a-B1LI5B#HE}kQVyZmj^QVbM4kGNVd>_ zO|GujJ3g))wlrevySzMBH#1Odqh3Q<@rL<6UMJ~UVg2Mn3jIojJ9J=R zKpmsX4pP!0*4ES{E)G`+D5JXs#7rCKC@PXU!^6X~xhBl$46rTh zpB6v^u2Sag%1CU6KJ&pJd>bs#>&0Z2^|QeX`y-qS`4DC>R$69rExa3ec3v5L9%CmJS`bEa9jpgSmjjg;iBYjtb zV+nos#7+rVGa&38p3xuB7=bN|g+RAdfdYQc_Q6=+}JFs9F@DMZ121M!#rs6-qV zdXqI&K!e!j1t>||VnL-dskQo$Y@&abb&(thjj(^!=Ro4X0;@|xO%ZTLlFpX}EC*(- z{WuK<1KO`6U8F(I#JwLqdEE!GSIfgo{sfAl7A7&!GPo~)O|rO}*y~_h=QRt8bCA!* z*#0Bxx_ zo^Nnp;NA`s{Myf{XZT4gKx|Z`n6N_IE;d8(Dz{ua5_0(>O!gy>dWP1(Z`O6_J&0Z0 z$wgl|BScMsx49B$P=T~Q_aPq;{Y`q(?D())sQ-(?R4(99JXyK~Ort3cI+{yzgGvRp z3~;hW2zy3Vnl=x_PSQV&Zv22)iuIBXD|H9!2WQ=BjI8DZ>1lDmH z?F;s$9F)`apB-$p_4{}IQ!8YV>SDT)HNS3}-1h<#(m3buC5OFlM;XOE2pls$bupsX ztuBa)j{YngLl)WDTzr!LXKOh`CurPpAZ)Qb<U% zW-T#c1VZz8ZJ>*fiovxpd7AOpiKg%i)y>WOW|o$gI&%d|d``sev>%A!P2OLwEJ_41`X=2sqp$;1S@AXy;4PNQ&V*i5{ED~f zxZPg-{P~tRV4~*6@CPf!kcyHL)YsDj{4d0~)gl|2kt;)GR~`Zpx5*V{Ws$N)0TZvI z4d$MeL8;l>20A)t4Wo9rKziNPUlbJ;gMkR!u+_-ZfiNQgUwRs%>w-a^t=Iy_VAz*JQcf0EYJul<)oBsgjRWJGVl~g3(c@n+QAKsoRvx6&`O+DXj)L9oZD}y?N7v^62jBRrjO;!Xv2? z!J-1Pl+TvQ;XMPw#%74*jXrMpY-)c}x@abD&`uZHO^VGOp#s#CpJbrN+^S(9Dx#S; zIsB>2e5Q*P7`k!UHFL(H*>NVf9x0=sq39m{o{fUrSYt3k6~EtIVbkyeXW6J|9c>eb zgd{zsA7v43kra^pN4+WGSfDWA{kfGR2#Z&H7EX-S#uY1$>+yIklN6PtR)M8F5z6)% z2#t-&uXg4EhfIt7NDqGkvx+Rx@bxpHQmGuflTPY=)92W2E|eL@lxgfq{2yPx BdLjS- literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_up_upper.png b/app/src/main/assets/keyboard_themes/default_darkness/key_up_upper.png new file mode 100644 index 0000000000000000000000000000000000000000..682505314237033700a49cc5db6821a6832262eb GIT binary patch literal 2764 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 yYNX14x}KG(`(nE{{LjpQ(b3Ty{=x${VJO;}E literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_v.png b/app/src/main/assets/keyboard_themes/default_darkness/key_v.png new file mode 100644 index 0000000000000000000000000000000000000000..9250d6eff4fcf763a095a8af3b128f592064d6b9 GIT binary patch literal 2633 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 V{8U0lDeM0On4Pl1*WifJ{{o`EFE0Q9 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_x.png b/app/src/main/assets/keyboard_themes/default_darkness/key_x.png new file mode 100644 index 0000000000000000000000000000000000000000..0e9ceaf06efbe788efb84e0361f92436115855a4 GIT binary patch literal 2654 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_x_up.png b/app/src/main/assets/keyboard_themes/default_darkness/key_x_up.png new file mode 100644 index 0000000000000000000000000000000000000000..b5e5424782d73d09a30715568a49707503d5fc75 GIT binary patch literal 2914 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 literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_y_up.png b/app/src/main/assets/keyboard_themes/default_darkness/key_y_up.png new file mode 100644 index 0000000000000000000000000000000000000000..5ed6bd95400273722cc8b1ef2f20ecff02d6e88c GIT binary patch literal 2514 zcmb7Fc{Cg77XPw}eQU=O6B%2Lz2%8Lp**#elxk2a%oNWu)z&%@2|8%COp8*KplYkF zv82|N+3ZG#4$(@fsa+^)jmexh@0@qufA9Xz{qDK<{=V{@$HmZlxW@yd6o-nB!7T>efuVQmpZMDj)3N^*-9`iC;+X1@Qyg{q)4t zVO#|Nn*IW-|3%0;Y!hmv9*9Akt;G9IFhR z_kQ10P(Ch9WW|i8<4i&9_Hx>{MLD8gY$3X3w;A$@oV$%O7~G3_cWCYkr`71a=mHUS+GPa{b+g*b{&NHWz&# z17`>zRjf9d;e^#dn>7}+&5ejLEckFbAi}Ey>57D?-ARO|Bp!kVg|LOc0x^e^NUh9& z2P*$&AhrGv2KKZfqrLrdettf*YQJddbV7H+(Sx5em0zz+_ed1VgA9zN zmZha-VvDn@>%dR}4l#UXF^b2vHjP>H;rc6E#A55Obb2qox)as$0|23VeqB24(W@dx zE4`_bH$DtM_Dmt&EUO{a_y2ScoxUbRc+0w8mY-U))Fp!eh4J(KIiqe7pVoX8(CC`# zte)uTrQg0ZrS3;^HBbq<&)s~4)I@;%$@z$EsLAK`1D!yvj?X}x-{igPowvGoXQ$W% zVBz->Np5-_r!6dWl9QeI2GMpIT08HUK_iYN5{bNIZ(9AKM)_2c35XaQg^a@dMTb*0 zJnNdHmM4_btV79ULXj1<%_p^fDnV8lJhSISt;qAw`)@Q)CmHnh=+At08v)9JHL5^d z=e39Y_|BUy>Scr6b3KkaAmSU{K-efo6K}1kCfqZUCdNfe{{u~MN}Fi#)_%72+YNb- zI_m9VU|=>J#_&!us9vRPEnIk$5uXekEP#Pdh%x<=*jKZTL9h$qewMC>cac~DajeGB zad-S<2mYCb{C&vmFj7llAf=h=Ae->d+wAzSdfbd!v}25=JOZ>JH9i}cYDW~ZAl&cg z^TchNsW}fHh9I6#AIT#K)02cRap}${5`KC}XE765xb)Jgt|ub+IY^p_l9E)AF}=W& zwdfwE?zO8R`4`)B1~a}R@Tve~OyF^HBi~g(=_brX#w68~L#nL`cv0OsRcu%%su@YF zVkT-Hk&}4tS$|cysjMar`-9VZ?FB_dLwC-QP&i31o+v0ND6g;AH|Tnb!h0w%vL^`? z3Wb}DxgI3sFd(6I1|-RBO9gpyzyIO^@76U_UKK>Jee5rZPlfS0>TJ1N7rNbvDC^GS z5RxgW(;LhVB1JwADdo9~gS*|a8>IxEov!;INB+^(W1vfQ)&fU<&T}t@2x!iqCBWH~ zLW>m~<>26;OzW03p5z6UdQtfZ4>3quC##~^$JAaiDK^Rw7}DQi$Vk-DN4-Ii^3heC zEyfljNXs9}b$LQPp<F8QyCLG&Kjx{saoF*4c%cF&Y~;Oqle&uXjl_jVuMnidUy@fTpG)Zb?!)TD7knVpAC6Ewzw75;RUdG(Xgo|hn@AA`d98L-j-HYdiaDx z&&X|kC|fp}mMqaxfiXyhZyn|xP(t4=`9bL<5v#MJT+44{R^N7Vlw38NevqRUEtV}t z?i0GupE=Tx&tKEydE4H=rL}}js!(=TN;J;NTU73yJ7CQ(*H$@e+~mG#kC80_+|)dY zwmNg}HIzT`)r?M&GSNMIpGSo&xdUpv< z9S%>&C_+%I82ZEetq($Buq6J`!6zSHIy|BO`Lnl;jg2oGn4&`f(Ib`5SV&f-L$Cx@ zZpQ3XbLiFWrE#5;9<$IS36klR(?e(38{TRQFH{BfpT^;0N{PH2AE*ePy9jMJKws>0 zS$k?DiRFFNJ*3k5<$_`w&k*<-f}5ELI`fD&G?FE3qa<0+Hb!-%i46@6`DWf6|4{7K z2X>W_C?=CBr!%l0%IE$}V!L1hs)SOWPp;4eN~}u!6ysqGzVq@A41C&NQsUpe+{W>J zz1pB7T6*6VO%mdKDgDwz!XKxl(kob|Y#wQOoXr=quc~~H3wxvw1ma-lVq0fJPWlrM C&uotX literal 0 HcmV?d00001 diff --git a/app/src/main/assets/keyboard_themes/default_darkness/key_z.png b/app/src/main/assets/keyboard_themes/default_darkness/key_z.png new file mode 100644 index 0000000000000000000000000000000000000000..63047056b2a82d3f964e5cd0bade82db0704a516 GIT binary patch literal 2399 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 Build.VERSION_CODES.O) { - val channel = NotificationChannel( - NOTIFICATION_CHANNEL_ID, - "输入法服务", - NotificationManager.IMPORTANCE_LOW - ).apply { description = "保持输入法服务运行" } - - val manager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager - manager.createNotificationChannel(channel) - } - } - - private fun tryStartForegroundSafe() { - try { - val notification = NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID) - .setContentTitle("输入法服务") - .setContentText("输入法正在运行") - .setSmallIcon(android.R.drawable.ic_dialog_info) - .setPriority(NotificationCompat.PRIORITY_LOW) - .setOngoing(true) - .build() - - startForeground(NOTIFICATION_ID, notification) - Log.i(TAG, "startForeground success") - } catch (e: Exception) { - Log.w(TAG, "startForeground failed: ${e.message}") - } - } - // 创建输入视图:此处只负责选择主键盘 override fun onCreateInputView(): View { val keyboard = ensureMainKeyboard() @@ -356,6 +318,7 @@ class MyInputMethodService : InputMethodService(), KeyboardEnvironment { super.onFinishInputView(finishingInput) isInputViewShownFlag = false stopRepeatDelete() + aiKeyboard?.cancelAiStream() // 清理本次输入状态 clearEditorState() @@ -374,6 +337,7 @@ class MyInputMethodService : InputMethodService(), KeyboardEnvironment { override fun onDestroy() { ThemeManager.removeThemeChangeListener(themeListener) stopRepeatDelete() + aiKeyboard?.cancelAiStream() super.onDestroy() } @@ -649,6 +613,7 @@ class MyInputMethodService : InputMethodService(), KeyboardEnvironment { override fun onConfigurationChanged(newConfig: Configuration) { // 先清理缓存,避免复用旧 View currentKeyboardView = null + aiKeyboard?.cancelAiStream() mainKeyboardView = null numberKeyboardView = null diff --git a/app/src/main/java/com/example/myapplication/keyboard/AiKeyboard.kt b/app/src/main/java/com/example/myapplication/keyboard/AiKeyboard.kt index 6d0a9b1..f9e34e0 100644 --- a/app/src/main/java/com/example/myapplication/keyboard/AiKeyboard.kt +++ b/app/src/main/java/com/example/myapplication/keyboard/AiKeyboard.kt @@ -9,9 +9,11 @@ import android.graphics.Paint import android.graphics.Typeface import android.os.Handler import android.os.Looper +import android.os.SystemClock import android.view.Gravity import android.view.View import android.view.ViewGroup +import android.view.ViewConfiguration import android.widget.ImageView import android.widget.LinearLayout import android.widget.ScrollView @@ -36,6 +38,7 @@ import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import okhttp3.Call +import kotlin.math.abs import kotlin.math.min import com.example.myapplication.network.BehaviorReporter @@ -47,16 +50,16 @@ class AiKeyboard( private val mainHandler = Handler(Looper.getMainLooper()) private val uiScope = CoroutineScope(SupervisorJob() + Dispatchers.Main.immediate) - // ✅ 卡片选中的 characterId(SSE 参数) + // ✅ 卡片选中的 characterId(SSE 参数) private var selectedCharacterId: Int? = null - // ✅ Paste 得到的内容(SSE message) + // ✅ Paste 得到的内容(SSE message) private var lastPastedText: String? = null // ✅ 记录“上次从卡片填入到输入框”的文本,用于覆盖 private var lastFilledText: String? = null - // 输出容器 + // 杈撳嚭瀹瑰櫒 private val messagesContainer: LinearLayout by lazy { val res = env.ctx.resources val id = res.getIdentifier("container_messages", "id", env.ctx.packageName) @@ -72,7 +75,23 @@ class AiKeyboard( } private var currentAssistantTextView: TextView? = null - private val streamBuffer = StringBuilder() + private val incomingBuffer = StringBuilder() + private val incomingLock = Any() + private val pendingBuffer = StringBuilder() + private val displayBuffer = StringBuilder() + @Volatile private var isTickerRunning = false + @Volatile private var streamDone = false + private var lastScrollAtMs = 0L + private val splitTag = "" + private val scrollThrottleMs = 100L + private val autoScrollThresholdPx by lazy { + (env.ctx.resources.displayMetrics.density * 64f).toInt() + } + private val typewriterRunnable = object : Runnable { + override fun run() { + tickTypewriter() + } + } /** * ✅ inflate 一条消息(item_ai_message.xml) @@ -115,7 +134,7 @@ class AiKeyboard( } messagesContainer.addView(itemView) - scrollToBottom() + maybeScrollToBottom(force = true) return textView } @@ -125,54 +144,223 @@ class AiKeyboard( } } - private fun onLlmChunk(data: String) { - if (data == ":\n\n") return + private fun maybeScrollToBottom(force: Boolean = false) { + val now = SystemClock.uptimeMillis() + if (now - lastScrollAtMs < scrollThrottleMs) return + if (!force && !isNearBottom()) return + lastScrollAtMs = now + scrollToBottom() + } + private fun isNearBottom(): Boolean { + val child = messagesScrollView.getChildAt(0) ?: return true + val diff = child.bottom - (messagesScrollView.height + messagesScrollView.scrollY) + return diff <= autoScrollThresholdPx + } + + private sealed class TypewriterToken { + data class Text(val value: String) : TypewriterToken() + object Split : TypewriterToken() + } + + private fun enqueueChunk(data: String) { + if (data.isEmpty() || data == ":\n\n") return + synchronized(incomingLock) { + incomingBuffer.append(data) + } + startTypewriterIfNeeded() + } + + private fun startTypewriterIfNeeded() { mainHandler.post { - if (currentAssistantTextView == null) { - currentAssistantTextView = addAssistantMessage("") - streamBuffer.clear() - } - - streamBuffer.append(data) - var text = streamBuffer.toString().replace(":\n\n", "") - - val splitTag = "" - var index = text.indexOf(splitTag) - - while (index != -1) { - val before = text.substring(0, index) - currentAssistantTextView?.text = before - scrollToBottom() - - currentAssistantTextView = addAssistantMessage("") - text = text.substring(index + splitTag.length) - index = text.indexOf(splitTag) - } - - currentAssistantTextView?.text = text - scrollToBottom() - - streamBuffer.clear() - streamBuffer.append(text) + if (isTickerRunning) return@post + isTickerRunning = true + mainHandler.post(typewriterRunnable) } } - private fun onLlmDone() { - cancelAiStream() - mainHandler.post { - streamBuffer.clear() + private fun stopTypewriter(clearBuffers: Boolean, clearUi: Boolean) { + isTickerRunning = false + mainHandler.removeCallbacks(typewriterRunnable) + if (clearBuffers) { + synchronized(incomingLock) { + incomingBuffer.setLength(0) + } + pendingBuffer.setLength(0) + displayBuffer.setLength(0) + streamDone = false + lastScrollAtMs = 0L + } + if (clearUi) { currentAssistantTextView = null } } + private fun tickTypewriter() { + if (!isTickerRunning) return + + drainIncomingToPending() + val incomingLen = incomingLength() + + if (pendingBuffer.isEmpty() && incomingLen == 0) { + if (streamDone) { + displayBuffer.clear() + currentAssistantTextView = null + streamDone = false + } + isTickerRunning = false + return + } + + val totalBacklog = pendingBuffer.length + incomingLen + val units = computeUnitsPerTick(totalBacklog) + var consumedAny = false + + repeat(units) { + val token = consumeNextToken() ?: return@repeat + consumedAny = true + when (token) { + is TypewriterToken.Text -> { + ensureCurrentAssistant() + appendToCurrent(token.value) + } + TypewriterToken.Split -> { + handleSplitTag() + } + } + } + + if (consumedAny) { + maybeScrollToBottom() + } + + val delayMs = computeTickDelayMs(totalBacklog) + mainHandler.postDelayed(typewriterRunnable, delayMs) + } + + private fun drainIncomingToPending() { + synchronized(incomingLock) { + if (incomingBuffer.isNotEmpty()) { + pendingBuffer.append(incomingBuffer) + incomingBuffer.setLength(0) + } + } + } + + private fun incomingLength(): Int { + return synchronized(incomingLock) { + incomingBuffer.length + } + } + + private fun consumeNextToken(): TypewriterToken? { + if (pendingBuffer.isEmpty()) return null + + val matchLen = matchSplitPrefixLength() + if (matchLen == splitTag.length) { + pendingBuffer.delete(0, splitTag.length) + return TypewriterToken.Split + } + if (matchLen == pendingBuffer.length && matchLen < splitTag.length) { + if (!streamDone) { + return null + } + } + + val first = pendingBuffer[0] + val token = if (first.isHighSurrogate() && + pendingBuffer.length > 1 && + pendingBuffer[1].isLowSurrogate() + ) { + pendingBuffer.substring(0, 2).also { pendingBuffer.delete(0, 2) } + } else { + pendingBuffer.substring(0, 1).also { pendingBuffer.delete(0, 1) } + } + + return TypewriterToken.Text(token) + } + + private fun matchSplitPrefixLength(): Int { + val max = min(pendingBuffer.length, splitTag.length) + var i = 0 + while (i < max && pendingBuffer[i] == splitTag[i]) { + i++ + } + return i + } + + private fun ensureCurrentAssistant() { + if (currentAssistantTextView == null) { + currentAssistantTextView = addAssistantMessage("") + displayBuffer.clear() + } + } + + private fun appendToCurrent(text: String) { + displayBuffer.append(text) + currentAssistantTextView?.text = displayBuffer.toString() + } + + private fun handleSplitTag() { + if (currentAssistantTextView == null) { + currentAssistantTextView = addAssistantMessage("") + } + currentAssistantTextView?.text = displayBuffer.toString() + currentAssistantTextView = addAssistantMessage("") + displayBuffer.clear() + } + + private fun computeUnitsPerTick(backlog: Int): Int { + return when { + backlog > 2000 -> 8 + backlog > 1200 -> 5 + backlog > 600 -> 3 + backlog > 300 -> 2 + else -> 1 + } + } + + private fun computeTickDelayMs(backlog: Int): Long { + return when { + backlog > 2000 -> 12L + backlog > 1200 -> 14L + backlog > 600 -> 18L + backlog > 300 -> 22L + else -> 30L + } + } + + private fun onLlmChunk(data: String) { + enqueueChunk(data) + } + + private fun onLlmDone() { + stopStreamCall() + mainHandler.post { + streamDone = true + if (!isTickerRunning) { + drainIncomingToPending() + if (pendingBuffer.isEmpty()) { + displayBuffer.clear() + currentAssistantTextView = null + streamDone = false + } else { + isTickerRunning = true + mainHandler.post(typewriterRunnable) + } + } + } + } + // ✅ 关键:调用 POST /chat/talk 的 SSE,并渲染到输出区 private fun startTalkStream(characterId: Int, message: String) { // 每次发起新对话:清空输出区(你如果想保留历史,把这行删掉) + stopTypewriter(clearBuffers = true, clearUi = true) + streamDone = false messagesContainer.removeAllViews() // 取消旧流 - currentStreamCall?.cancel() + stopStreamCall() currentStreamCall = NetworkClient.startChatTalkStream( characterId = characterId, @@ -231,11 +419,22 @@ class AiKeyboard( ) } - fun cancelAiStream() { + private fun stopStreamCall() { currentStreamCall?.cancel() currentStreamCall = null } + fun cancelAiStream() { + stopStreamCall() + if (Looper.myLooper() == Looper.getMainLooper()) { + stopTypewriter(clearBuffers = true, clearUi = true) + } else { + mainHandler.post { + stopTypewriter(clearBuffers = true, clearUi = true) + } + } + } + override val rootView: View = run { val res = env.ctx.resources val layoutId = res.getIdentifier("ai_keyboard", "layout", env.ctx.packageName) @@ -313,33 +512,74 @@ class AiKeyboard( // Paste:读取剪贴板第一条 -> 保存 lastPastedText,并显示到 completion_text val pasteBtnId = res.getIdentifier("keyboard_button_Paste", "id", pkg) val completionTextId = res.getIdentifier("completion_text", "id", pkg) + val pasteContainerId = res.getIdentifier("paste_container", "id", pkg) + val pasteAction: () -> Unit = { + val text = readClipboardFirstText() + lastPastedText = text + + if (completionTextId != 0) { + rootView.findViewById(completionTextId)?.text = + if (text.isNullOrBlank()) "" else text + } + } + val touchSlop = ViewConfiguration.get(env.ctx).scaledTouchSlop + fun attachTapToPaste(target: View?) { + if (target == null) return + var downX = 0f + var downY = 0f + var moved = false + target.setOnTouchListener { _, event -> + when (event.actionMasked) { + android.view.MotionEvent.ACTION_DOWN -> { + downX = event.x + downY = event.y + moved = false + false + } + android.view.MotionEvent.ACTION_MOVE -> { + if (abs(event.x - downX) > touchSlop || abs(event.y - downY) > touchSlop) { + moved = true + } + false + } + android.view.MotionEvent.ACTION_UP -> { + if (!moved) { + pasteAction() + true + } else { + false + } + } + else -> false + } + } + } + if (pasteContainerId != 0) { + rootView.findViewById(pasteContainerId)?.setOnClickListener { + pasteAction() + } + } if (pasteBtnId != 0) { rootView.findViewById(pasteBtnId)?.setOnClickListener { - val text = readClipboardFirstText() - lastPastedText = text - - if (completionTextId != 0) { - rootView.findViewById(completionTextId)?.text = - if (text.isNullOrBlank()) "" else text - } + pasteAction() } } // HorizontalScrollView:点击事件与Paste按钮相同 - val scrollViewId = res.getIdentifier("completion_container", "id", pkg) - if (scrollViewId != 0) { - rootView.findViewById(scrollViewId)?.setOnClickListener { - val text = readClipboardFirstText() - lastPastedText = text - - if (completionTextId != 0) { - rootView.findViewById(completionTextId)?.text = - if (text.isNullOrBlank()) "" else text + val pasteScrollId = res.getIdentifier("completion_scroll", "id", pkg) + val completionContainerId = res.getIdentifier("completion_container", "id", pkg) + val pasteTargets = listOf(pasteScrollId, completionContainerId).distinct() + for (targetId in pasteTargets) { + if (targetId != 0) { + val targetView = rootView.findViewById(targetId) + targetView?.setOnClickListener { + pasteAction() } + attachTapToPaste(targetView) } } - // ✅ Delete:沿用 MyInputMethodService.deleteOne() + // ✅ Delete:沿用 MyInputMethodService.deleteOne() val deleteBtnId = res.getIdentifier("keyboard_button_Delete", "id", pkg) if (deleteBtnId != 0) { rootView.findViewById(deleteBtnId)?.setOnClickListener { @@ -430,7 +670,7 @@ class AiKeyboard( "id" to item.characterId, "name" to item.characterName, ) - // ✅ SSE 要的是 characterId,不是 id + // SSE 要的是 characterId,不是 id selectedCharacterId = item.characterId val res = env.ctx.resources @@ -486,7 +726,7 @@ class AiKeyboard( return clip.getItemAt(0).coerceToText(env.ctx)?.toString() } - /** + /** * ✅ 将卡片文本填入宿主输入框,并覆盖上一次“卡片填入”的内容 * 覆盖策略(安全版): * - 仅当光标前的文本 == lastFilledText 时,才删除那段并覆盖 @@ -511,7 +751,7 @@ class AiKeyboard( } } - /** ✅ 清空宿主输入框(当前编辑框) */ + /*清空宿主输入框(当前编辑框) */ private fun clearEditorAll() { val ic = env.getInputConnection() ?: return @@ -532,7 +772,7 @@ class AiKeyboard( } } - // ========= 换肤相关(保留你原有逻辑) ========= + // ========= 换肤相关========= private fun applyKeyBackground(root: View, viewIdName: String, drawableName: String? = null) { val res = env.ctx.resources @@ -589,7 +829,7 @@ class AiKeyboard( } } - /** 包一层 try-catch,避免任何地方异常直接白屏 */ + /* 包一层 try-catch,避免任何地方异常直接白屏*/ private inline fun guard(tag: String, block: () -> Unit) { try { block() diff --git a/app/src/main/java/com/example/myapplication/theme/ThemeManager.kt b/app/src/main/java/com/example/myapplication/theme/ThemeManager.kt index f1a0a0a..1b66974 100644 --- a/app/src/main/java/com/example/myapplication/theme/ThemeManager.kt +++ b/app/src/main/java/com/example/myapplication/theme/ThemeManager.kt @@ -1,7 +1,9 @@ package com.example.myapplication.theme +import android.content.ComponentCallbacks import android.content.Context import android.content.res.AssetManager +import android.content.res.Configuration import android.graphics.Bitmap import android.graphics.BitmapFactory import android.graphics.drawable.BitmapDrawable @@ -18,6 +20,12 @@ object ThemeManager { // SharedPreferences 保存当前主题名 private const val PREF_NAME = "ime_theme_prefs" private const val KEY_CURRENT_THEME = "current_theme" + private const val KEY_IS_MANUAL_THEME = "is_manual_theme" + + @Volatile + private var isManualTheme = false + + private var darkModeComponentCallbacks: ComponentCallbacks? = null // 当前主题名(如 "default") @Volatile @@ -113,12 +121,30 @@ object ThemeManager { * - 默认使用 "default" * - 加载该主题的所有图片到缓存 */ + private fun isDarkMode(context: Context): Boolean { + val nightModeFlags = context.resources.configuration.uiMode and + Configuration.UI_MODE_NIGHT_MASK + return nightModeFlags == Configuration.UI_MODE_NIGHT_YES + } + fun init(context: Context) { if (currentThemeName != null) return val prefs = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE) - val name = prefs.getString(KEY_CURRENT_THEME, "default") ?: "default" - setCurrentTheme(context, name) + isManualTheme = prefs.getBoolean(KEY_IS_MANUAL_THEME, false) + + if (!isManualTheme) { + updateThemeForSystemMode(context) + context.registerSystemDarkModeListener() + } else { + val name = prefs.getString(KEY_CURRENT_THEME, "default") ?: "default" + setCurrentTheme(context, name, true) + } + } + + private fun updateThemeForSystemMode(context: Context) { + val defaultTheme = if (isDarkMode(context)) "default_darkness" else "default" + setCurrentTheme(context, defaultTheme, false) } /** @@ -127,14 +153,21 @@ object ThemeManager { * - 写 SharedPreferences * - 重新加载该主题的全部图片到缓存 */ - fun setCurrentTheme(context: Context, themeName: String) { + fun setCurrentTheme(context: Context, themeName: String, isManual: Boolean = true) { currentThemeName = themeName + isManualTheme = isManual context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE) .edit() .putString(KEY_CURRENT_THEME, themeName) + .putBoolean(KEY_IS_MANUAL_THEME, isManual) .apply() + // 如果是手动选择主题,取消系统模式监听 + if (isManual) { + context.unregisterSystemDarkModeListener() + } + val newFilePathCache: MutableMap = ConcurrentHashMap() drawableCache = ConcurrentHashMap() filePathCache = newFilePathCache @@ -155,6 +188,40 @@ object ThemeManager { fun getCurrentThemeName(): String? = currentThemeName + private fun Context.registerSystemDarkModeListener() { + try { + darkModeComponentCallbacks?.let { + unregisterComponentCallbacks(it) + } + + val callbacks = object : ComponentCallbacks { + override fun onConfigurationChanged(newConfig: Configuration) { + if (!isManualTheme) { + updateThemeForSystemMode(this@registerSystemDarkModeListener) + } + } + + override fun onLowMemory() {} + } + + registerComponentCallbacks(callbacks) + darkModeComponentCallbacks = callbacks + } catch (e: Exception) { + // 忽略注册失败 + } + } + + private fun Context.unregisterSystemDarkModeListener() { + try { + darkModeComponentCallbacks?.let { + unregisterComponentCallbacks(it) + darkModeComponentCallbacks = null + } + } catch (e: Exception) { + // 忽略取消注册失败 + } + } + /** * 扫描某个主题目录下的所有 png/jpg/webp 文件, * 用“文件名(去掉扩展名,小写)”作为 keyName,构造缓存。 diff --git a/app/src/main/java/com/example/myapplication/ui/home/HomeFragment.kt b/app/src/main/java/com/example/myapplication/ui/home/HomeFragment.kt index 3650d53..067bc3b 100644 --- a/app/src/main/java/com/example/myapplication/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/example/myapplication/ui/home/HomeFragment.kt @@ -476,9 +476,8 @@ class HomeFragment : Fragment() { bottomSheetBehavior.isHideable = false bottomSheetBehavior.isFitToContents = false bottomSheetBehavior.halfExpandedRatio = 0.7f - - // ✅ 固定初始高度,避免每次计算导致跳动 - bottomSheetBehavior.peekHeight = dpToPx(260) // 你想要多少就写多少 + + applyAdaptivePeekHeight(root) bottomSheetBehavior.state = BottomSheetBehavior.STATE_COLLAPSED bottomSheetBehavior.addBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback() { @@ -495,6 +494,24 @@ class HomeFragment : Fragment() { return (dp * resources.displayMetrics.density).toInt() } + private fun applyAdaptivePeekHeight(root: View) { + root.post { + val maxByContent = maxPeekHeightBelowAnchor(root, R.id.rechargeButton, dpToPx(12)) + bottomSheetBehavior.peekHeight = maxByContent.coerceAtLeast(0) + } + } + + private fun maxPeekHeightBelowAnchor(root: View, anchorId: Int, marginPx: Int): Int { + val anchor = root.findViewById(anchorId) ?: return Int.MAX_VALUE + val rootLoc = IntArray(2) + val anchorLoc = IntArray(2) + root.getLocationInWindow(rootLoc) + anchor.getLocationInWindow(anchorLoc) + val rootBottom = rootLoc[1] + root.height + val anchorBottom = anchorLoc[1] + anchor.height + return (rootBottom - anchorBottom - marginPx).coerceAtLeast(0) + } + // ---------------- Tabs ---------------- private fun setupTopTabs() { diff --git a/app/src/main/java/com/example/myapplication/ui/keyboard/MyKeyboard.kt b/app/src/main/java/com/example/myapplication/ui/keyboard/MyKeyboard.kt index 31694cb..8abb75b 100644 --- a/app/src/main/java/com/example/myapplication/ui/keyboard/MyKeyboard.kt +++ b/app/src/main/java/com/example/myapplication/ui/keyboard/MyKeyboard.kt @@ -13,6 +13,7 @@ import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.RecyclerView +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.example.myapplication.R import com.example.myapplication.network.ApiResponse import com.example.myapplication.network.AuthEvent @@ -30,6 +31,7 @@ class MyKeyboard : Fragment() { private lateinit var btnSave: TextView private lateinit var adapter: KeyboardAdapter private lateinit var loadingOverlay: LoadingOverlay + private lateinit var swipeRefresh: SwipeRefreshLayout override fun onCreateView( inflater: LayoutInflater, @@ -46,6 +48,8 @@ class MyKeyboard : Fragment() { rv = view.findViewById(R.id.rv_keyboard) btnSave = view.findViewById(R.id.btn_keyboard) + swipeRefresh = view.findViewById(R.id.swipeRefresh) + swipeRefresh.setOnRefreshListener { loadList() } adapter = KeyboardAdapter( onItemClick = { item -> @@ -113,7 +117,7 @@ class MyKeyboard : Fragment() { private fun loadList() { viewLifecycleOwner.lifecycleScope.launch { - loadingOverlay.show() + swipeRefresh.isRefreshing = true try { val resp = getlistByUser() if (resp?.code == 0 && resp.data != null) { @@ -125,7 +129,7 @@ class MyKeyboard : Fragment() { } catch (e: Exception) { Toast.makeText(requireContext(), "Load failed: ${e.message}", Toast.LENGTH_SHORT).show() } finally { - loadingOverlay.hide() + swipeRefresh.isRefreshing = false } } } diff --git a/app/src/main/java/com/example/myapplication/ui/mine/myotherpages/PersonalSettings.kt b/app/src/main/java/com/example/myapplication/ui/mine/myotherpages/PersonalSettings.kt index 74aea1c..046feea 100644 --- a/app/src/main/java/com/example/myapplication/ui/mine/myotherpages/PersonalSettings.kt +++ b/app/src/main/java/com/example/myapplication/ui/mine/myotherpages/PersonalSettings.kt @@ -20,6 +20,7 @@ import androidx.activity.result.contract.ActivityResultContracts import androidx.core.content.ContextCompat import androidx.core.content.FileProvider import androidx.lifecycle.lifecycleScope +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.bumptech.glide.Glide import com.example.myapplication.R import com.example.myapplication.network.ApiResponse @@ -51,6 +52,7 @@ class PersonalSettings : BottomSheetDialogFragment() { private lateinit var tvGender: TextView private lateinit var tvUserId: TextView private lateinit var loadingOverlay: LoadingOverlay + private lateinit var swipeRefresh: SwipeRefreshLayout /** * ✅ Android Photo Picker @@ -83,6 +85,8 @@ class PersonalSettings : BottomSheetDialogFragment() { // 初始化loadingOverlay loadingOverlay = LoadingOverlay.attach(requireView() as ViewGroup) + swipeRefresh = view.findViewById(R.id.swipeRefresh) + swipeRefresh.setOnRefreshListener { loadUser() } // 关闭 view.findViewById(R.id.iv_close).setOnClickListener { @@ -174,11 +178,16 @@ class PersonalSettings : BottomSheetDialogFragment() { // ===================== load & render ===================== + loadUser() + + } + + private fun loadUser() { viewLifecycleOwner.lifecycleScope.launch { - loadingOverlay.show() + swipeRefresh.isRefreshing = true try { val resp = getUserdata() - val u = resp?.data // 如果你的 ApiResponse 字段不是 data,这里改成你的字段名 + val u = resp?.data // ???????????? ApiResponse ???????????? data?????????????????????????????? if (u == null) { Toast.makeText(requireContext(), "Load failed", Toast.LENGTH_SHORT).show() return@launch @@ -186,7 +195,7 @@ class PersonalSettings : BottomSheetDialogFragment() { user = u renderUser(u) } finally { - loadingOverlay.hide() + swipeRefresh.isRefreshing = false } } } diff --git a/app/src/main/res/drawable-night/keyboard_icon_voice.png b/app/src/main/res/drawable-night/keyboard_icon_voice.png new file mode 100644 index 0000000000000000000000000000000000000000..44834b9564a94802599e962159262691531d756b GIT binary patch literal 1165 zcmV;81akX{P)Px(M@d9MRCr$PoQrW3F${*K4k&?iKq`QAKnIWtAQg~QK&XIF0dzp9AnAZ~Kspfj zCtk(~Kee~Ex!5xdGr9Gy{q4W9BtMu|77=+%L~n@b84NYa320qnoByCl=i2PLkK9q@hPCL zj-Ps1Zqwb2`2C3i*D2UxGJ*-{q4zWt?378tM5pfq4+GpaI_6t<4{UO#C8lsah1PAr zG?kk-a-j zA~*|dH{c^^LoA^;b#;fHRd^(_!za4w5(yD`O+;SHpt1m|HA^k6aw^ljq zI3_>-Y$UaqD5or#DY%T-lZ0Kt2;w$d$Yl0X0-<#im0Q7%Ua#1Od!J`Bm5&b3(!Ofo ztvwb?r$(-01s?K|hs(^32;KzTseEp%GQ80>z!5ehXW^Hw>03kpn^sx1G1jSknDlK^ za>j=RmSNu&ZH!d`g`SFQlGrl#xm&f!9;wSJ;1QMM&)8jn<2#z9aJx|~c(4NvCj%4n z`uL7x3-EdLQUUnDCAI@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/keyboard_icon_voice_darkness.png b/app/src/main/res/drawable/keyboard_icon_voice_darkness.png new file mode 100644 index 0000000000000000000000000000000000000000..44834b9564a94802599e962159262691531d756b GIT binary patch literal 1165 zcmV;81akX{P)Px(M@d9MRCr$PoQrW3F${*K4k&?iKq`QAKnIWtAQg~QK&XIF0dzp9AnAZ~Kspfj zCtk(~Kee~Ex!5xdGr9Gy{q4W9BtMu|77=+%L~n@b84NYa320qnoByCl=i2PLkK9q@hPCL zj-Ps1Zqwb2`2C3i*D2UxGJ*-{q4zWt?378tM5pfq4+GpaI_6t<4{UO#C8lsah1PAr zG?kk-a-j zA~*|dH{c^^LoA^;b#;fHRd^(_!za4w5(yD`O+;SHpt1m|HA^k6aw^ljq zI3_>-Y$UaqD5or#DY%T-lZ0Kt2;w$d$Yl0X0-<#im0Q7%Ua#1Od!J`Bm5&b3(!Ofo ztvwb?r$(-01s?K|hs(^32;KzTseEp%GQ80>z!5ehXW^Hw>03kpn^sx1G1jSknDlK^ za>j=RmSNu&ZH!d`g`SFQlGrl#xm&f!9;wSJ;1QMM&)8jn<2#z9aJx|~c(4NvCj%4n z`uL7x3-EdLQUUnDCAI@ diff --git a/app/src/main/res/layout/fragment_shop.xml b/app/src/main/res/layout/fragment_shop.xml index ed54bbb..558eeb1 100644 --- a/app/src/main/res/layout/fragment_shop.xml +++ b/app/src/main/res/layout/fragment_shop.xml @@ -198,7 +198,7 @@ diff --git a/app/src/main/res/layout/fragment_shop_style_page.xml b/app/src/main/res/layout/fragment_shop_style_page.xml index 9de6541..51d3442 100644 --- a/app/src/main/res/layout/fragment_shop_style_page.xml +++ b/app/src/main/res/layout/fragment_shop_style_page.xml @@ -3,5 +3,6 @@ android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="match_parent" - android:padding="16dp" + android:paddingStart="16dp" + android:paddingEnd="16dp" android:clipToPadding="false"/> diff --git a/app/src/main/res/layout/item_ai_message.xml b/app/src/main/res/layout/item_ai_message.xml index f664318..4eda9e6 100644 --- a/app/src/main/res/layout/item_ai_message.xml +++ b/app/src/main/res/layout/item_ai_message.xml @@ -7,7 +7,7 @@ + android:background="@drawable/keyboard_button_bg5"> diff --git a/app/src/main/res/layout/item_theme_card.xml b/app/src/main/res/layout/item_theme_card.xml index 5a4701b..49b376b 100644 --- a/app/src/main/res/layout/item_theme_card.xml +++ b/app/src/main/res/layout/item_theme_card.xml @@ -11,6 +11,7 @@ + + - \ No newline at end of file + diff --git a/app/src/main/res/layout/personal_settings.xml b/app/src/main/res/layout/personal_settings.xml index 2462eb6..ceaf97a 100644 --- a/app/src/main/res/layout/personal_settings.xml +++ b/app/src/main/res/layout/personal_settings.xml @@ -8,17 +8,21 @@ android:background="#F6F7FB" tools:context=".ui.home.myotherpages.PersonalSettings"> - - + + android:layout_height="match_parent" + android:fillViewport="true" + android:overScrollMode="never"> + - - - \ No newline at end of file + + + + diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml new file mode 100644 index 0000000..c0770b6 --- /dev/null +++ b/app/src/main/res/values-night/colors.xml @@ -0,0 +1,5 @@ + + + #707070 + #FFFFFF + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index d27779c..b6a353f 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -11,4 +11,6 @@ #801B1F1A #FF1B1F1A #FF9F9F9F + #FFFFFFFF + #1B1F1A