class library for a TS Keyboard, then press enter and the values are stored and the keypad disappears.

Fork of F7_TSKeypad_MultiKey by Armand Coetzer

Revision:
1:a236c0568cdf
Child:
2:c5532af8da08
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/F7_TSKeyboard.cpp	Tue Jun 20 11:58:10 2017 +0000
@@ -0,0 +1,1425 @@
+#include "F7_TSKeyboard.h"
+#include "mbed.h"
+
+F7_TSKeyboard::F7_TSKeyboard()
+{
+    btnsize = 35;
+    state = 0;
+    key = 0;
+    Caps = 0;
+    Func = 0;
+    
+    status = ts.Init(lcd.GetXSize(), lcd.GetYSize());
+    if (status != TS_OK) 
+    {
+        lcd.Clear(LCD_COLOR_RED);
+        lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN INIT FAIL", CENTER_MODE);
+        while(1);
+    }
+    else 
+    {
+        OK = 1;
+        
+    }
+    
+    ticker.attach(callback(this, &F7_TSKeyboard::Detect_isr),0.01);
+}
+
+void F7_TSKeyboard::Detect_isr()
+{                 
+    if(OK)
+    {       
+        ts.GetState(&TS_State);
+        
+        if (TS_State.touchDetected) 
+        {            
+            
+        ///////////////////////check correct touch//////////////////////////////////////////////////////////////
+            if(TS_State.touchX[0]>= keypadstartX[0][0] && TS_State.touchX[0]<= keypadendX[0][0] && TS_State.touchY[0]>= keypadstartY[0][0] && TS_State.touchY[0]<= keypadendY[0][0] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 1; 
+                if(button == key)
+                {   
+                    lcd.SetTextColor(LCD_COLOR_GRAY); 
+                    lcd.FillRect(keypadstartX[0][0], keypadstartY[0][0], btnsize, btnsize);     
+                }
+                                 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[0][1] && TS_State.touchX[0]<= keypadendX[0][1] && TS_State.touchY[0]>= keypadstartY[0][1] && TS_State.touchY[0]<= keypadendY[0][1] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 2;
+                if(button == key)
+                {
+                    lcd.SetTextColor(LCD_COLOR_GRAY); 
+                    lcd.FillRect(keypadstartX[0][1], keypadstartY[0][1], btnsize, btnsize); 
+                }
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[0][2] && TS_State.touchX[0]<= keypadendX[0][2] && TS_State.touchY[0]>= keypadstartY[0][2] && TS_State.touchY[0]<= keypadendY[0][2] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 3;
+                if(button == key)
+                {
+                    lcd.SetTextColor(LCD_COLOR_GRAY); 
+                    lcd.FillRect(keypadstartX[0][2], keypadstartY[0][2], btnsize, btnsize);
+                } 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[0][3] && TS_State.touchX[0]<= keypadendX[0][3] && TS_State.touchY[0]>= keypadstartY[0][3] && TS_State.touchY[0]<= keypadendY[0][3] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 4;
+                if(button == key)
+                {
+                    lcd.SetTextColor(LCD_COLOR_GRAY); 
+                    lcd.FillRect(keypadstartX[0][3], keypadstartY[0][3], btnsize, btnsize); 
+                }
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[0][4] && TS_State.touchX[0]<= keypadendX[0][4] && TS_State.touchY[0]>= keypadstartY[0][4] && TS_State.touchY[0]<= keypadendY[0][4] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 5;
+                if(button == key)
+                {
+                    lcd.SetTextColor(LCD_COLOR_GRAY); 
+                    lcd.FillRect(keypadstartX[0][4], keypadstartY[0][4], btnsize, btnsize);
+                } 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[0][5] && TS_State.touchX[0]<= keypadendX[0][5] && TS_State.touchY[0]>= keypadstartY[0][5] && TS_State.touchY[0]<= keypadendY[0][5] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 6;
+                if(button == key)
+                {
+                    lcd.SetTextColor(LCD_COLOR_GRAY); 
+                    lcd.FillRect(keypadstartX[0][5], keypadstartY[0][5], btnsize, btnsize); 
+                }
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[0][6] && TS_State.touchX[0]<= keypadendX[0][6] && TS_State.touchY[0]>= keypadstartY[0][6] && TS_State.touchY[0]<= keypadendY[0][6] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 7;
+                if(button == key)
+                {
+                    lcd.SetTextColor(LCD_COLOR_GRAY); 
+                    lcd.FillRect(keypadstartX[0][6], keypadstartY[0][6], btnsize, btnsize);
+                } 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[0][7] && TS_State.touchX[0]<= keypadendX[0][7] && TS_State.touchY[0]>= keypadstartY[0][7] && TS_State.touchY[0]<= keypadendY[0][7] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 8;
+                if(button == key)
+                {
+                    lcd.SetTextColor(LCD_COLOR_GRAY); 
+                    lcd.FillRect(keypadstartX[0][7], keypadstartY[0][7], btnsize, btnsize);
+                } 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[0][8] && TS_State.touchX[0]<= keypadendX[0][8] && TS_State.touchY[0]>= keypadstartY[0][8] && TS_State.touchY[0]<= keypadendY[0][8] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 9;
+                if(button == key)
+                {
+                    lcd.SetTextColor(LCD_COLOR_GRAY); 
+                    lcd.FillRect(keypadstartX[0][8], keypadstartY[0][8], btnsize, btnsize); 
+                }
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[0][9] && TS_State.touchX[0]<= keypadendX[0][9] && TS_State.touchY[0]>= keypadstartY[0][9] && TS_State.touchY[0]<= keypadendY[0][9] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 10;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[0][9], keypadstartY[0][9], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[1][0] && TS_State.touchX[0]<= keypadendX[1][0] && TS_State.touchY[0]>= keypadstartY[1][0] && TS_State.touchY[0]<= keypadendY[1][0] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 11;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[1][0], keypadstartY[1][0], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[1][1] && TS_State.touchX[0]<= keypadendX[1][1] && TS_State.touchY[0]>= keypadstartY[1][1] && TS_State.touchY[0]<= keypadendY[1][1] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 12;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[1][1], keypadstartY[1][1], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[1][2] && TS_State.touchX[0]<= keypadendX[1][2] && TS_State.touchY[0]>= keypadstartY[1][2] && TS_State.touchY[0]<= keypadendY[1][2] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 13;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[1][2], keypadstartY[1][2], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[1][3] && TS_State.touchX[0]<= keypadendX[1][3] && TS_State.touchY[0]>= keypadstartY[1][3] && TS_State.touchY[0]<= keypadendY[1][3] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 14;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[1][3], keypadstartY[1][3], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[1][4] && TS_State.touchX[0]<= keypadendX[1][4] && TS_State.touchY[0]>= keypadstartY[1][4] && TS_State.touchY[0]<= keypadendY[1][4] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 15;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[1][4], keypadstartY[1][4], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[1][5] && TS_State.touchX[0]<= keypadendX[1][5] && TS_State.touchY[0]>= keypadstartY[1][5] && TS_State.touchY[0]<= keypadendY[1][5] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 16;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[1][5], keypadstartY[1][5], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[1][6] && TS_State.touchX[0]<= keypadendX[1][6] && TS_State.touchY[0]>= keypadstartY[1][6] && TS_State.touchY[0]<= keypadendY[1][6] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 17;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[1][6], keypadstartY[1][6], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[1][7] && TS_State.touchX[0]<= keypadendX[1][7] && TS_State.touchY[0]>= keypadstartY[1][7] && TS_State.touchY[0]<= keypadendY[1][7] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 18;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[1][7], keypadstartY[1][7], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[1][8] && TS_State.touchX[0]<= keypadendX[1][8] && TS_State.touchY[0]>= keypadstartY[1][8] && TS_State.touchY[0]<= keypadendY[1][8] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 19;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[1][8], keypadstartY[1][8], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[1][9] && TS_State.touchX[0]<= keypadendX[1][9] && TS_State.touchY[0]>= keypadstartY[1][9] && TS_State.touchY[0]<= keypadendY[1][9] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 20;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[1][9], keypadstartY[1][9], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[2][0] && TS_State.touchX[0]<= keypadendX[2][0] && TS_State.touchY[0]>= keypadstartY[2][0] && TS_State.touchY[0]<= keypadendY[2][0] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 21;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[2][0], keypadstartY[2][0], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[2][1] && TS_State.touchX[0]<= keypadendX[2][1] && TS_State.touchY[0]>= keypadstartY[2][1] && TS_State.touchY[0]<= keypadendY[2][1] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 22;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[2][1], keypadstartY[2][1], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[2][2] && TS_State.touchX[0]<= keypadendX[2][2] && TS_State.touchY[0]>= keypadstartY[2][2] && TS_State.touchY[0]<= keypadendY[2][2] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 23;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[2][2], keypadstartY[2][2], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[2][3] && TS_State.touchX[0]<= keypadendX[2][3] && TS_State.touchY[0]>= keypadstartY[2][3] && TS_State.touchY[0]<= keypadendY[2][3] && keypad == 1)
+            {
+                correcttouch = 1; 
+                button = 24;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[2][3], keypadstartY[2][3], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[2][4] && TS_State.touchX[0]<= keypadendX[2][4] && TS_State.touchY[0]>= keypadstartY[2][4] && TS_State.touchY[0]<= keypadendY[2][4] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 25;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[2][4], keypadstartY[2][4], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[2][5] && TS_State.touchX[0]<= keypadendX[2][5] && TS_State.touchY[0]>= keypadstartY[2][5] && TS_State.touchY[0]<= keypadendY[2][5] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 26;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[2][5], keypadstartY[2][5], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[2][6] && TS_State.touchX[0]<= keypadendX[2][6] && TS_State.touchY[0]>= keypadstartY[2][6] && TS_State.touchY[0]<= keypadendY[2][6] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 27;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[2][6], keypadstartY[2][6], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[2][7] && TS_State.touchX[0]<= keypadendX[2][7] && TS_State.touchY[0]>= keypadstartY[2][7] && TS_State.touchY[0]<= keypadendY[2][7] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 28;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[2][7], keypadstartY[2][7], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[2][8] && TS_State.touchX[0]<= keypadendX[2][8] && TS_State.touchY[0]>= keypadstartY[2][8] && TS_State.touchY[0]<= keypadendY[2][8] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 29;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[2][8], keypadstartY[2][8], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[2][9] && TS_State.touchX[0]<= keypadendX[2][9] && TS_State.touchY[0]>= keypadstartY[2][9] && TS_State.touchY[0]<= keypadendY[2][9] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 30;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[2][9], keypadstartY[2][9], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[3][0] && TS_State.touchX[0]<= keypadendX[3][0] && TS_State.touchY[0]>= keypadstartY[3][0] && TS_State.touchY[0]<= keypadendY[3][0] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 31;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[3][0], keypadstartY[3][0], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[3][1] && TS_State.touchX[0]<= keypadendX[3][1] && TS_State.touchY[0]>= keypadstartY[3][1] && TS_State.touchY[0]<= keypadendY[3][1] && keypad == 1)
+            {
+               correcttouch = 1; 
+               button = 32;  
+               lcd.SetTextColor(LCD_COLOR_GRAY); 
+               lcd.FillRect(keypadstartX[3][1], keypadstartY[3][1], btnsize, btnsize);  
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[3][2] && TS_State.touchX[0]<= keypadendX[3][2] && TS_State.touchY[0]>= keypadstartY[3][2] && TS_State.touchY[0]<= keypadendY[3][2] && keypad == 1)
+            {
+               correcttouch = 1; 
+               button = 33;
+               lcd.SetTextColor(LCD_COLOR_GRAY); 
+               lcd.FillRect(keypadstartX[3][2], keypadstartY[3][2], btnsize, btnsize);    
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[3][3] && TS_State.touchX[0]<= keypadendX[3][3] && TS_State.touchY[0]>= keypadstartY[3][3] && TS_State.touchY[0]<= keypadendY[3][3] && keypad == 1)
+            {
+               correcttouch = 1; 
+               button = 34;
+               lcd.SetTextColor(LCD_COLOR_GRAY); 
+               lcd.FillRect(keypadstartX[3][3], keypadstartY[3][3], btnsize, btnsize);    
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[3][4] && TS_State.touchX[0]<= keypadendX[3][4] && TS_State.touchY[0]>= keypadstartY[3][4] && TS_State.touchY[0]<= keypadendY[3][4] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 35;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[3][4], keypadstartY[3][4], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[3][5] && TS_State.touchX[0]<= keypadendX[3][5] && TS_State.touchY[0]>= keypadstartY[3][5] && TS_State.touchY[0]<= keypadendY[3][5] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 36;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[3][5], keypadstartY[3][5], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[3][6] && TS_State.touchX[0]<= keypadendX[3][6] && TS_State.touchY[0]>= keypadstartY[3][6] && TS_State.touchY[0]<= keypadendY[3][6] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 37;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[3][6], keypadstartY[3][6], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[3][7] && TS_State.touchX[0]<= keypadendX[3][7] && TS_State.touchY[0]>= keypadstartY[3][7] && TS_State.touchY[0]<= keypadendY[3][7] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 38;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[3][7], keypadstartY[3][7], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[3][8] && TS_State.touchX[0]<= keypadendX[3][8] && TS_State.touchY[0]>= keypadstartY[3][8] && TS_State.touchY[0]<= keypadendY[3][8] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 39;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[3][8], keypadstartY[3][8], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[3][9] && TS_State.touchX[0]<= keypadendX[3][9] && TS_State.touchY[0]>= keypadstartY[3][9] && TS_State.touchY[0]<= keypadendY[3][9] && keypad == 1)
+            {
+                correcttouch = 1;
+                button = 40;
+                lcd.SetTextColor(LCD_COLOR_GRAY); 
+                lcd.FillRect(keypadstartX[3][9], keypadstartY[3][9], btnsize, btnsize); 
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[3][2] && TS_State.touchX[0]<= keypadendX[3][2] + 190 && TS_State.touchY[0]>= keypadstartY[3][2] + 38 && TS_State.touchY[0]<= keypadendY[3][2] + 38 && keypad == 1)
+            {
+               correcttouch = 1; 
+               button = 41;
+               lcd.SetTextColor(LCD_COLOR_GRAY); 
+               lcd.FillRect(keypadstartX[3][2], keypadstartY[3][2] + 38, 225, btnsize);    
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[3][0] && TS_State.touchX[0]<= keypadendX[3][0] + 38 && TS_State.touchY[0]>= keypadstartY[3][0] + 38 && TS_State.touchY[0]<= keypadendY[3][0] + 38 && keypad == 1)
+            {
+               correcttouch = 1; 
+               button = 42;
+               lcd.SetTextColor(LCD_COLOR_GRAY); 
+               lcd.FillRect(keypadstartX[3][0], keypadstartY[3][0] + 38, 73, btnsize);    
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[3][8] && TS_State.touchX[0]<= keypadendX[3][8] && TS_State.touchY[0]>= keypadstartY[3][8] + 38 && TS_State.touchY[0]<= keypadendY[3][8] + 38 && keypad == 1)
+            {
+               correcttouch = 1; 
+               button = 43;
+               lcd.SetTextColor(LCD_COLOR_GRAY); 
+               lcd.FillRect(keypadstartX[3][8], keypadstartY[3][8] + 38, btnsize, btnsize);    
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[3][9] && TS_State.touchX[0]<= keypadendX[3][9] + 38 && TS_State.touchY[0]>= keypadstartY[3][9] + 38 && TS_State.touchY[0]<= keypadendY[3][9] + 38 && keypad == 1)
+            {
+               correcttouch = 1; 
+               button = 44;
+               lcd.SetTextColor(LCD_COLOR_GRAY); 
+               lcd.FillRect(keypadstartX[3][9], keypadstartY[3][9] + 38, 73, btnsize);    
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[0][9] + 38 && TS_State.touchX[0]<= keypadendX[0][9] + 38 && TS_State.touchY[0]>= keypadstartY[0][9] && TS_State.touchY[0]<= keypadendY[0][9] + 38 && keypad == 1)
+            {
+               correcttouch = 1; 
+               button = 45;
+               lcd.SetTextColor(LCD_COLOR_GRAY); 
+               lcd.FillRect(keypadstartX[0][9] + 38, keypadstartY[0][9], btnsize, 73);    
+            }
+            else if(TS_State.touchX[0]>= keypadstartX[2][9] + 38 && TS_State.touchX[0]<= keypadendX[2][9] + 38 && TS_State.touchY[0]>= keypadstartY[2][9] && TS_State.touchY[0]<= keypadendY[2][9] + 38 && keypad == 1)
+            {
+               correcttouch = 1; 
+               button = 46;
+               lcd.SetTextColor(LCD_COLOR_GRAY); 
+               lcd.FillRect(keypadstartX[2][9] + 38, keypadstartY[2][9], btnsize, 73);    
+            }
+            else
+            {
+                correcttouch = 0;  
+                button = 0;                 
+            }  
+        //////////////////////////////////////////////////////////////////////////////////////////////////////      
+        }
+    }
+}
+ 
+void F7_TSKeyboard::getkeys(char str[])
+{   
+    uint8_t text2[40];
+
+    Bckclr    = lcd.GetBackColor();
+    Txtclr    = lcd.GetTextColor();
+    *FontSize = *lcd.GetFont();
+    
+    lcd.ClearStringLine(0);
+    DrawKeypad();
+    lcd.SetTextColor(LCD_COLOR_WHITE);
+    lcd.FillRect(0, 0, 480, 20);
+    
+    while(Enter != 1)
+    {     
+        wait(0.0001);
+           
+        switch(state)
+        {////////check if pressed on screen///////
+            case 0:
+            {
+                if(TS_State.touchDetected)
+                {  
+                    frstprsx = TS_State.touchX[0];
+                    frstprsy = TS_State.touchY[0];
+                    state = 10;
+                }
+             ////////////////////////////////////////              
+            }break;
+            ////////check if correctly pressed//////////
+            case 10:
+            {                
+                for(b = 0; b < 10; b++)
+                {
+                    for(a = 0; a < 4; a++)
+                    {
+                        if(frstprsx >= keypadstartX[a][b] && frstprsx <= keypadendX[a][b] && frstprsy >= keypadstartY[a][b] && frstprsy <= keypadendY[a][b] || frstprsx >= keypadstartX[3][2] && frstprsx <= keypadendX[3][2] + 190 && frstprsy >= keypadstartY[3][2] + 38 && frstprsy <= keypadendY[3][2] + 38 || frstprsx >= keypadstartX[3][0] && frstprsx <= keypadendX[3][0] + 38 && frstprsy >= keypadstartY[3][0] + 38 && frstprsy <= keypadendY[3][0] + 38 || frstprsx >= keypadstartX[3][8] && frstprsx <= keypadendX[3][8] && frstprsy >= keypadstartY[3][8] + 38 && frstprsy <= keypadendY[3][8] + 38 || frstprsx >= keypadstartX[3][9] && frstprsx <= keypadendX[3][9] + 38 && frstprsy >= keypadstartY[3][9] + 38 && frstprsy <= keypadendY[3][9] + 38 || frstprsx >= keypadstartX[0][9] + 38 && frstprsx <= keypadendX[0][9] + 38 && frstprsy >= keypadstartY[0][9] && frstprsy <= keypadendY[0][9] + 38 || frstprsx >= keypadstartX[2][9] + 38 && frstprsx <= keypadendX[2][9] + 38 && frstprsy >= keypadstartY[2][9] && frstprsy <= keypadendY[2][9] + 38)
+                        {   
+                            state = 15;
+                            correcttouch = 1;
+                            key = button; 
+                            a = 9;
+                            b = 9;
+                        }
+                        else
+                        {   
+                            state = 30; 
+                        }
+                    }    
+                }
+                             
+            }break;
+            case 15:
+            {  
+                if(button == key && button != 0)
+                {     
+                    if(TS_State.touchDetected == 0)
+                    {  
+                        DrawKeypad();
+                        state = 20;               
+                    }                    
+                }
+                else if(button != key || button == 0)
+                {   
+                    state = 30;
+                } 
+                
+            }break; 
+            ////////////button functions//////////
+            case 20:
+            {   ////////button 1/////////////
+                if(button == 1)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '@';
+                    }
+                    else
+                    {
+                        keypressed = '1';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 2)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '#';
+                    }
+                    else
+                    {
+                        keypressed = '2';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }  
+                else if(button == 3)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '$';
+                    }
+                    else
+                    {
+                        keypressed = '3';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 4)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '%';
+                    }
+                    else
+                    {
+                        keypressed = '4';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }  
+                else if(button == 5)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = 38;
+                    }
+                    else
+                    {
+                        keypressed = '5';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 6)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '*';
+                    }
+                    else
+                    {
+                        keypressed = '6';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 7)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '(';
+                    }
+                    else
+                    {
+                        keypressed = '7';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 8)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ')';
+                    }
+                    else
+                    {
+                        keypressed = '8';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 9)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '-';
+                    }
+                    else
+                    {
+                        keypressed = '9';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 10)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '+';
+                    }
+                    else
+                    {
+                        keypressed = '0';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 11)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '=';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'Q';
+                    }
+                    else
+                    {
+                        keypressed = 'q';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 12)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '_';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'W';
+                    }
+                    else
+                    {
+                        keypressed = 'w';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 13)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '^';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'E';
+                    }
+                    else
+                    {
+                        keypressed = 'e';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 14)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ';';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'R';
+                    }
+                    else
+                    {
+                        keypressed = 'r';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 15)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '"';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'T';
+                    }
+                    else
+                    {
+                        keypressed = 't';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 16)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '\'';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'Y';
+                    }
+                    else
+                    {
+                        keypressed = 'y';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }   
+                else if(button == 17)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '<';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'U';
+                    }
+                    else
+                    {
+                        keypressed = 'u';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }   
+                else if(button == 18)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '>';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'I';
+                    }
+                    else
+                    {
+                        keypressed = 'i';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }   
+                else if(button == 19)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '/';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'O';
+                    }
+                    else
+                    {
+                        keypressed = 'o';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }   
+                else if(button == 20)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '\\';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'P';
+                    }
+                    else
+                    {
+                        keypressed = 'p';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }   
+                else if(button == 21)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ' ';
+                    }
+                    else
+                    {
+                        keypressed = ':';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 22)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ' ';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'A';
+                    }
+                    else
+                    {
+                        keypressed = 'a';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }  
+                else if(button == 23)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '`';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'S';
+                    }
+                    else
+                    {
+                        keypressed = 's';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 24)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '~';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'D';
+                    }
+                    else
+                    {
+                        keypressed = 'd';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }  
+                else if(button == 25)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '{';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'F';
+                    }
+                    else
+                    {
+                        keypressed = 'f';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 26)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '}';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'G';
+                    }
+                    else
+                    {
+                        keypressed = 'g';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 27)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = '[';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'H';
+                    }
+                    else
+                    {
+                        keypressed = 'h';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 28)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ']';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'J';
+                    }
+                    else
+                    {
+                        keypressed = 'j';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 29)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ' ';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'K';
+                    }
+                    else
+                    {
+                        keypressed = 'k';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 30)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ' ';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'L';
+                    }
+                    else
+                    {
+                        keypressed = 'l';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 31)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ' ';
+                    }
+                    else
+                    {
+                        keypressed = ',';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 32)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ' ';
+                    }
+                    else
+                    {
+                        keypressed = '!';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 33)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ' ';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'Z';
+                    }
+                    else
+                    {
+                        keypressed = 'z';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 34)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ' ';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'X';
+                    }
+                    else
+                    {
+                        keypressed = 'x';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 35)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ' ';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'C';
+                    }
+                    else
+                    {
+                        keypressed = 'c';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 36)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ' ';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'V';
+                    }
+                    else
+                    {
+                        keypressed = 'v';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }   
+                else if(button == 37)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ' ';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'B';
+                    }
+                    else
+                    {
+                        keypressed = 'b';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }   
+                else if(button == 38)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ' ';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'N';
+                    }
+                    else
+                    {
+                        keypressed = 'n';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }   
+                else if(button == 39)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ' ';
+                    }
+                    else if(Caps == 1 && Func == 0)
+                    {
+                        keypressed = 'M';
+                    }
+                    else
+                    {
+                        keypressed = 'm';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }   
+                else if(button == 40)
+                {   
+                    if(Func == 1 && Caps == 0)
+                    {
+                        keypressed = ' ';
+                    }
+                    else
+                    {
+                        keypressed = '?';
+                    }
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }   
+                else if(button == 41)
+                {   
+                    keypressed = ' '; 
+                    m++;
+                    textx += 12;
+                    
+                    str[m] =  keypressed; 
+                               
+                    m -= 1;
+                    textx -= 12;
+                    
+                    str[m] =  keypressed;
+                
+                    m++;
+                    textx += 12;
+                    
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }   
+                else if(button == 42)
+                {   
+                    if(Func != 1)
+                    {   
+                        keypressed = ' ';
+                        Caps = !Caps;
+                        Func = 0;
+                        DrawKeypad();
+                        a = 0;
+                        b = 0;
+                        correcttouch = 0;
+                    }
+                    state = 0;
+                }  
+                else if(button == 43)
+                {   
+                    keypressed = '.';
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }    
+                else if(button == 44)
+                {   
+                    keypressed = ' ';
+                    Func = !Func;
+                    Caps = 0;
+                    DrawKeypad();
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }  
+                else if(button == 45)
+                {   
+                    keypressed = ' ';
+                    
+                    if(m != 0 || textx != 0)
+                    {
+                        m -= 1;
+                        textx -= 12;
+                    }
+                    
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }       
+                else if(button == 46)
+                {   
+                    keypressed = '\0';
+                    Enter = 1;
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }
+                else
+                {
+                    state = 0;    
+                }     
+                
+                str[m] =  keypressed;
+                
+                lcd.SetTextColor(LCD_COLOR_BLACK);
+                lcd.SetBackColor(LCD_COLOR_WHITE);
+                lcd.SetFont(&Font20);
+                sprintf((char*)text2, "%c", str[m]);
+                lcd.DisplayStringAt(0 + textx, LINE(0), (uint8_t *)&text2, LEFT_MODE);
+                    
+                if(keypressed != ' ')
+                {
+                    m++;
+                    textx += 12;
+                }  
+                           
+                key = 0;
+                keypressed = ' ';
+                
+            }break; 
+            case 30:
+            {
+                if(keypad == 1)
+                {
+                    DrawKeypad();
+                    keypad = 0;
+                }
+                
+                if(TS_State.touchDetected == 0)
+                {  
+                    DrawKeypad();
+                    a = 0;
+                    b = 0;
+                    correcttouch = 0;
+                    state = 0;
+                }
+            }break;             
+        } 
+    }
+    
+    keypad = 0;
+    Enter = 0;
+    m = 0;
+    textx = 0;
+    state = 0;
+    Caps = 0;
+    Func = 0;
+    lcd.ClearStringLine(0);
+    lcd.SetTextColor(Bckclr);
+    lcd.FillRect(0, 0, 480, 20);
+    lcd.FillRect(keypadstartX[0][0],keypadstartY[0][0], 415, 187);
+    lcd.SetTextColor(Txtclr);
+    lcd.SetBackColor(Bckclr);
+    lcd.SetFont(FontSize);
+}
+
+void F7_TSKeyboard::DrawKeypad()
+{    
+    int i, o, stepx = 0, stepy = 0, Drawpointx, Drawpointy;
+    uint8_t text[30];
+    
+    
+        char keyboard1[4][10] = {
+                                    {'1', '2', '3', '4', '5', '6', '7', '8', '9', '0'},
+                                    {'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'},
+                                    {':', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l'},
+                                    {',', '!', 'z', 'x', 'c', 'v', 'b', 'n', 'm', '?'}
+                                };
+    
+    
+        char keyboard2[4][10] = {
+                                    {'1', '2', '3', '4', '5', '6', '7', '8', '9', '0'},
+                                    {'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P'},
+                                    {':', 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L'},
+                                    {',', '!', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', '?'}
+                                };
+                                
+        char keyboard3[4][10] = {
+                                    {'@', '#', '$', '%', 38, '*', '(', ')', '-', '+'},
+                                    {'=', '_', '^', ';', '"', '\'', '<', '>', '/', '\\'},
+                                    {'\0', '\0', '`', '~', '{', '}', '[', ']', '\0', '\0'},
+                                    {'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0'}
+                                };
+    
+    keypad = 1;
+    
+    for(o= 0; o< 10; o++)
+    {
+        for(i= 0; i < 4; i++)
+        {  
+            lcd.SetTextColor(LCD_COLOR_WHITE);
+             
+            lcd.FillRect(Drawpointx = 33 + stepx, Drawpointy  = 75 + stepy, btnsize, btnsize);
+            keypadstartX[i][o] = Drawpointx;
+            keypadstartY[i][o] = Drawpointy;
+            keypadendX[i][o] = Drawpointx + btnsize;
+            keypadendY[i][o] = Drawpointy + btnsize;
+            stepy += 38;
+            
+            if(Caps == 0 && Func == 0)
+            {
+                lcd.SetBackColor(LCD_COLOR_WHITE);
+                lcd.SetTextColor(LCD_COLOR_BLACK);
+                lcd.SetFont(&Font16);
+                sprintf((char*)text, "%c", keyboard1[i][o]);
+                lcd.DisplayStringAt(Drawpointx+ 13, Drawpointy+ 13, (uint8_t *)&text, LEFT_MODE);
+            }
+            else if(Caps == 1 && Func == 0)
+            {
+                lcd.SetBackColor(LCD_COLOR_WHITE);
+                lcd.SetTextColor(LCD_COLOR_BLACK);
+                lcd.SetFont(&Font16);
+                sprintf((char*)text, "%c", keyboard2[i][o]);
+                lcd.DisplayStringAt(Drawpointx+ 13, Drawpointy+ 13, (uint8_t *)&text, LEFT_MODE);
+            }
+            else if(Caps == 0 && Func == 1)
+            {
+                lcd.SetBackColor(LCD_COLOR_WHITE);
+                lcd.SetTextColor(LCD_COLOR_BLACK);
+                lcd.SetFont(&Font16);
+                sprintf((char*)text, "%c", keyboard3[i][o]);
+                lcd.DisplayStringAt(Drawpointx+ 13, Drawpointy+ 13, (uint8_t *)&text, LEFT_MODE);
+            }
+            
+            
+            if(stepy > 114)
+            {
+                stepy = 0;
+            }       
+        }  
+        
+        stepx += 38;     
+    }
+    
+    lcd.SetTextColor(LCD_COLOR_WHITE);
+    lcd.FillRect(keypadstartX[3][2], keypadstartY[3][2] + 38, 225, btnsize);
+    lcd.FillRect(keypadstartX[3][0], keypadstartY[3][0] + 38, 73, btnsize);
+    lcd.FillRect(keypadstartX[3][8], keypadstartY[3][8] + 38, btnsize, btnsize);
+    lcd.FillRect(keypadstartX[3][9], keypadstartY[3][9] + 38, 73, btnsize);
+    lcd.FillRect(keypadstartX[0][9] + 38, keypadstartY[0][9], btnsize, 73);
+    lcd.FillRect(keypadstartX[2][9] + 38, keypadstartY[2][9], btnsize, 73);  
+    
+    lcd.SetBackColor(LCD_COLOR_WHITE);
+    lcd.SetTextColor(LCD_COLOR_BLACK);
+    lcd.SetFont(&Font16);
+    
+    sprintf((char*)text, "<");
+    lcd.DisplayStringAt(keypadstartX[0][9] + 50, keypadstartY[0][3] + 35, (uint8_t *)&text, LEFT_MODE);
+    lcd.SetFont(&Font12);
+    sprintf((char*)text, "E");
+    lcd.DisplayStringAt(keypadstartX[2][9] + 50, keypadstartY[2][9] + 15, (uint8_t *)&text, LEFT_MODE);
+    sprintf((char*)text, "N");
+    lcd.DisplayStringAt(keypadstartX[2][9] + 50, keypadstartY[2][9] + 25, (uint8_t *)&text, LEFT_MODE);
+    sprintf((char*)text, "T");
+    lcd.DisplayStringAt(keypadstartX[2][9] + 50, keypadstartY[2][9] + 35, (uint8_t *)&text, LEFT_MODE);
+    sprintf((char*)text, "E");
+    lcd.DisplayStringAt(keypadstartX[2][9] + 50, keypadstartY[2][9] + 45, (uint8_t *)&text, LEFT_MODE);
+    sprintf((char*)text, "R");
+    lcd.DisplayStringAt(keypadstartX[2][9] + 50, keypadstartY[2][9] + 55, (uint8_t *)&text, LEFT_MODE);
+    sprintf((char*)text, "CAPS");
+    lcd.DisplayStringAt(keypadstartX[3][0] + 20, keypadstartY[3][0] + 50, (uint8_t *)&text, LEFT_MODE);
+    sprintf((char*)text, ".");
+    lcd.DisplayStringAt(keypadstartX[3][8] + 16, keypadstartY[3][8] + 50, (uint8_t *)&text, LEFT_MODE);
+    sprintf((char*)text, "FUNC");
+    lcd.DisplayStringAt(keypadstartX[3][9] + 20, keypadstartY[3][9] + 50, (uint8_t *)&text, LEFT_MODE);
+    
+    lcd.SetTextColor(Txtclr);
+    lcd.SetBackColor(Bckclr);
+    lcd.SetFont(FontSize);
+}       
\ No newline at end of file