diff --git a/CustomKeyboard/View/KBKeyboardView.m b/CustomKeyboard/View/KBKeyboardView.m index 607f501..0d03707 100644 --- a/CustomKeyboard/View/KBKeyboardView.m +++ b/CustomKeyboard/View/KBKeyboardView.m @@ -96,36 +96,36 @@ if (!self.symbolsMoreOn) { // 数字第一页(123) - r1 = @[ [KBKey keyWithTitle:@"1" output:@"1"], - [KBKey keyWithTitle:@"2" output:@"2"], - [KBKey keyWithTitle:@"3" output:@"3"], - [KBKey keyWithTitle:@"4" output:@"4"], - [KBKey keyWithTitle:@"5" output:@"5"], - [KBKey keyWithTitle:@"6" output:@"6"], - [KBKey keyWithTitle:@"7" output:@"7"], - [KBKey keyWithTitle:@"8" output:@"8"], - [KBKey keyWithTitle:@"9" output:@"9"], - [KBKey keyWithTitle:@"0" output:@"0"] ]; - r2 = @[ [KBKey keyWithTitle:@"-" output:@"-"], - [KBKey keyWithTitle:@"/" output:@"/"], - [KBKey keyWithTitle:@":" output:@":"], - [KBKey keyWithTitle:@";" output:@";"], - [KBKey keyWithTitle:@"(" output:@"("], - [KBKey keyWithTitle:@")" output:@")"], - [KBKey keyWithTitle:@"$" output:@"$"], - [KBKey keyWithTitle:@"&" output:@"&"], - [KBKey keyWithTitle:@"@" output:@"@"], - [KBKey keyWithTitle:@"\"" output:@"\""] ]; + r1 = @[ [KBKey keyWithIdentifier:@"digit_1" title:@"1" output:@"1" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"digit_2" title:@"2" output:@"2" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"digit_3" title:@"3" output:@"3" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"digit_4" title:@"4" output:@"4" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"digit_5" title:@"5" output:@"5" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"digit_6" title:@"6" output:@"6" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"digit_7" title:@"7" output:@"7" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"digit_8" title:@"8" output:@"8" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"digit_9" title:@"9" output:@"9" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"digit_0" title:@"0" output:@"0" type:KBKeyTypeCharacter] ]; + r2 = @[ [KBKey keyWithIdentifier:@"sym_minus" title:@"-" output:@"-" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_slash" title:@"/" output:@"/" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_colon" title:@":" output:@":" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_semicolon" title:@";" output:@";" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_paren_l" title:@"(" output:@"(" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_paren_r" title:@")" output:@")" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_dollar" title:@"$" output:@"$" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_amp" title:@"&" output:@"&" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_at" title:@"@" output:@"@" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_quote_double" title:@"\"" output:@"\"" type:KBKeyTypeCharacter] ]; // 第三行:左下角是“#+=”切换键,右下角是退格键 KBKey *toggle = [KBKey keyWithIdentifier:@"symbols_toggle_more" title:@"#+=" output:@"" type:KBKeyTypeSymbolsToggle]; - KBKey *comma = [KBKey keyWithTitle:@"," output:@","]; - KBKey *dot = [KBKey keyWithTitle:@"." output:@"."]; - KBKey *q = [KBKey keyWithTitle:@"?" output:@"?"]; - KBKey *ex = [KBKey keyWithTitle:@"!" output:@"!"]; - KBKey *quote = [KBKey keyWithTitle:@"'" output:@"'"]; + KBKey *comma = [KBKey keyWithIdentifier:@"sym_comma" title:@"," output:@"," type:KBKeyTypeCharacter]; + KBKey *dot = [KBKey keyWithIdentifier:@"sym_dot" title:@"." output:@"." type:KBKeyTypeCharacter]; + KBKey *q = [KBKey keyWithIdentifier:@"sym_question" title:@"?" output:@"?" type:KBKeyTypeCharacter]; + KBKey *ex = [KBKey keyWithIdentifier:@"sym_exclam" title:@"!" output:@"!" type:KBKeyTypeCharacter]; + KBKey *quote = [KBKey keyWithIdentifier:@"sym_quote_single" title:@"'" output:@"'" type:KBKeyTypeCharacter]; KBKey *back = [KBKey keyWithIdentifier:@"backspace" title:@"⌫" output:@"" @@ -133,23 +133,35 @@ r3 = @[ toggle, comma, dot, q, ex, quote, back ]; } else { // 数字第二页(#+=):前两行替换为更多符号,左下角按钮文案改为“123” - r1 = @[ [KBKey keyWithTitle:@"[" output:@"["], [KBKey keyWithTitle:@"]" output:@"]"], [KBKey keyWithTitle:@"{" output:@"{"], - [KBKey keyWithTitle:@"}" output:@"}"], [KBKey keyWithTitle:@"#" output:@"#"], [KBKey keyWithTitle:@"%" output:@"%"], - [KBKey keyWithTitle:@"^" output:@"^"], [KBKey keyWithTitle:@"*" output:@"*"], [KBKey keyWithTitle:@"+" output:@"+"], - [KBKey keyWithTitle:@"=" output:@"="] ]; - r2 = @[ [KBKey keyWithTitle:@"_" output:@"_"], [KBKey keyWithTitle:@"\\" output:@"\\"], [KBKey keyWithTitle:@"|" output:@"|"], - [KBKey keyWithTitle:@"~" output:@"~"], [KBKey keyWithTitle:@"<" output:@"<"], [KBKey keyWithTitle:@">" output:@">"], - [KBKey keyWithTitle:@"$" output:@"$"], [KBKey keyWithTitle:@"€" output:@"€"], [KBKey keyWithTitle:@"£" output:@"£"], - [KBKey keyWithTitle:@"•" output:@"•"] ]; + r1 = @[ [KBKey keyWithIdentifier:@"sym_bracket_l" title:@"[" output:@"[" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_bracket_r" title:@"]" output:@"]" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_brace_l" title:@"{" output:@"{" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_brace_r" title:@"}" output:@"}" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_hash" title:@"#" output:@"#" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_percent" title:@"%" output:@"%" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_caret" title:@"^" output:@"^" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_asterisk" title:@"*" output:@"*" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_plus" title:@"+" output:@"+" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_equal" title:@"=" output:@"=" type:KBKeyTypeCharacter] ]; + r2 = @[ [KBKey keyWithIdentifier:@"sym_underscore" title:@"_" output:@"_" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_backslash" title:@"\\" output:@"\\" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_pipe" title:@"|" output:@"|" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_tilde" title:@"~" output:@"~" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_lt" title:@"<" output:@"<" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_gt" title:@">" output:@">" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_dollar" title:@"$" output:@"$" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_euro" title:@"€" output:@"€" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_pound" title:@"£" output:@"£" type:KBKeyTypeCharacter], + [KBKey keyWithIdentifier:@"sym_bullet" title:@"•" output:@"•" type:KBKeyTypeCharacter] ]; KBKey *toggle = [KBKey keyWithIdentifier:@"symbols_toggle_123" title:@"123" output:@"" type:KBKeyTypeSymbolsToggle]; - KBKey *comma = [KBKey keyWithTitle:@"," output:@","]; - KBKey *dot = [KBKey keyWithTitle:@"." output:@"."]; - KBKey *q = [KBKey keyWithTitle:@"?" output:@"?"]; - KBKey *ex = [KBKey keyWithTitle:@"!" output:@"!"]; - KBKey *quote = [KBKey keyWithTitle:@"'" output:@"'"]; + KBKey *comma = [KBKey keyWithIdentifier:@"sym_comma" title:@"," output:@"," type:KBKeyTypeCharacter]; + KBKey *dot = [KBKey keyWithIdentifier:@"sym_dot" title:@"." output:@"." type:KBKeyTypeCharacter]; + KBKey *q = [KBKey keyWithIdentifier:@"sym_question" title:@"?" output:@"?" type:KBKeyTypeCharacter]; + KBKey *ex = [KBKey keyWithIdentifier:@"sym_exclam" title:@"!" output:@"!" type:KBKeyTypeCharacter]; + KBKey *quote = [KBKey keyWithIdentifier:@"sym_quote_single" title:@"'" output:@"'" type:KBKeyTypeCharacter]; KBKey *back = [KBKey keyWithIdentifier:@"backspace" title:@"⌫" output:@"" diff --git a/keyBoard/Class/Manager/KBSkinService.m b/keyBoard/Class/Manager/KBSkinService.m index 01ee4e7..55eea2e 100644 --- a/keyBoard/Class/Manager/KBSkinService.m +++ b/keyBoard/Class/Manager/KBSkinService.m @@ -27,42 +27,123 @@ dispatch_once(&onceToken, ^{ map = @{ // 字母键(大小写共用) - @"letter_q_lower": @"key_q", @"letter_q_upper": @"key_q", - @"letter_w_lower": @"key_w", @"letter_w_upper": @"key_w", - @"letter_e_lower": @"key_e", @"letter_e_upper": @"key_e", - @"letter_r_lower": @"key_r", @"letter_r_upper": @"key_r", - @"letter_t_lower": @"key_t", @"letter_t_upper": @"key_t", - @"letter_y_lower": @"key_y", @"letter_y_upper": @"key_y", - @"letter_u_lower": @"key_u", @"letter_u_upper": @"key_u", - @"letter_i_lower": @"key_i", @"letter_i_upper": @"key_i", - @"letter_o_lower": @"key_o", @"letter_o_upper": @"key_o", - @"letter_p_lower": @"key_p", @"letter_p_upper": @"key_p", + @"letter_q_lower": @"key_q", // 字母 q(小写) + @"letter_q_upper": @"key_q", // 字母 Q(大写) + @"letter_w_lower": @"key_w", // 字母 w(小写) + @"letter_w_upper": @"key_w", // 字母 W(大写) + @"letter_e_lower": @"key_e", // 字母 e(小写) + @"letter_e_upper": @"key_e", // 字母 E(大写) + @"letter_r_lower": @"key_r", // 字母 r(小写) + @"letter_r_upper": @"key_r", // 字母 R(大写) + @"letter_t_lower": @"key_t", // 字母 t(小写) + @"letter_t_upper": @"key_t", // 字母 T(大写) + @"letter_y_lower": @"key_y", // 字母 y(小写) + @"letter_y_upper": @"key_y", // 字母 Y(大写) + @"letter_u_lower": @"key_u", // 字母 u(小写) + @"letter_u_upper": @"key_u", // 字母 U(大写) + @"letter_i_lower": @"key_i", // 字母 i(小写) + @"letter_i_upper": @"key_i", // 字母 I(大写) + @"letter_o_lower": @"key_o", // 字母 o(小写) + @"letter_o_upper": @"key_o", // 字母 O(大写) + @"letter_p_lower": @"key_p", // 字母 p(小写) + @"letter_p_upper": @"key_p", // 字母 P(大写) - @"letter_a_lower": @"key_a", @"letter_a_upper": @"key_a", - @"letter_s_lower": @"key_s", @"letter_s_upper": @"key_s", - @"letter_d_lower": @"key_d", @"letter_d_upper": @"key_d", - @"letter_f_lower": @"key_f", @"letter_f_upper": @"key_f", - @"letter_g_lower": @"key_g", @"letter_g_upper": @"key_g", - @"letter_h_lower": @"key_h", @"letter_h_upper": @"key_h", - @"letter_j_lower": @"key_j", @"letter_j_upper": @"key_j", - @"letter_k_lower": @"key_k", @"letter_k_upper": @"key_k", - @"letter_l_lower": @"key_l", @"letter_l_upper": @"key_l", + @"letter_a_lower": @"key_a", // 字母 a(小写) + @"letter_a_upper": @"key_a", // 字母 A(大写) + @"letter_s_lower": @"key_s", // 字母 s(小写) + @"letter_s_upper": @"key_s", // 字母 S(大写) + @"letter_d_lower": @"key_d", // 字母 d(小写) + @"letter_d_upper": @"key_d", // 字母 D(大写) + @"letter_f_lower": @"key_f", // 字母 f(小写) + @"letter_f_upper": @"key_f", // 字母 F(大写) + @"letter_g_lower": @"key_g", // 字母 g(小写) + @"letter_g_upper": @"key_g", // 字母 G(大写) + @"letter_h_lower": @"key_h", // 字母 h(小写) + @"letter_h_upper": @"key_h", // 字母 H(大写) + @"letter_j_lower": @"key_j", // 字母 j(小写) + @"letter_j_upper": @"key_j", // 字母 J(大写) + @"letter_k_lower": @"key_k", // 字母 k(小写) + @"letter_k_upper": @"key_k", // 字母 K(大写) + @"letter_l_lower": @"key_l", // 字母 l(小写) + @"letter_l_upper": @"key_l", // 字母 L(大写) - @"letter_z_lower": @"key_z", @"letter_z_upper": @"key_z", - @"letter_x_lower": @"key_x", @"letter_x_upper": @"key_x", - @"letter_c_lower": @"key_c", @"letter_c_upper": @"key_c", - @"letter_v_lower": @"key_v", @"letter_v_upper": @"key_v", - @"letter_b_lower": @"key_b", @"letter_b_upper": @"key_b", - @"letter_n_lower": @"key_n", @"letter_n_upper": @"key_n", - @"letter_m_lower": @"key_m", @"letter_m_upper": @"key_m", + @"letter_z_lower": @"key_z", // 字母 z(小写) + @"letter_z_upper": @"key_z", // 字母 Z(大写) + @"letter_x_lower": @"key_x", // 字母 x(小写) + @"letter_x_upper": @"key_x", // 字母 X(大写) + @"letter_c_lower": @"key_c", // 字母 c(小写) + @"letter_c_upper": @"key_c", // 字母 C(大写) + @"letter_v_lower": @"key_v", // 字母 v(小写) + @"letter_v_upper": @"key_v", // 字母 V(大写) + @"letter_b_lower": @"key_b", // 字母 b(小写) + @"letter_b_upper": @"key_b", // 字母 B(大写) + @"letter_n_lower": @"key_n", // 字母 n(小写) + @"letter_n_upper": @"key_n", // 字母 N(大写) + @"letter_m_lower": @"key_m", // 字母 m(小写) + @"letter_m_upper": @"key_m", // 字母 M(大写) - // 功能键 - @"space": @"key_space", // 空格键 - @"backspace": @"key_del", // 删除键 - @"shift": @"key_up", // Shift(上箭头) - @"mode_123": @"key_123", // 字母面板左下角 "123" - @"ai": @"key_ai", // 自定义 AI 键 - @"return": @"key_send" // 发送/换行键 + // 数字键(数字面板顶行 1~0) + @"digit_1": @"key_1", // 数字 1 + @"digit_2": @"key_2", // 数字 2 + @"digit_3": @"key_3", // 数字 3 + @"digit_4": @"key_4", // 数字 4 + @"digit_5": @"key_5", // 数字 5 + @"digit_6": @"key_6", // 数字 6 + @"digit_7": @"key_7", // 数字 7 + @"digit_8": @"key_8", // 数字 8 + @"digit_9": @"key_9", // 数字 9 + @"digit_0": @"key_0", // 数字 0 + + // 常用符号(123 页第二行 + 第三行) + @"sym_minus": @"key_minus", // '-' + @"sym_slash": @"key_slash", // '/' + @"sym_colon": @"key_colon", // ':' + @"sym_semicolon": @"key_semicolon",// ';' + @"sym_paren_l": @"key_paren_l", // '(' + @"sym_paren_r": @"key_paren_r", // ')' + @"sym_dollar": @"key_dollar", // '$' + @"sym_amp": @"key_amp", // '&' + @"sym_at": @"key_at", // '@' + @"sym_quote_double": @"key_quote_d", // 双引号 " + + @"sym_comma": @"key_comma", // ',' + @"sym_dot": @"key_dot", // '.' + @"sym_question": @"key_question", // '?' + @"sym_exclam": @"key_exclam", // '!' + @"sym_quote_single": @"key_quote", // 单引号 ' + + // #+= 页额外符号(包括中括号/大括号等) + @"sym_bracket_l": @"key_bracket_l", // '[' + @"sym_bracket_r": @"key_bracket_r", // ']' + @"sym_brace_l": @"key_brace_l", // '{' + @"sym_brace_r": @"key_brace_r", // '}' + @"sym_hash": @"key_hash", // '#' + @"sym_percent": @"key_percent", // '%' + @"sym_caret": @"key_caret", // '^' + @"sym_asterisk": @"key_asterisk", // '*' + @"sym_plus": @"key_plus", // '+' + @"sym_equal": @"key_equal", // '=' + + @"sym_underscore": @"key_underscore", // '_' + @"sym_backslash": @"key_backslash", // '\' + @"sym_pipe": @"key_pipe", // '|' + @"sym_tilde": @"key_tilde", // '~' + @"sym_lt": @"key_lt", // '<' + @"sym_gt": @"key_gt", // '>' + @"sym_euro": @"key_euro", // '€' + @"sym_pound": @"key_pound", // '£' + @"sym_bullet": @"key_bullet", // '•' + + // 功能键(非字符输出) + @"space": @"key_space", // 空格键 + @"backspace": @"key_del", // 删除键(⌫) + @"shift": @"key_up", // Shift(⇧) + @"mode_123": @"key_123", // 字母面板左下角 "123" + @"mode_abc": @"key_abc", // 数字面板左下角 "abc" + @"symbols_toggle_more": @"key_symbols_more", // 数字面板内 "123 -> #+=" + @"symbols_toggle_123": @"key_symbols_123", // 数字面板内 "#+= -> 123" + @"ai": @"key_ai", // 自定义 AI 功能键 + @"return": @"key_send" // 发送/换行键 }; }); return map;