diff --git a/src/keyboard.c b/src/keyboard.c
index 1441ffa4e73b15a5c3c39bce06e0bae40cbafb75..8904a99a21a62d367d8e56273f8a62b67441322b 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -41,11 +41,11 @@ void init_keymapping()
     KEY_MAPPING[0x02] = (key_t){'1', '!'};
     KEY_MAPPING[0x03] = (key_t){'2', '@'};
     KEY_MAPPING[0x04] = (key_t){'3', '#'};
-    KEY_MAPPING[0x05] = (key_t){'4', 0};
-    KEY_MAPPING[0x06] = (key_t){'5', 0};
-    KEY_MAPPING[0x07] = (key_t){'6', 0};
+    KEY_MAPPING[0x05] = (key_t){'4', '$'};
+    KEY_MAPPING[0x06] = (key_t){'5', '%'};
+    KEY_MAPPING[0x07] = (key_t){'6', '^'};
     KEY_MAPPING[0x08] = (key_t){'7', '&'};
-    KEY_MAPPING[0x09] = (key_t){'8', 0};
+    KEY_MAPPING[0x09] = (key_t){'8', '*'};
     KEY_MAPPING[0x0A] = (key_t){'9', '('};
     KEY_MAPPING[0x0B] = (key_t){'0', ')'};
     KEY_MAPPING[0x0C] = (key_t){'-', '_'};
@@ -55,6 +55,17 @@ void init_keymapping()
     KEY_MAPPING[0x1C] = (key_t){'\n', '\n'};
     KEY_MAPPING[0x0F] = (key_t){'\t', '\t'};
     KEY_MAPPING[0x0E] = (key_t){'\b', '\b'}; // del
+
+    // Punctuation signs
+    KEY_MAPPING[0x0D] = (key_t){'=', '+'};
+    KEY_MAPPING[0x27] = (key_t){';', ':'};
+    KEY_MAPPING[0x33] = (key_t){',', '<'};
+    KEY_MAPPING[0x34] = (key_t){'.', '>'};
+    KEY_MAPPING[0x35] = (key_t){'/', '?'};
+    KEY_MAPPING[0x1A] = (key_t){'[', '{'};
+    KEY_MAPPING[0x1B] = (key_t){']', '}'};
+    KEY_MAPPING[0x2B] = (key_t){0, '|'};
+    KEY_MAPPING[0x29] = (key_t){'`', 0};
 }
 
 char keyboard_map(unsigned char code)