From e1af852f2e998eec6175ed16e06f4f610f28a9f9 Mon Sep 17 00:00:00 2001 From: Daniele Verducci su MatissePenguin Date: Tue, 9 Feb 2021 18:54:30 +0100 Subject: [PATCH] WIP PS/2 Keyboard --- assets/misc/ps2_modeset_2_to_ascii.ods | Bin 15076 -> 15243 bytes .../os/drivers/ps2_keyboard_scancodeset2.asm | 265 +++++++++--------- 2 files changed, 132 insertions(+), 133 deletions(-) diff --git a/assets/misc/ps2_modeset_2_to_ascii.ods b/assets/misc/ps2_modeset_2_to_ascii.ods index 03f3b89278bcc358007c5a808a53e65da2928cfb..d0c9bb22d7a8865896e7da0a6a746fbdfb4407cc 100644 GIT binary patch delta 13430 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 delta 13170 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