_mu ki
/
Clicker
Clicker for presentation using wii Remote.
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 #include "USBMouseKeyboard.h" 00003 00004 DigitalOut myled1(LED1); 00005 DigitalOut myled2(LED2); 00006 DigitalOut myled3(LED3); 00007 00008 Serial pc(USBTX, USBRX); 00009 Serial ctrl(p9, p10); 00010 USBMouseKeyboard key_mouse; 00011 00012 int main() { 00013 int pad=0; 00014 char str[128]; 00015 myled2 = 0; 00016 myled3 = 0; 00017 int counter=0; 00018 00019 pc.printf("HELLO"); 00020 00021 while(1) { 00022 00023 if(ctrl.readable()) { 00024 myled3 = 1; 00025 // pc.putc(ctrl.getc()); 00026 // printf("%d\r\n",ctrl.getc()); 00027 pad = ctrl.getc(); 00028 pc.putc(pad); 00029 00030 if(pad == 85){ // 'U' 00031 pc.printf("u "); 00032 key_mouse.move (0, -5); // mouse move 00033 myled2 = 1; 00034 }else{;} 00035 00036 if(pad == 68){ // 'D' 00037 pc.printf("d "); 00038 key_mouse.move (0, 5); // mouse move 00039 myled2 = 1; 00040 }else{;} 00041 if(pad == 82){ // 'R' 00042 pc.printf("r "); 00043 key_mouse.move (5, 0); // mouse move 00044 myled2 = 1; 00045 }else{;} 00046 if(pad == 76){ // 'L' 00047 pc.printf("l "); 00048 key_mouse.move (-5, 0); // mouse move 00049 myled2 = 1; 00050 }else{;} 00051 00052 if(counter < 20){ 00053 counter ++; 00054 00055 }else{ 00056 counter = 0; 00057 00058 if(pad == 48){ //'0' plus + minus 00059 pc.printf("0 "); 00060 key_mouse.putc('-'); //ESC 00061 myled2 = 1; 00062 } 00063 else if(pad == 80){ //'P' plus 00064 pc.printf("p "); 00065 key_mouse.putc(RIGHT_ARROW); //RIGHT_ARROW 00066 myled2 = 1; 00067 00068 } 00069 else if(pad == 77){ // 'M' minus 00070 pc.printf("m "); 00071 key_mouse.putc(LEFT_ARROW); // keyCode: LEFT_ARROW 00072 myled2 = 1; 00073 00074 }else{;} 00075 00076 if(pad == 67){ // 'C' A+B 00077 pc.printf("c "); 00078 // key_mouse._putc(KEY_LF); // 00079 key_mouse._putc(KEY_F5); // Enter 00080 myled2 = 1; 00081 }else if(pad == 65){ // 'A' 00082 pc.printf("a "); 00083 key_mouse.click(MOUSE_LEFT); 00084 myled2 = 1; 00085 }else if(pad == 66){ // 'B' 00086 pc.printf("b "); 00087 key_mouse.click(MOUSE_RIGHT); 00088 myled2 = 1; 00089 }else{;} 00090 00091 if(pad == 51){ // '3' 1 + 2 00092 pc.printf("_ "); 00093 // key_mouse._putc(KEY_F5); // Enter 00094 key_mouse.putc('-'); //ESC 00095 myled2 = 1; 00096 }else if(pad == 49){ // '1' 00097 pc.printf("< "); 00098 key_mouse._putc('W'); // white 00099 myled2 = 1; 00100 }else if(pad == 50){ // '2' 00101 pc.printf("> "); 00102 key_mouse._putc('B'); // black 00103 myled2 = 1; 00104 }else{;} 00105 00106 if(pad == 72){ // 'H' 00107 pc.printf("h "); 00108 key_mouse.putc(KEY_HOME); 00109 myled2 = 1; 00110 }else{;} 00111 } 00112 00113 pad =0; // reset 00114 } 00115 00116 myled1 = !myled1; 00117 if(!myled1) myled2 = 0; 00118 if(!myled1) myled3 = 0; 00119 } 00120 }
Generated on Wed Jul 13 2022 23:08:24 by 1.7.2