From 114d028ac72dd923cc85425dae0964979dd0f918 Mon Sep 17 00:00:00 2001 From: Darren Burns Date: Wed, 14 Dec 2022 14:07:05 +0000 Subject: [PATCH] Ensure only printable keys added to footer --- src/textual/keys.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/textual/keys.py b/src/textual/keys.py index aac14c138..25fc148df 100644 --- a/src/textual/keys.py +++ b/src/textual/keys.py @@ -245,9 +245,14 @@ def _get_key_display(key: str) -> str: return display_alias original_key = REPLACED_KEYS.get(key, key) + upper_original = original_key.upper().replace("_", " ") try: - unicode_character = unicodedata.lookup(original_key.upper().replace("_", " ")) + unicode_character = unicodedata.lookup(upper_original) except KeyError: - return original_key.upper() + return upper_original - return unicode_character + # Check if printable. `delete` for example maps to a control sequence + # which we don't want to write to the terminal. + if unicode_character.isprintable(): + return unicode_character + return upper_original