This commit is contained in:
2025-11-19 15:07:24 +08:00
parent 37e131eb09
commit 7518a29d2f
2 changed files with 164 additions and 71 deletions

View File

@@ -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:@""

View File

@@ -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;