driver to control n by m matrix keyboard with external pull-ups on columns
Dependents: LoopCounter HelloKeypad MultiKey EventKeypad ... more
Key.h
- Committer:
- Hotboards
- Date:
- 2016-03-04
- Revision:
- 2:e870110f753b
- Parent:
- 0:4ca112f96484
File content as of revision 2:e870110f753b:
/* || || @file Key.h || @version 1.0 || @author Mark Stanley || @contact mstanley@technologist.com || || @description || | Key class provides an abstract definition of a key or button || | and was initially designed to be used in conjunction with a || | state-machine. || # || || @license || | This library 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; version || | 2.1 of the License. || | || | This library 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 this library; if not, write to the Free Software || | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA || # || */ #ifndef KEY_H #define KEY_H #include "mbed.h" #define OPEN 0 #define CLOSED 1 typedef unsigned int uint; typedef enum{ IDLE, PRESSED, HOLD, RELEASED } KeyState; const char NO_KEY = '\0'; class Key { public: // members char kchar; int kcode; KeyState kstate; bool stateChanged; // methods Key(); Key(char userKeyChar); void key_update(char userKeyChar, KeyState userState, bool userStatus); private: }; #endif /* || @changelog || | 1.0 2012-06-04 - Mark Stanley : Initial Release || # */