mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 16:12:44 +00:00 
			
		
		
		
	 9eb08bdb0f
			
		
	
	
		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;
 | |
| };
 | |
| 
 | |
| }
 |