diff --git a/src/keyboard.c b/src/keyboard.c index f5928d2..5b2d45e 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -95,6 +95,18 @@ static void handle_card_movement(struct cursor *cursor) { } } break; + case 'M': + if (origin == cursor_stack(cursor) && maneuvre_stack(*origin)) { + for (struct stack *i = *origin; i && i->next; i = i->next) { + while (i->next->card->face == EXPOSED && + (i->card->frame->begin_y - i->next->card->frame->begin_y) > 1) { + erase_stack(*origin); + card_mark(i->next->card); + draw_stack(*origin); + } + } + } + break; case 'n': if (origin == cursor_stack(cursor) && maneuvre_stack(*origin)) { for (struct stack *i = (*origin)->next; i; i = i->next) { @@ -116,6 +128,15 @@ static void handle_card_movement(struct cursor *cursor) { } } break; + case 'N': + if (origin == cursor_stack(cursor) && maneuvre_stack(*origin)) { + erase_stack(*origin); + unmark_cards(*origin); + card_mark((*origin)->card); + draw_stack(*origin); + } + break; + case KEY_SPACEBAR:; /* http://www.mail-archive.com/gcc-bugs@gcc.gnu.org/msg259382.html */ struct stack **destination = cursor_stack(cursor);