int OUTPUTXSIZE = 90; int OUTPUTYSIZE = 120; int XSIZE = 15; int YSIZE = 20; int BGGREY= 60; int MARGIN=20; int NUMCHARS = 12; String typingBuff = ""; String outputBuff=""; PImage[] font = new PImage[128]; int[] CharMap = new int[128]; void setup() { size((NUMCHARS*OUTPUTXSIZE)+2*MARGIN, 3*MARGIN+OUTPUTYSIZE+YSIZE); background(BGGREY); loadSSDImages(); // initCharMapping(); /* for(i=0;i<128;i++) putChar(i, (i%16)*30, (i/16)*40);*/ }; void loadSSDImages() { int i=0; for(i=0; i<45; i++) font[i]=loadImage("blank.JPG"); font[45]=loadImage("blank.JPG"); // font[45]=loadImage("-.JPG"); for(i=46; i<48; i++) font[i]=loadImage("blank.JPG"); font[48]=loadImage("0.JPG"); font[49]=loadImage("1.JPG"); font[50]=loadImage("2.JPG"); font[51]=loadImage("3.JPG"); font[52]=loadImage("4.JPG"); font[53]=loadImage("5.JPG"); font[54]=loadImage("6.JPG"); font[55]=loadImage("7.JPG"); font[56]=loadImage("8.JPG"); font[57]=loadImage("9.JPG"); for(i=58; i<65; i++) font[i]=loadImage("blank.JPG"); // upper case letters. font[65]=loadImage("A.JPG"); font[66]=loadImage("blank.JPG"); font[67]=loadImage("C.JPG"); font[68]=loadImage("blank.JPG"); font[69]=loadImage("E.JPG"); font[70]=loadImage("F.JPG"); font[71]=loadImage("G.JPG"); font[72]=loadImage("H.JPG"); font[73]=loadImage("I.JPG"); font[74]=loadImage("J.JPG"); font[75]=loadImage("blank.JPG"); font[76]=loadImage("L.JPG"); font[77]=loadImage("blank.JPG"); font[78]=loadImage("N.JPG"); font[79]=loadImage("O.JPG"); font[80]=loadImage("P.JPG"); font[81]=loadImage("blank.JPG"); font[82]=loadImage("blank.JPG"); font[83]=loadImage("S.JPG"); font[84]=loadImage("T.JPG"); font[85]=loadImage("U.JPG"); font[86]=loadImage("blank.JPG"); font[87]=loadImage("blank.JPG"); font[88]=loadImage("blank.JPG"); font[89]=loadImage("Y.JPG"); font[90]=loadImage("Z.JPG"); for(i=91; i<95; i++) font[i]=loadImage("blank.JPG"); font[95]=loadImage("blank.JPG"); // font[95]=loadImage("_.JPG"); font[96]=loadImage("blank.JPG"); // lower case letters font[97]=loadImage("blank.JPG"); font[98]=loadImage("_b.JPG"); font[99]=loadImage("_c.JPG"); font[100]=loadImage("_d.JPG"); font[101]=loadImage("blank.JPG"); font[102]=loadImage("_f.JPG"); font[103]=loadImage("_g.JPG"); font[104]=loadImage("_h.JPG"); font[105]=loadImage("_i.JPG"); font[106]=loadImage("_j.JPG"); font[107]=loadImage("blank.JPG"); font[108]=loadImage("_l.JPG"); font[109]=loadImage("blank.JPG"); font[110]=loadImage("_n.JPG"); font[111]=loadImage("_o.JPG"); font[112]=loadImage("_p.JPG"); font[113]=loadImage("_q.JPG"); font[114]=loadImage("_r.JPG"); font[115]=loadImage("blank.JPG"); font[116]=loadImage("_t.JPG"); font[117]=loadImage("_u.JPG"); font[118]=loadImage("blank.JPG"); font[119]=loadImage("blank.JPG"); font[120]=loadImage("blank.JPG"); font[121]=loadImage("_y.JPG"); font[122]=loadImage("blank.JPG"); for(i=123; i<128; i++) font[i]=loadImage("blank.JPG"); } void putChar(int charIndex, int xpos, int ypos) { int actualIndex; if(charIndex >= 0 && charIndex < 128) { switch(charIndex) { case 97: actualIndex=65; break; case 66: actualIndex=98; break; case 68: actualIndex=100; break; case 81: actualIndex=113; break; case 101: actualIndex=69; break; case 82: actualIndex=114; break; case 115: actualIndex=83; break; case 122: actualIndex=90; break; default: actualIndex=charIndex; break; } // put image to screen image(font[actualIndex], xpos, ypos, XSIZE, YSIZE); } } void putChar(int charIndex, int xpos, int ypos, int xsize, int ysize) { int actualIndex; if(charIndex >= 0 && charIndex < 128) { switch(charIndex) { case 97: actualIndex=65; break; case 66: actualIndex=98; break; case 68: actualIndex=100; break; case 81: actualIndex=113; break; case 101: actualIndex=69; break; case 82: actualIndex=114; break; case 115: actualIndex=83; break; case 122: actualIndex=90; break; default: actualIndex=charIndex; break; } // put image to screen image(font[actualIndex], xpos, ypos, xsize, ysize); } } void draw() { //background(0); int charIndex; char k; // display current typing buffer at bottom of screen for(int i=0;i0){ typingBuff = typingBuff.substring(1); } background(BGGREY); break; case ENTER: // Avoid special keys case RETURN: sendBuffToDisplay(); break; case 65535: case 127: case 27: break; default: if(typingBuff.length()