CE Implement line editing
All checks were successful
Build documentation / build-and-deploy (push) Successful in 2m8s
All checks were successful
Build documentation / build-and-deploy (push) Successful in 2m8s
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#include <device/ps2_kb.h>
|
||||
#include <devices.h>
|
||||
#include <irq/irq.h>
|
||||
#include <kb_defs.h>
|
||||
#include <libk/ringbuffer.h>
|
||||
#include <libk/std.h>
|
||||
#include <proc/capability.h>
|
||||
@@ -20,28 +21,6 @@
|
||||
#define KB_DATA_IN_BUF 0x01
|
||||
#define KB_DATA 0x60
|
||||
|
||||
#define KB_SHIFT (1 << 0)
|
||||
#define KB_CTL (1 << 1)
|
||||
#define KB_ALT (1 << 2)
|
||||
|
||||
#define KB_CAPSLOCK (1 << 3)
|
||||
#define KB_NUMLOCK (1 << 4)
|
||||
#define KB_SCRLLOCK (1 << 5)
|
||||
#define KB_E0ESC (1 << 6)
|
||||
|
||||
#define KB_HOME 0xe0
|
||||
#define KB_END 0xe1
|
||||
#define KB_UP 0xe2
|
||||
#define KB_DOWN 0xe3
|
||||
#define KB_LEFT 0xe4
|
||||
#define KB_RIGHT 0xe5
|
||||
#define KB_PAGEUP 0xe6
|
||||
#define KB_PAGEDN 0xe7
|
||||
#define KB_INSERT 0xe8
|
||||
#define KB_DELETE 0xe9
|
||||
|
||||
#define C(x) ((x) - '@')
|
||||
|
||||
#define PS2KB_RINGBUFFER_MAX 2048
|
||||
|
||||
static struct ringbuffer ps2kb_ringbuffer;
|
||||
@@ -110,12 +89,12 @@ static uint8_t shiftmap[256] = {
|
||||
static uint8_t ctlmap[256] = {
|
||||
/* clang-format off */
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
C ('Q'), C ('W'), C ('E'), C ('R'), C ('T'), C ('Y'), C ('U'), C ('I'), C ('O'),
|
||||
C ('P'), 0x0, 0x0, '\r', 0x0, C ('A'), C ('S'), C ('D'), C ('F'), C ('G'), C ('H'),
|
||||
C ('J'), C ('K'), C ('L'), 0x0, 0x0, 0x0, 0x0, C ('\\'), C ('Z'), C ('X'), C ('C'),
|
||||
C ('V'), C ('B'), C ('N'), C ('M'), 0x0, 0x0, C ('/'), 0x0, 0x0,
|
||||
KB_CTRL ('Q'), KB_CTRL ('W'), KB_CTRL ('E'), KB_CTRL ('R'), KB_CTRL ('T'), KB_CTRL ('Y'), KB_CTRL ('U'), KB_CTRL ('I'), KB_CTRL ('O'),
|
||||
KB_CTRL ('P'), 0x0, 0x0, '\r', 0x0, KB_CTRL ('A'), KB_CTRL ('S'), KB_CTRL ('D'), KB_CTRL ('F'), KB_CTRL ('G'), KB_CTRL ('H'),
|
||||
KB_CTRL ('J'), KB_CTRL ('K'), KB_CTRL ('L'), 0x0, 0x0, 0x0, 0x0, KB_CTRL ('\\'), KB_CTRL ('Z'), KB_CTRL ('X'), KB_CTRL ('C'),
|
||||
KB_CTRL ('V'), KB_CTRL ('B'), KB_CTRL ('N'), KB_CTRL ('M'), 0x0, 0x0, KB_CTRL ('/'), 0x0, 0x0,
|
||||
[0x9C] = '\r',
|
||||
[0xB5] = C ('/'),
|
||||
[0xB5] = KB_CTRL ('/'),
|
||||
[0xc8] = KB_UP,
|
||||
[0xd0] = KB_DOWN,
|
||||
[0xc9] = KB_PAGEUP,
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include <proc/reschedule.h>
|
||||
|
||||
struct device;
|
||||
struct device_op_ctx;
|
||||
|
||||
int ps2kb_read_key (struct device* device, struct proc* proc, struct reschedule_ctx* rctx, void* a1,
|
||||
void* a2, void* a3, void* a4);
|
||||
|
||||
Reference in New Issue
Block a user