bruce chan
/
send_online
USB keyboard
main.cpp@0:429b3e5d547d, 2017-11-06 (annotated)
- Committer:
- bruce_0205
- Date:
- Mon Nov 06 08:26:12 2017 +0000
- Revision:
- 0:429b3e5d547d
keyboard
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bruce_0205 | 0:429b3e5d547d | 1 | #include "mbed.h" |
bruce_0205 | 0:429b3e5d547d | 2 | #include "USBKeyboard.h" |
bruce_0205 | 0:429b3e5d547d | 3 | |
bruce_0205 | 0:429b3e5d547d | 4 | //LED1: NUM_LOCK, LED2: CAPS_LOCK, LED3: SCROLL_LOCK |
bruce_0205 | 0:429b3e5d547d | 5 | BusOut leds(LED1, LED2, LED3); |
bruce_0205 | 0:429b3e5d547d | 6 | DigitalIn button_SW2(PTC1); // Configure SW2 pin as input |
bruce_0205 | 0:429b3e5d547d | 7 | DigitalIn button_SW3(PTB17); // Configure SW3 pin as input |
bruce_0205 | 0:429b3e5d547d | 8 | #define SW2_printf 'S' // set SW2 button input key |
bruce_0205 | 0:429b3e5d547d | 9 | #define SW3_printf 'D' // set SW2 button input key |
bruce_0205 | 0:429b3e5d547d | 10 | USBKeyboard keyboard; |
bruce_0205 | 0:429b3e5d547d | 11 | |
bruce_0205 | 0:429b3e5d547d | 12 | int main() { |
bruce_0205 | 0:429b3e5d547d | 13 | int buttonPressedCount_SW2 = 0; |
bruce_0205 | 0:429b3e5d547d | 14 | int buttonPressedCount_SW3 = 0; |
bruce_0205 | 0:429b3e5d547d | 15 | |
bruce_0205 | 0:429b3e5d547d | 16 | while (!keyboard.configured()) { // wait until keyboard is configured |
bruce_0205 | 0:429b3e5d547d | 17 | } |
bruce_0205 | 0:429b3e5d547d | 18 | |
bruce_0205 | 0:429b3e5d547d | 19 | while (1) { |
bruce_0205 | 0:429b3e5d547d | 20 | leds = keyboard.lockStatus(); |
bruce_0205 | 0:429b3e5d547d | 21 | |
bruce_0205 | 0:429b3e5d547d | 22 | if (button_SW2.read()) { |
bruce_0205 | 0:429b3e5d547d | 23 | buttonPressedCount_SW2++; |
bruce_0205 | 0:429b3e5d547d | 24 | if (2 == buttonPressedCount_SW2) { // when button is pressed about 0.02s |
bruce_0205 | 0:429b3e5d547d | 25 | keyboard._putc(SW2_printf); // send SW2 key |
bruce_0205 | 0:429b3e5d547d | 26 | } |
bruce_0205 | 0:429b3e5d547d | 27 | } else { |
bruce_0205 | 0:429b3e5d547d | 28 | buttonPressedCount_SW2 = 0; |
bruce_0205 | 0:429b3e5d547d | 29 | } |
bruce_0205 | 0:429b3e5d547d | 30 | |
bruce_0205 | 0:429b3e5d547d | 31 | if (button_SW3.read()) { |
bruce_0205 | 0:429b3e5d547d | 32 | buttonPressedCount_SW3++; |
bruce_0205 | 0:429b3e5d547d | 33 | if (2 == buttonPressedCount_SW3) { // when button is pressed about 0.02s |
bruce_0205 | 0:429b3e5d547d | 34 | keyboard._putc(SW3_printf); // send SW3 key |
bruce_0205 | 0:429b3e5d547d | 35 | } |
bruce_0205 | 0:429b3e5d547d | 36 | } else { |
bruce_0205 | 0:429b3e5d547d | 37 | buttonPressedCount_SW3 = 0; |
bruce_0205 | 0:429b3e5d547d | 38 | } |
bruce_0205 | 0:429b3e5d547d | 39 | wait(0.01); |
bruce_0205 | 0:429b3e5d547d | 40 | } |
bruce_0205 | 0:429b3e5d547d | 41 | } |