diff --git a/emcc.c b/emcc.c index 40373d2..def12ac 100644 --- a/emcc.c +++ b/emcc.c @@ -56,6 +56,7 @@ extern void js_set_background_colour(const char *bg); extern void js_get_date_64(unsigned *p); extern void js_update_permalinks(const char *desc, const char *seed); extern void js_enable_undo_redo(bool undo, bool redo); +extern void js_update_key_labels(const char *lsk, const char *csk); extern void js_activate_timer(); extern void js_deactivate_timer(); extern void js_canvas_start_draw(void); @@ -247,6 +248,8 @@ void frontend_default_colour(frontend *fe, float *output) static void post_move(void) { js_enable_undo_redo(midend_can_undo(me), midend_can_redo(me)); + js_update_key_labels(midend_current_key_label(me, CURSOR_SELECT2), + midend_current_key_label(me, CURSOR_SELECT)); } /* diff --git a/emcclib.js b/emcclib.js index cee6d85..98c20f6 100644 --- a/emcclib.js +++ b/emcclib.js @@ -220,6 +220,21 @@ mergeInto(LibraryManager.library, { disable_menu_item(redo_button, (redo == 0)); }, + /* + * void js_enable_undo_redo(bool undo, bool redo); + * + * Update any labels for the SoftLeft and Enter keys. + */ + js_update_key_labels: function(lsk_ptr, csk_ptr) { + var elem; + var lsk_text = UTF8ToString(lsk_ptr); + var csk_text = UTF8ToString(csk_ptr); + for (elem of document.querySelectorAll("#puzzle .lsk")) + elem.textContent = lsk_text == csk_text ? "" : lsk_text; + for (elem of document.querySelectorAll("#puzzle .csk")) + elem.textContent = csk_text; + }, + /* * void js_activate_timer(); * diff --git a/kaios/apppage.pl b/kaios/apppage.pl index ecdffbc..f217643 100755 --- a/kaios/apppage.pl +++ b/kaios/apppage.pl @@ -293,7 +293,9 @@ body {