FireBirdLib - Topfield TMS PVR TAP Programming Library
OSDMenuKeyboard_Setup.c
Go to the documentation of this file.
1#include <string.h>
2#include <stdlib.h>
4
6
16
17char Keypad[KPM_NrModes][26][4];
18static const char KP_Standard[26][4] = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};
19static const char KP_CAPS[26][4] = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
20static const char KP_Num[26][4] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "\u00e4", "\u00c4", "\u00f6", "\u00d6", "\u00fc", "\u00dc", "\u00df", ",", ";", ".", ":", "-", "_", "=", "?", "+"};
21 // ä Ä ö Ö ü Ü ß
22static const char KP_Symbols[26][4] = {"!", "\"","§", "$", "%", "&", "/", "(", ")", "[", "]", "{", "}", "<", ">", "@", "*", "#", "|", "^", "~", "°", "'", "", "", ""};
23static const char KP_SpecialChars1[26][4] = {"\u00c0", "\u00e0", "\u00c1", "\u00e1", "\u00c2", "\u00e2", "\u00c3", "\u00e3", "\u00c5", "\u00e5", "\u00c6", "\u00e6", "\u00c7", "\u00e7", "\u00c8", "\u00e8", "\u00c9", "\u00e9", "\u00ca", "\u00ea", "\u00cb", "\u00eb", "\u00d0", "\u00f0", "", ""};
24 // À à Á á Â â Ã ã Å å Æ æ Ç ç È è É é Ê ê Ë ë Ð ð
25static const char KP_SpecialChars2[26][4] = {"\u00cc", "\u00ec", "\u00cd", "\u00ed", "\u00ce", "\u00ee", "\u00cf", "\u00ef", "\u00d1", "\u00f1", "\u00d2", "\u00f2", "\u00d3", "\u00f3", "\u00d4", "\u00f4", "\u00d5", "\u00f5", "\u00d8", "\u00f8", "\u00d9", "\u00f9", "\u00da", "\u00fa", "\u00db", "\u00fb"};
26 // Ì ì Í í Î î Ï ï Ñ ñ Ò ò Ó ó Ô ô Õ õ Ø ø Ù ù Ú ú Û û
27static const char KP_SpecialChars3[26][4] = {"\u00dd", "\u00fd", "\u00de", "\u00fe", "\u00b5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""};
28 // Ý ý Þ þ µ
29
37
38void OSDMenuKeyboard_Setup(const char *Title, char *Variable, dword MaxSize)
39{
40 TRACEENTER();
41
42 if (!Title || !Variable || (MaxSize < 2))
43 {
44 TRACEEXIT();
45 return;
46 }
47
48 OSDMenuKeyboard_Title = TAP_MemAlloc(strlen(Title) + 1);
49 strcpy(OSDMenuKeyboard_Title, Title);
50 OSDMenuKeyboard_StringVar = TAP_MemAlloc(MaxSize);
51 memset(OSDMenuKeyboard_StringVar, 0, MaxSize);
52
53 strncpy(OSDMenuKeyboard_StringVar, Variable, MaxSize);
55
61
63
65
66 memcpy(Keypad[KPM_Standard], KP_Standard, 26 << 2);
67 memcpy(Keypad[KPM_CAPS], KP_CAPS, 26 << 2);
68 memcpy(Keypad[KPM_Num], KP_Num, 26 << 2);
69 memcpy(Keypad[KPM_Symbols], KP_Symbols, 26 << 2);
70 memcpy(Keypad[KPM_SpecialChars1], KP_SpecialChars1, 26 << 2);
71 memcpy(Keypad[KPM_SpecialChars2], KP_SpecialChars2, 26 << 2);
72 memcpy(Keypad[KPM_SpecialChars3], KP_SpecialChars3, 26 << 2);
73
76 AutomaticLowerCase = FALSE;
77
78 FMUC_LoadFontFile("Calibri_12.ufnt", &KeyboardFont_12);
79 FMUC_LoadFontFile("Calibri_14.ufnt", &KeyboardFont_14);
80
81 TRACEEXIT();
82}
bool FMUC_LoadFontFile(char *FontFileName, tFontDataUC *FontData)
char * OSDMenuKeyboard_Title
char Keypad[KPM_NrModes][26][4]
int OSDMenuKeyboard_NrButtons
char * OSDMenuKeyboard_StringVarOrig
void OSDMenuKeyboard_Setup(const char *Title, char *Variable, dword MaxSize)
int KeyPadPosition
char * OSDMenuKeyboard_StringVar
tFontDataUC KeyboardFont_14
dword OSDMenuKeyboard_StringMaxSize
int OSDMenuKeyboard_ButtonsX[3]
tOSDMenuKeyboard_Buttons OSDMenuKeyboard_Buttons[20]
int OSDMenuKeyboard_CursorPosition
tKeyPadMode KeyPadMode
bool AutomaticLowerCase
bool OSDMenuKeyboard_ReturnToNormal
tKeyboardCursor KeyboardCursorType
bool OSDMenuKeyboard_GUIInitialized
word OSDMenuKeyboard_rgn
tFontDataUC KeyboardFont_12
int OSDMenuKeyboard_TextStartPosition
#define TRACEEXIT()
Definition: libFireBird.h:1244
bool StrMkUTF8(byte *SourceString, size_t SourceSize, byte DefaultISO8859CharSet)
Definition: StrMkUTF8.c:5
#define TRACEENTER()
Definition: libFireBird.h:1243
tKeyboardCursor
Definition: libFireBird.h:2987
@ KC_Text
Definition: libFireBird.h:2988
tKeyPadMode
Definition: libFireBird.h:2975
@ KPM_NrModes
Definition: libFireBird.h:2983
@ KPM_SpecialChars3
Definition: libFireBird.h:2982
@ KPM_Num
Definition: libFireBird.h:2978
@ KPM_SpecialChars1
Definition: libFireBird.h:2980
@ KPM_Symbols
Definition: libFireBird.h:2979
@ KPM_Standard
Definition: libFireBird.h:2976
@ KPM_CAPS
Definition: libFireBird.h:2977
@ KPM_SpecialChars2
Definition: libFireBird.h:2981