2025-05-19 14:50:19 +08:00

66 lines
2.0 KiB
C

/*
* @cond
* The following section will be excluded from the documentation.
*/
/*
* Keyboard.h
*
* Created on: 20 Apr 2019
* Author: Peter
*/
#ifndef PS2KEYBOARD_H_
#define PS2KEYBOARD_H_
/* *********************************************************************************************************************
MMBasic
Keyboard.h
Include file that contains the globals and defines for Keyboard.c in MMBasic.
Copyright 2011 - 2018 Geoff Graham. All Rights Reserved.
This file and modified versions of this file are supplied to specific individuals or organisations under the following
provisions:
- This file, or any files that comprise the MMBasic source (modified or not), may not be distributed or copied to any other
person or organisation without written permission.
- Object files (.o and .hex files) generated using this file (modified or not) may not be distributed or copied to any other
person or organisation without written permission.
- This file is provided 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.
************************************************************************************************************************/
// global keyboard functions
extern void initKeyboard(void);
extern void CNInterrupt(uint64_t dd);
extern void MNInterrupt(uint64_t dd);
extern void CheckKeyboard(void);
extern volatile int PS2code;
extern volatile bool PS2int;
// definition of the keyboard PS/2 state machine
#define PS2START 0
#define PS2BIT 1
#define PS2PARITY 2
#define PS2STOP 3
#define PS2COMMAND 4
#define PS2ERROR 9
// definitions related to setting the keyboard type
#define NO_KEYBOARD 0
#define CONFIG_US 1
#define CONFIG_FR 2
#define CONFIG_GR 3
#define CONFIG_IT 4
#define CONFIG_BE 5
#define CONFIG_UK 6
#define CONFIG_ES 7
#define CONFIG_BR 8
#define CONFIG_I2C 128
#endif /* PS2KEYBOARD_H_ */
/* @endcond */