diff --git a/libmaxsi/Makefile b/libmaxsi/Makefile
index 380d4ab1..8f1ab344 100644
--- a/libmaxsi/Makefile
+++ b/libmaxsi/Makefile
@@ -63,7 +63,6 @@ c/h/stdint.h \
COMMONOBJS=c++.o memory.o heap.o string.o error.o format.o
SORTIXOBJS:=$(addprefix sortix/,$(COMMONOBJS))
LIBMAXSIOBJS:=$(COMMONOBJS) \
-sortix-keyboard.o \
sortix-sound.o \
process.o \
thread.o \
@@ -88,12 +87,10 @@ thread.h \
process.h \
types.h \
format.h \
-keyboard.h \
sortedlist.h \
signal.h \
signalnum.h \
sortix-vga.h \
-sortix-keyboard.h \
sortix-sound.h \
OBJS:=$(LIBMAXSIOBJS)
diff --git a/libmaxsi/hsrc/keyboard.h b/libmaxsi/hsrc/keyboard.h
deleted file mode 100644
index f41c0b99..00000000
--- a/libmaxsi/hsrc/keyboard.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/******************************************************************************
-
- COPYRIGHT(C) JONAS 'SORTIE' TERMANSEN 2011.
-
- This file is part of LibMaxsi.
-
- LibMaxsi is free software: you can redistribute it and/or modify it under
- the terms of the GNU Lesser General Public License as published by the Free
- Software Foundation, either version 3 of the License, or (at your option)
- any later version.
-
- LibMaxsi is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
- more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with LibMaxsi. If not, see .
-
- keyboard.h
- Provides constants for various useful keys related to keyboard input.
-
-******************************************************************************/
-
-#ifndef LIBMAXSI_KEYBOARD_H
-#define LIBMAXSI_KEYBOARD_H
-
-namespace Maxsi
-{
- namespace Keyboard
- {
- const uint32_t UNKNOWN = 0x40000000;
- const uint32_t ESC = 0x40000000 + 1;
- const uint32_t CTRL = 0x40000000 + 2;
- const uint32_t LSHFT = 0x40000000 + 3;
- const uint32_t RSHFT = 0x40000000 + 4;
- const uint32_t ALT = 0x40000000 + 5;
- const uint32_t F1 = 0x40000000 + 6;
- const uint32_t F2 = 0x40000000 + 7;
- const uint32_t F3 = 0x40000000 + 8;
- const uint32_t F4 = 0x40000000 + 9;
- const uint32_t F5 = 0x40000000 + 10;
- const uint32_t F6 = 0x40000000 + 11;
- const uint32_t F7 = 0x40000000 + 12;
- const uint32_t F8 = 0x40000000 + 13;
- const uint32_t F9 = 0x40000000 + 14;
- const uint32_t F10 = 0x40000000 + 15;
- const uint32_t F11 = 0x40000000 + 16;
- const uint32_t F12 = 0x40000000 + 17;
- const uint32_t SCRLCK = 0x40000000 + 18;
- const uint32_t HOME = 0x40000000 + 19;
- const uint32_t UP = 0x40000000 + 20;
- const uint32_t LEFT = 0x40000000 + 21;
- const uint32_t RIGHT = 0x40000000 + 22;
- const uint32_t DOWN = 0x40000000 + 23;
- const uint32_t PGUP = 0x40000000 + 24;
- const uint32_t PGDOWN = 0x40000000 + 25;
- const uint32_t END = 0x40000000 + 26;
- const uint32_t INS = 0x40000000 + 27;
- const uint32_t DEL = 0x40000000 + 28;
- const uint32_t CAPS = 0x40000000 + 29;
- const uint32_t NONE = 0x40000000 + 30;
- const uint32_t ALTGR = 0x40000000 + 31;
- const uint32_t NUMLCK = 0x40000000 + 32;
- const uint32_t SIGINT = 0x40000000 + 33;
- const uint32_t DEPRESSED = (1<<31);
- }
-}
-
-#endif
diff --git a/libmaxsi/hsrc/sortix-keyboard.h b/libmaxsi/hsrc/sortix-keyboard.h
deleted file mode 100644
index bcbca8cd..00000000
--- a/libmaxsi/hsrc/sortix-keyboard.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/******************************************************************************
-
- COPYRIGHT(C) JONAS 'SORTIE' TERMANSEN 2011.
-
- This file is part of LibMaxsi.
-
- LibMaxsi is free software: you can redistribute it and/or modify it under
- the terms of the GNU Lesser General Public License as published by the Free
- Software Foundation, either version 3 of the License, or (at your option)
- any later version.
-
- LibMaxsi is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
- more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with LibMaxsi. If not, see .
-
- sortix-keyboard.h
- Provides access to the keyboard input meant for this process. This is highly
- unportable and is very likely to be removed or changed radically.
-
-******************************************************************************/
-
-#ifndef LIBMAXSI_SORTIX_KEYBOARD_H
-#define LIBMAXSI_SORTIX_KEYBOARD_H
-
-#include
-#include
-
-namespace System
-{
- namespace Keyboard
- {
- // Receives the next pending 32-bit unicode character from the user's
- // input device (truncated to 30-bits). Bit (1<<31) is set if the key
- // was depressed. Bit (1<<30) is used for the various constants found
- // in . This is just a temporary API. Returns 0 if
- // no character point was available at this time.
- const unsigned WAIT = 0;
- const unsigned POLL = 1;
- uint32_t ReceiveKeystroke(unsigned method);
- }
-}
-
-#endif
diff --git a/libmaxsi/sortix-keyboard.cpp b/libmaxsi/sortix-keyboard.cpp
deleted file mode 100644
index 2b6d56db..00000000
--- a/libmaxsi/sortix-keyboard.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-/******************************************************************************
-
- COPYRIGHT(C) JONAS 'SORTIE' TERMANSEN 2011.
-
- This file is part of LibMaxsi.
-
- LibMaxsi is free software: you can redistribute it and/or modify it under
- the terms of the GNU Lesser General Public License as published by the Free
- Software Foundation, either version 3 of the License, or (at your option)
- any later version.
-
- LibMaxsi is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
- more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with LibMaxsi. If not, see .
-
- sortix-keyboard.cpp
- Provides access to the keyboard input meant for this process. This is highly
- unportable and is very likely to be removed or changed radically.
-
-******************************************************************************/
-
-#include "platform.h"
-#include "syscall.h"
-
-namespace System
-{
- namespace Keyboard
- {
- DEFN_SYSCALL1(uint32_t, SysReceiveKeystroke, SYSCALL_RECEIVE_KEYSTROKE, unsigned);
-
- uint32_t ReceiveKeystroke(unsigned method)
- {
- return SysReceiveKeystroke(method);
- }
- }
-}
-
diff --git a/sortix/Makefile b/sortix/Makefile
index e440eeb5..f12b5fdc 100644
--- a/sortix/Makefile
+++ b/sortix/Makefile
@@ -69,7 +69,6 @@ log.o \
utf8.o \
panic.o \
keyboard.o \
-kbapiadapter.o \
kb/ps2.o \
kb/layout/us.o \
scheduler.o \
diff --git a/sortix/fs/devfs.cpp b/sortix/fs/devfs.cpp
index 3d534eed..72e27bf6 100644
--- a/sortix/fs/devfs.cpp
+++ b/sortix/fs/devfs.cpp
@@ -150,95 +150,6 @@ namespace Sortix
atalist[ataid]->Refer();
}
- // TODO: Remove this deprecated class!
- class DevLogTTY : public DevTerminal
- {
- public:
- typedef DevTerminal BaseClass;
-
- public:
- DevLogTTY();
- virtual ~DevLogTTY();
-
- public:
- virtual ssize_t Read(byte* dest, size_t count);
- virtual ssize_t Write(const byte* src, size_t count);
- virtual bool IsReadable();
- virtual bool IsWritable();
- virtual bool SetMode(unsigned mode);
- virtual bool SetWidth(unsigned width);
- virtual bool SetHeight(unsigned height);
- virtual unsigned GetMode() const;
- virtual unsigned GetWidth() const;
- virtual unsigned GetHeight() const;
-
- };
-
- DevLogTTY::DevLogTTY()
- {
- }
-
- DevLogTTY::~DevLogTTY()
- {
- // TODO: Make an array of waiting threads on the keyboard..
- }
-
- ssize_t DevLogTTY::Read(byte* /*dest*/, size_t /*count*/)
- {
- // TODO: Read from keyboard.
- return 0;
- }
-
- ssize_t DevLogTTY::Write(const byte* src, size_t count)
- {
- if ( SSIZE_MAX < count ) { count = SSIZE_MAX; }
-
- return Log::deviceCallback(Log::devicePointer, (char*) src, count);
- }
-
- bool DevLogTTY::IsReadable()
- {
- return true;
- }
-
- bool DevLogTTY::IsWritable()
- {
- return true;
- }
-
- bool DevLogTTY::SetMode(unsigned mode)
- {
- if ( mode ) { Error::Set(ENOSYS); return false; }
- return true;
- }
-
- bool DevLogTTY::SetWidth(unsigned width)
- {
- if ( width != GetWidth() ) { Error::Set(ENOTSUP); return false; }
- return true;
- }
-
- bool DevLogTTY::SetHeight(unsigned height)
- {
- if ( height != GetHeight() ) { Error::Set(ENOTSUP); return false; }
- return true;
- }
-
- unsigned DevLogTTY::GetMode() const
- {
- return 0;
- }
-
- unsigned DevLogTTY::GetWidth() const
- {
- return 25;
- }
-
- unsigned DevLogTTY::GetHeight() const
- {
- return 80;
- }
-
class DevNull : public DevStream
{
public:
diff --git a/sortix/kbapiadapter.cpp b/sortix/kbapiadapter.cpp
deleted file mode 100644
index 3669c188..00000000
--- a/sortix/kbapiadapter.cpp
+++ /dev/null
@@ -1,142 +0,0 @@
-/******************************************************************************
-
- COPYRIGHT(C) JONAS 'SORTIE' TERMANSEN 2012.
-
- This file is part of Sortix.
-
- Sortix is free software: you can redistribute it and/or modify it under the
- terms of the GNU General Public License as published by the Free Software
- Foundation, either version 3 of the License, or (at your option) any later
- version.
-
- Sortix is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along
- with Sortix. If not, see .
-
- kbapidapter.cpp
- This class is a hack connecting the Keyboard and Keyboard layout classes
- with the older and really bad Keyboard API. This class is intended to be
- replaced by a real terminal driver working over /dev/tty descriptors.
-
-******************************************************************************/
-
-#include "platform.h"
-#include
-#include "scheduler.h" // SIGINT
-#include "keyboard.h"
-#include "keycodes.h"
-#include "kbapiadapter.h"
-
-namespace Sortix
-{
- KBAPIAdapter::KBAPIAdapter(Keyboard* keyboard, KeyboardLayout* kblayout)
- {
- this->keyboard = keyboard;
- this->kblayout = kblayout;
- this->control = false;
- this->queuelength = QUEUELENGTH;
- this->queueused = 0;
- this->queueoffset = 0;
- keyboard->SetOwner(this, NULL);
- }
-
- KBAPIAdapter::~KBAPIAdapter()
- {
- delete keyboard;
- delete kblayout;
- }
-
- void KBAPIAdapter::OnKeystroke(Keyboard* kb, void* /*user*/)
- {
- while ( kb->HasPending() )
- {
- ProcessKeystroke(kb->Read());
- }
- }
-
- void KBAPIAdapter::ProcessKeystroke(int kbkey)
- {
- if ( !kbkey ) { return; }
- int abskbkey = (kbkey < 0) ? -kbkey : kbkey;
-
- uint32_t unicode = kblayout->Translate(kbkey);
-
- // Now translate the keystroke into the older API's charset..
- uint32_t maxsicode = (unicode) ? unicode : ToMaxsiCode(abskbkey);
-
- if ( kbkey < 0 ) { maxsicode |= Maxsi::Keyboard::DEPRESSED; }
-
- if ( kbkey == KBKEY_LCTRL ) { control = true; }
- if ( kbkey == -KBKEY_LCTRL ) { control = false; }
- if ( control && kbkey == KBKEY_C )
- {
- Scheduler::SigIntHack();
- return;
- }
-
- if ( !QueueKeystroke(maxsicode) )
- {
- Log::PrintF("Warning: KBAPIAdapter driver dropping keystroke due "
- "to insufficient buffer space\n");
- }
- }
-
- uint32_t KBAPIAdapter::ToMaxsiCode(int abskbkey)
- {
- switch ( abskbkey )
- {
- case KBKEY_ESC: return Maxsi::Keyboard::ESC;
- case KBKEY_LCTRL: return Maxsi::Keyboard::CTRL;
- case KBKEY_LSHIFT: return Maxsi::Keyboard::LSHFT;
- case KBKEY_RSHIFT: return Maxsi::Keyboard::RSHFT;
- case KBKEY_LALT: return Maxsi::Keyboard::ALT;
- case KBKEY_F1: return Maxsi::Keyboard::F1;
- case KBKEY_F2: return Maxsi::Keyboard::F2;
- case KBKEY_F3: return Maxsi::Keyboard::F3;
- case KBKEY_F4: return Maxsi::Keyboard::F4;
- case KBKEY_F5: return Maxsi::Keyboard::F5;
- case KBKEY_F6: return Maxsi::Keyboard::F6;
- case KBKEY_F7: return Maxsi::Keyboard::F7;
- case KBKEY_F8: return Maxsi::Keyboard::F8;
- case KBKEY_F9: return Maxsi::Keyboard::F9;
- case KBKEY_F10: return Maxsi::Keyboard::F10;
- case KBKEY_F11: return Maxsi::Keyboard::F11;
- case KBKEY_F12: return Maxsi::Keyboard::F12;
- case KBKEY_SCROLLLOCK: return Maxsi::Keyboard::SCRLCK;
- case KBKEY_HOME: return Maxsi::Keyboard::HOME;
- case KBKEY_UP: return Maxsi::Keyboard::UP;
- case KBKEY_LEFT: return Maxsi::Keyboard::LEFT;
- case KBKEY_RIGHT: return Maxsi::Keyboard::RIGHT;
- case KBKEY_DOWN: return Maxsi::Keyboard::DOWN;
- case KBKEY_PGUP: return Maxsi::Keyboard::PGUP;
- case KBKEY_PGDOWN: return Maxsi::Keyboard::PGDOWN;
- case KBKEY_END: return Maxsi::Keyboard::END;
- case KBKEY_INSERT: return Maxsi::Keyboard::INS;
- case KBKEY_DELETE: return Maxsi::Keyboard::DEL;
- case KBKEY_CAPSLOCK: return Maxsi::Keyboard::CAPS;
- case KBKEY_RALT: return Maxsi::Keyboard::ALTGR;
- case KBKEY_NUMLOCK: return Maxsi::Keyboard::NUMLCK;
- default: return Maxsi::Keyboard::UNKNOWN;
- }
- }
-
- bool KBAPIAdapter::QueueKeystroke(uint32_t keystroke)
- {
- if ( queuelength <= queueused ) { return false; }
- queue[(queueoffset + queueused++) % queuelength] = keystroke;
- return true;
- }
-
- uint32_t KBAPIAdapter::DequeueKeystroke()
- {
- if ( !queueused ) { return 0; }
- uint32_t codepoint = queue[queueoffset++];
- queueoffset %= queuelength;
- queueused--;
- return codepoint;
- }
-}
diff --git a/sortix/kbapiadapter.h b/sortix/kbapiadapter.h
deleted file mode 100644
index 99f89bd7..00000000
--- a/sortix/kbapiadapter.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/******************************************************************************
-
- COPYRIGHT(C) JONAS 'SORTIE' TERMANSEN 2012.
-
- This file is part of Sortix.
-
- Sortix is free software: you can redistribute it and/or modify it under the
- terms of the GNU General Public License as published by the Free Software
- Foundation, either version 3 of the License, or (at your option) any later
- version.
-
- Sortix is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- details.
-
- You should have received a copy of the GNU General Public License along
- with Sortix. If not, see .
-
- kbapidapter.h
- This class is a hack connecting the Keyboard and Keyboard layout classes
- with the older and really bad Keyboard API. This class is intended to be
- replaced by a real terminal driver working over /dev/tty descriptors.
-
-******************************************************************************/
-
-#ifndef SORTIX_KBAPIADAPTER_H
-#define SORTIX_KBAPIADAPTER_H
-
-#include "keyboard.h"
-
-namespace Sortix
-{
- class KBAPIAdapter : public KeyboardOwner
- {
- public:
- KBAPIAdapter(Keyboard* keyboard, KeyboardLayout* kblayout);
- virtual ~KBAPIAdapter();
- virtual void OnKeystroke(Keyboard* keyboard, void* user);
-
- public:
- uint32_t DequeueKeystroke();
-
- private:
- void ProcessKeystroke(int kbkey);
- bool QueueKeystroke(uint32_t keystroke);
- static uint32_t ToMaxsiCode(int abskbkey);
-
- private:
- Keyboard* keyboard;
- KeyboardLayout* kblayout;
- bool control;
- static const size_t QUEUELENGTH = 1024UL;
- size_t queuelength;
- size_t queueused;
- size_t queueoffset;
- uint32_t queue[QUEUELENGTH];
-
- };
-}
-
-#endif
-
diff --git a/sortix/keyboard.cpp b/sortix/keyboard.cpp
index 59241932..245e8536 100644
--- a/sortix/keyboard.cpp
+++ b/sortix/keyboard.cpp
@@ -34,12 +34,6 @@ namespace Sortix
{
DevTerminal* tty;
- uint32_t SysReceiveKeystroke()
- {
- // TODO: Deprecated, please remove this.
- return 0;
- }
-
void Keyboard::Init()
{
Keyboard* keyboard = new PS2Keyboard(0x60, Interrupt::IRQ1);
@@ -50,8 +44,6 @@ namespace Sortix
tty = new LogTerminal(keyboard, kblayout);
if ( !tty ) { Panic("Could not allocate a simple terminal"); }
-
- Syscall::Register(SYSCALL_RECEIVE_KEYSTROKE, (void*) SysReceiveKeystroke);
}
}
diff --git a/sortix/serialterminal.cpp b/sortix/serialterminal.cpp
index 6e05008e..0a74f71d 100644
--- a/sortix/serialterminal.cpp
+++ b/sortix/serialterminal.cpp
@@ -24,7 +24,6 @@
#include "platform.h"
#include
-#include
#include "log.h"
#include "vga.h"
#include "keyboard.h"
diff --git a/sortix/syscallnum.h b/sortix/syscallnum.h
index ec5fb113..5be6f2a6 100644
--- a/sortix/syscallnum.h
+++ b/sortix/syscallnum.h
@@ -33,7 +33,6 @@
#define SYSCALL_CREATE_FRAME 5
#define SYSCALL_CHANGE_FRAME 6
#define SYSCALL_DELETE_FRAME 7
-#define SYSCALL_RECEIVE_KEYSTROKE 8
#define SYSCALL_SET_FREQUENCY 9
#define SYSCALL_EXEC 10
#define SYSCALL_PRINT_PATH_FILES 11