I've had two complaints that Solo ought to recognise the numeric

keypad. The reason it doesn't is because front ends were carefully
translating the numeric keypad into 8-way directional keys for the
benefit of Cube. Therefore, a policy change:
 - front ends process the numeric keypad by sending MOD_NUM_KEYPAD |
   '3' and similar
 - front ends running on a platform with Num Lock SHOULD do this
   _irrespective_ of the state of Num Lock
 - back ends do whatever they see fit with numeric keypad keys.
Result: the numeric keypad now works in Solo, and also works in OS X
Cube (which it previously didn't because I forgot to implement that
bit of the front end!).

[originally from svn r5774]
This commit is contained in:
Simon Tatham
2005-05-12 18:25:57 +00:00
parent 8f1c713735
commit 68d27f0526
6 changed files with 82 additions and 43 deletions

2
solo.c
View File

@ -1781,6 +1781,8 @@ static game_state *make_move(game_state *from, game_ui *ui, int x, int y,
int tx, ty;
game_state *ret;
button &= ~MOD_NUM_KEYPAD; /* we treat this the same as normal */
tx = (x + TILE_SIZE - BORDER) / TILE_SIZE - 1;
ty = (y + TILE_SIZE - BORDER) / TILE_SIZE - 1;