Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: TextLCD mbed PS2
keyname.cpp
00001 #include "keyname.h" 00002 00003 DigitalOut myled1(LED1); 00004 DigitalOut myled2(LED2); 00005 DigitalOut myled3(LED3); 00006 DigitalOut myled4(LED4); 00007 00008 char keyname(char scancode){ 00009 switch(scancode){ 00010 case 0x16: 00011 return '1'; 00012 case 0x1E: 00013 return '2'; 00014 case 0x26: 00015 return '3'; 00016 case 0x25: 00017 return '4'; 00018 case 0x2E: 00019 return '5'; 00020 case 0x36: 00021 return '6'; 00022 case 0x3D: 00023 return '7'; 00024 case 0x3E: 00025 return '8'; 00026 case 0x46: 00027 return '9'; 00028 case 0x45: 00029 return '0'; 00030 case 0x15: 00031 return 'Q'; 00032 case 0x1D: 00033 return 'W'; 00034 case 0x24: 00035 return 'E'; 00036 case 0x2D: 00037 return 'R'; 00038 case 0x2C: 00039 return 'T'; 00040 case 0x35: 00041 return 'Y'; 00042 case 0x3C: 00043 return 'U'; 00044 case 0x43: 00045 return 'I'; 00046 case 0x44: 00047 return 'O'; 00048 case 0x4D: 00049 return 'P'; 00050 case 0x1C: 00051 return 'A'; 00052 case 0x1B: 00053 return 'S'; 00054 case 0x23: 00055 return 'D'; 00056 case 0x2B: 00057 return 'F'; 00058 case 0x34: 00059 return 'G'; 00060 case 0x33: 00061 return 'H'; 00062 case 0x3B: 00063 return 'J'; 00064 case 0x42: 00065 return 'K'; 00066 case 0x4B: 00067 return 'L'; 00068 case 0x1A: 00069 return 'Z'; 00070 case 0x22: 00071 return 'X'; 00072 case 0x21: 00073 return 'C'; 00074 case 0x2A: 00075 return 'V'; 00076 case 0x32: 00077 return 'B'; 00078 case 0x31: 00079 return 'N'; 00080 case 0x3A: 00081 return 'M'; 00082 case 0x4e: 00083 return '-'; 00084 case 0x49: 00085 return '.'; 00086 case 0x29: 00087 return ' '; 00088 default: 00089 return '?'; 00090 } 00091 } 00092 00093 int curstr(char* str,int numchar,char c){ 00094 if((c != 0x66)&&(c != 0x5A)){ 00095 if(numchar < 32){ 00096 char k = keyname(c); 00097 if(k!= '?'){ 00098 str[numchar] = k; 00099 numchar++; 00100 } 00101 } 00102 else { 00103 myled1 = !myled1; 00104 myled2 = !myled2; 00105 myled3 = !myled3; 00106 myled4 = !myled4; 00107 wait(0.2); 00108 myled1 = !myled1; 00109 myled2 = !myled2; 00110 myled3 = !myled3; 00111 myled4 = !myled4; 00112 wait(0.2); 00113 } 00114 } 00115 else if(c == 0x66 && numchar > 0){ 00116 numchar = numchar - 1; 00117 str[numchar] = ' '; 00118 } 00119 return numchar; 00120 } 00121 00122 int keyhit(char* str,int numchar,PS2Keyboard::keyboard_event_t evt_kb){ 00123 00124 return numchar; 00125 }
Generated on Wed Jul 20 2022 01:09:21 by
1.7.2