mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-23 09:51:57 -05:00
9eb08bdb0f
This helps avoid confusion in general, and make constructors, methods and code patterns much more clean and understandable.
34 lines
595 B
C++
34 lines
595 B
C++
/*
|
|
* Copyright (c) 2021, Liav A. <liavalb@hotmail.co.il>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <Kernel/Devices/CharacterDevice.h>
|
|
#include <Kernel/Random.h>
|
|
|
|
namespace Kernel {
|
|
|
|
class HIDDevice : public CharacterDevice {
|
|
public:
|
|
enum class Type {
|
|
Unknown = 0,
|
|
Keyboard,
|
|
Mouse,
|
|
};
|
|
|
|
virtual Type instrument_type() const = 0;
|
|
virtual void enable_interrupts() = 0;
|
|
|
|
protected:
|
|
HIDDevice(MajorNumber major, MinorNumber minor)
|
|
: CharacterDevice(major, minor)
|
|
{
|
|
}
|
|
|
|
EntropySource m_entropy_source;
|
|
};
|
|
|
|
}
|