feat(sdk/ime): 数字键盘改居中九键布局 (1-9 自上而下 3x3,0 垫底居中,底行 ESC|0|退格+OK) + 全链重链 (meow_ui.a ee71b94a; hello 8cb81964/files 8b2b2373/ncm 4e975d6d 已热更到卡)。宿主 test_ime_fix/test_pinyin 全 PASS
This commit is contained in:
1 parent
7029c3b187
commit
f901e097f6
1 file changed
+17
-14
+17
-14
@@ -197,23 +197,26 @@ static void build_kb(meow_ime_mode mode)
|
||||
add_key(x + GCOL, y + GCOL * 4, (GW + GAP) * 6, GH, K_SPACE, ' ');
|
||||
add_key(x + GCOL * 8, y + GCOL * 4, 2 * GW + GAP, GH, K_ENTER, '>');
|
||||
}
|
||||
} else { /* MEOW_IME_NUM:ESC(取消/关闭) + 空格 + 退格;单独一行回车(OK=只提交不关闭)。
|
||||
} else { /* MEOW_IME_NUM:居中九键数字盘(用户定案)——1-9 从上到下 3×3,0 垫底居中;
|
||||
* 顶行保留常用符号;底行 ESC(取消/关闭) | 0 | 退格+OK(只提交不关闭)。
|
||||
* M2.71-bug7:修掉旧版「同格重叠的 BACK+ENTER」与重复回车。
|
||||
* M2.71-IME-fix:回车不再关闭(与 ASCII 一致),关闭走 ESC/背景。 */
|
||||
add_ch_row(y, "1234567890");
|
||||
add_ch_row(y + GCOL, "-/.:*#+=");
|
||||
add_ch_row(y, "-/.:*#+="); /* 符号行(8 键居中) */
|
||||
{
|
||||
int total = 10 * GW + 9 * GAP;
|
||||
int x = (480 - total) / 2;
|
||||
add_key(x, y + GCOL * 2, GW, GH, K_ESC, 'X'); /* 取消/关闭(丢弃) */
|
||||
add_key(x + GCOL, y + GCOL * 2, (GW + GAP) * 7, GH, K_SPACE, ' '); /* 空格 */
|
||||
add_key(x + GCOL * 8, y + GCOL * 2, (GW + GAP) * 2 - GAP, GH, K_BACK, '<'); /* 退格 */
|
||||
}
|
||||
/* 回车(OK=只提交不关闭) */
|
||||
{
|
||||
int total = 10 * GW + 9 * GAP;
|
||||
int x = (480 - total) / 2;
|
||||
add_key(x + GCOL * 4, y + GCOL * 3, 2 * GW + GAP, GH, K_ENTER, '>');
|
||||
/* 九键:3 列 × 100px 宽、列距 20,整体 340 宽居中(x0=70,190,310)。 */
|
||||
const int NW = 100, NG = 20;
|
||||
const int x0 = (480 - (3 * NW + 2 * NG)) / 2; /* = 70 */
|
||||
static const char pad[3][4] = { "123", "456", "789" };
|
||||
for (int r = 0; r < 3; r++)
|
||||
for (int c = 0; c < 3; c++)
|
||||
add_key(x0 + c * (NW + NG), y + GCOL * (1 + r), NW, GH, K_CH, pad[r][c]);
|
||||
/* 底行:ESC(取消/关闭) | 0 | BACK + OK(只提交不关闭)。BACK/OK 各半格。 */
|
||||
int yb = y + GCOL * 4;
|
||||
add_key(x0, yb, NW, GH, K_ESC, 'X');
|
||||
add_key(x0 + (NW + NG), yb, NW, GH, K_CH, '0');
|
||||
int x3 = x0 + 2 * (NW + NG); /* 第 3 列左缘 */
|
||||
add_key(x3, yb, (NW - GAP) / 2, GH, K_BACK, '<');
|
||||
add_key(x3 + (NW - GAP) / 2 + GAP, yb, (NW - GAP) / 2, GH, K_ENTER, '>');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user