📄 key_bak.c
字号:
"DPLU 151", "DPLU 152", "DPLU 153", "DPLU 154", "DPLU 155",
"DPLU 156", "DPLU 157", "DPLU 158", "DPLU 159", "DPLU 160",
"DPLU 161", "DPLU 162", "DPLU 163", "DPLU 164", "DPLU 165",
"DPLU 166", "DPLU 167", "DPLU 168", "DPLU 169", "DPLU 170",
"DPLU 171", "DPLU 172", "DPLU 173", "DPLU 174", "DPLU 175",
"DPLU 176", "DPLU 177", "DPLU 178", "DPLU 179", "DPLU 180",
"DPLU 181", "DPLU 182", "DPLU 183", "DPLU 184", "DPLU 185",
"DPLU 186", "DPLU 187", "DPLU 188", "DPLU 189", "DPLU 190",
"DPLU 191", "DPLU 192", "DPLU 193", "DPLU 194", "DPLU 195",
"DPLU 196", "DPLU 197", "DPLU 198", "DPLU 199", "DPLU 200",
};
/*----------------------------------------------------------------------------------------
* Default keyboard layout when do all clear.
*---------------------------------------------------------------------------------------*/
const word Deft_Key_Tabl_Retail[MAX_KEY_CNT] =
{
#if KB == KB_59N24
// 7 * 9 keyboard
KD_DP9, KD_DP18, KD_DP27, KD_DP36, KD_DP45,
KD_DP8, KD_DP17, KD_DP26, KD_DP35, KD_DP44,
KD_DP7, KD_DP16, KD_DP25, KD_DP34, KD_DP43, KD_DPSF, KD_CLERK,
KD_DP6, KD_DP15, KD_DP24, KD_DP33, KD_DP42, KD_RA, KD_PO,
KD_DP5, KD_DP14, KD_DP23, KD_DP32, KD_DP41, KD_PER3, KD_REFUND,
KD_DP4, KD_DP13, KD_DP22, KD_DP31, KD_DP40, KD_PER1, KD_PER2,
KD_DP3, KD_DP12, KD_DP21, KD_DP30, KD_DP39, KD_CHARGE, KD_CHECK,
KD_DP2, KD_DP11, KD_DP20, KD_DP29, KD_DP38, KD_SUBTTL, KD_SUBTTL,
KD_DP1, KD_DP10, KD_DP19, KD_DP28, KD_DP37, KD_CASH, KD_CASH,
// 3 * 8 keyboard
KD_FEED, KD_NS, KD_PLU, KD_7, KD_8, KD_9,
KD_TRS_VOID,KD_RESEARCH,KD_XTIME, KD_4, KD_5, KD_6,
KD_RM, KD_VOID, KD_RESTOCK, KD_1, KD_2, KD_3,
KD_CLEAR, KD_MODE, KD_FCE, KD_0, KD_D0, KD_DEC,
#elif KB == KB_38
KD_FEED, KD_RA, KD_PO, KD_PER1, KD_PER2,
KD_CLEAR, KD_XTIME, KD_VOID, KD_PLU, KD_AMOUNT,
KD_7, KD_8, KD_9, KD_DPSF, KD_RM, KD_REFUND, KD_NS,
KD_4, KD_5, KD_6, KD_DP3, KD_DP6, KD_RCPT_ON, KD_CLERK,
KD_1, KD_2, KD_3, KD_DP2, KD_DP5, KD_CHECK, KD_SUBTTL,
KD_0, KD_D0, KD_DEC, KD_DP1, KD_DP4, KD_CASH, KD_CASH
#else
#endif
#if 0
// pos keyboard
KD_DPLU001, KD_DPLU02, KD_DPLU03, KD_DPLU04, KD_DPLU05, KD_DPLU06, KD_DPLU07, KD_DPLU08, KD_DPLU09, KD_DPLU10,
KD_DPLU11, KD_DPLU12, KD_DPLU13, KD_DPLU14, KD_DPLU15, KD_DPLU16, KD_DPLU17, KD_DPLU18, KD_DPLU19, KD_DPLU20,
KD_DPLU21, KD_DPLU22, KD_DPLU23, KD_DPLU24, KD_DPLU25, KD_DPLU26, KD_DPLU27, KD_DPLU28, KD_DPLU29, KD_DPLU30,
KD_DPLU31, KD_DPLU32, KD_DPLU33, KD_DPLU34, KD_DPLU35, KD_DPLU36, KD_DPLU37, KD_DPLU38, KD_DPLU39, KD_DPLU40,
KD_DPLU41, KD_DPLU42, KD_DPLU43, KD_DPLU44, KD_DPLU45, KD_DPLU46, KD_DPLU47, KD_DPLU48, KD_DPLU49, KD_DPLU50,
KD_DPLU51, KD_DPLU52, KD_DPLU53, KD_DPLU54, KD_DPLU55, KD_DPLU56, KD_DPLU57, KD_DPLU58, KD_DPLU59, KD_DPLU60,
KD_DPLU61, KD_DPLU62, KD_DPLU63, KD_DPLU64, KD_DPLU65, KD_DPLU66, KD_DPLU67, KD_DPLU68, KD_DPLU69, KD_DPLU70,
KD_DPLU71, KD_DPLU72, KD_DPLU73, KD_DPLU74, KD_DPLU75, KD_DPLU76, KD_DPLU77, KD_DPLU78, KD_DPLU79, KD_DPLU80,
#endif
};
/*----------------------------------------------------------------------------------------
* Default keyboard layout when changed to restrurant mode
*---------------------------------------------------------------------------------------*/
const word Deft_Key_Tabl_Rest[MAX_KEY_CNT] =
{
#if KB == KB_59N24
// 7 * 9 keyboard
KD_DP9, KD_DP18, KD_DP27, KD_DP36, KD_DP45,
KD_DP8, KD_DP17, KD_DP26, KD_DP35, KD_DP44,
KD_DP7, KD_DP16, KD_DP25, KD_DP34, KD_DP43, KD_DPSF, KD_CLERK,
KD_DP6, KD_DP15, KD_DP24, KD_DP33, KD_DP42, KD_RA, KD_PO,
KD_DP5, KD_DP14, KD_DP23, KD_DP32, KD_DP41, KD_MINUS, KD_OPEN,
KD_DP4, KD_DP13, KD_DP22, KD_DP31, KD_DP40, KD_PER1, KD_SUSPEND,
KD_DP3, KD_DP12, KD_DP21, KD_DP30, KD_DP39, KD_TNSFER, KD_CREDIT,
KD_DP2, KD_DP11, KD_DP20, KD_DP29, KD_DP38, KD_SUBTTL, KD_SUBTTL,
KD_DP1, KD_DP10, KD_DP19, KD_DP28, KD_DP37, KD_CASH, KD_SUBTTL,
// 3 * 8 keyboard
KD_FEED, KD_NS, KD_PLU, KD_7, KD_8, KD_9,
KD_TRS_VOID,KD_COMB, KD_XTIME, KD_4, KD_5, KD_6,
KD_RM, KD_VOID, KD_RESTOCK, KD_1, KD_2, KD_3,
KD_CLEAR, KD_MODE, KD_RCPT_ON, KD_0, KD_D0, KD_DEC,
#elif KB == KB_38
KD_FEED, KD_RA, KD_PO, KD_PER1, KD_PER2,
KD_CLEAR, KD_XTIME, KD_VOID, KD_PLU, KD_AMOUNT,
KD_7, KD_8, KD_9, KD_DPSF, KD_RM, KD_REFUND, KD_NS,
KD_4, KD_5, KD_6, KD_DP3, KD_DP6, KD_RCPT_ON, KD_CLERK,
KD_1, KD_2, KD_3, KD_DP2, KD_DP5, KD_CHECK, KD_SUBTTL,
KD_0, KD_D0, KD_DEC, KD_DP1, KD_DP4, KD_CASH, KD_CASH
#else
#endif
#if 0
// pos keyboard
KD_DPLU001, KD_DPLU02, KD_DPLU03, KD_DPLU04, KD_DPLU05, KD_DPLU06, KD_DPLU07, KD_DPLU08, KD_DPLU09, KD_DPLU10,
KD_DPLU11, KD_DPLU12, KD_DPLU13, KD_DPLU14, KD_DPLU15, KD_DPLU16, KD_DPLU17, KD_DPLU18, KD_DPLU19, KD_DPLU20,
KD_DPLU21, KD_DPLU22, KD_DPLU23, KD_DPLU24, KD_DPLU25, KD_DPLU26, KD_DPLU27, KD_DPLU28, KD_DPLU29, KD_DPLU30,
KD_DPLU31, KD_DPLU32, KD_DPLU33, KD_DPLU34, KD_DPLU35, KD_DPLU36, KD_DPLU37, KD_DPLU38, KD_DPLU39, KD_DPLU40,
KD_DPLU41, KD_DPLU42, KD_DPLU43, KD_DPLU44, KD_DPLU45, KD_DPLU46, KD_DPLU47, KD_DPLU48, KD_DPLU49, KD_DPLU50,
KD_DPLU51, KD_DPLU52, KD_DPLU53, KD_DPLU54, KD_DPLU55, KD_DPLU56, KD_DPLU57, KD_DPLU58, KD_DPLU59, KD_DPLU60,
KD_DPLU61, KD_DPLU62, KD_DPLU63, KD_DPLU64, KD_DPLU65, KD_DPLU66, KD_DPLU67, KD_DPLU68, KD_DPLU69, KD_DPLU70,
KD_DPLU71, KD_DPLU72, KD_DPLU73, KD_DPLU74, KD_DPLU75, KD_DPLU76, KD_DPLU77, KD_DPLU78, KD_DPLU79, KD_DPLU80,
#endif
};
/*---------------------------------------------------------------------------------------
* key logical code with the keyboard.
*--------------------------------------------------------------------------------------*/
const word key_logic[MAX_KEY_CNT] =
{
#if KB == KB_59N24
// 7 * 9 keyboard.
0x0F,0x0A,0x0B, 0x36,0x37,
0x09,0x0E,0x0C, 0x34,0x35,
0x05,0x15,0x1D, 0x25,0x2D, 0x3D,0x45,
0x04,0x14,0x1C, 0x24,0x2C, 0x3C,0x44,
0x06,0x16,0x1E, 0x26,0x2E, 0x3E,0x46,
0x03,0x13,0x1B, 0x23,0x2B, 0x3B,0x43,
0x02,0x12,0x1A, 0x22,0x2A, 0x3A,0x42,
0x01,0x11,0x19, 0x21,0x29, 0x39,0x41,
0x07,0x17,0x1F, 0x27,0x2F, 0x3f,0x47, // CASH & SUBTTL occupy two positions
// 3 * 8 keyboard.
0x4D,0x55,0x49, 0x4A,0x4B,0x4C,
0x4E,0x56,0x51, 0x52,0x53,0x5C,
0x4F,0x57,0x59, 0x5A,0x5B,0x54,
0x50,0x58,0x60, 0x5F,0x5D,0x5E,
#elif KB == KB_38
0x01,0x09,0x11,0x19,0x25,
0x02,0x0A,0x12,0x1A,0x23,
0x03,0x0B,0x13,0x1B,0x24,0x26,0x27,
0x04,0x0D,0x0C,0x14,0x1C,0x1D,0x28,
0x05,0x06,0x0E,0x16,0x15,0x1E,0x1F,
0x07,0x08,0x10,0x0F,0x17,0x18,0x20, /* The CASH key has occupy two positions. */
#else
#endif
#if 0
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,
0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,
0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,
0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff
#endif
};
/*-------------------------------------------------------------------------------------
* when every all clear operation, initialize the key matrix sequence.
* Default Keyboard Layout:
*------------------------------------------------------------------------------------*/
void key_matrx_init(void)
{
word i;
word *pp1;
word *pp2;
// pp1 = (char*)Deft_Key_Tabl;
if (work_mode == RETAIL)
pp1 = (word *)Deft_Key_Tabl_Retail;
else
pp1 = (word *)Deft_Key_Tabl_Rest;
pp2 = FF_Key_Tabl;
for ( i = 0; i < MAX_KEY_CNT; i ++ )
*pp2 ++ = *pp1 ++;
if(sysflag->soft_lock_flag == 1) /* Use the soft control lock mode */
Modi_Key(2, KD_MODE);
PS2_GetFeedCode();
}
//*************************************************************************************
void FF_Tmpkey_Init(void) /* Initital the free function temporary key table */
{
word i;
word *pp1;
word *pp2;
pp1 = FF_Key_Tabl;
pp2 = (word *)Tmp_Key_Tab;
for ( i = 0; i < MAX_KEY_CNT; i ++ )
*pp2 ++ = *pp1 ++;
}
/*--------------------------------------------------------------------------------------
* According to the logical key code, get the free Funcation key code.
*-------------------------------------------------------------------------------------*/
word FF_Key_Get(word key_code )
{
return( FF_Key_Tabl[key_code] );
}
/*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/
/* Function : Keyboard check subroutine */
/* */
/* Create 03-8-14 10:58 by X.C.Zheng */
/*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/
word key_check( void )
{
byte i;
byte j;
word work;
word chk;
word data;
/*#*/
chk = 0;
key_chk = 0;
work = 0;
#if 1//KB == KB_TS
if(sysflag->soft_lock_flag == 0) /* Not use the soft control lock */
currmodeInt = key_scan_buf[0]; /* Control lock position check and save */
#else
for( i = 0; i < ( MAX_KEY_SCAN_CNTR - 1); i++ )
{
data = key_scan_buf[i];
if ( data == 0 )
{
if ( key_chk == 0 )
{
work += 8;
}
}
else
{
if (key_chk == 0)
{
for( j = 0; j < 8; j++ )
{
if ((data & 0x01) != 0)
{
key_chk = 1;
if ((data & 0xFE) != 0)
{
chk = 1;
}
break;
}
work++;
data = data >> 1;
}
}
else
{
chk = 1;
}
}
/*#*/
if (chk != 0) /* Multi-key depress */
{
work = 0;
key_fd = 0;
key_off = 0;
key_wka = KEY_END; /* Pesuedo value set */
break;
}
}
/*#*/
if ( chk == 0 ) /* No multy key input */
{
if ( key_chk == 0 ) /* No key input */
{
work = 0;
key_fd = 0;
key_off = 1; /* Key alreay depress,wait it release next */
key_wka = KEY_END; /* Pesuedo value set */
if(sysflag->soft_lock_flag == 0) /* Not use the soft control lock */
currmodeInt = key_scan_buf[MAX_KEY_SCAN_CNTR-1]; /* Control lock position check and save */
}
else
work ++;
}
/*#*/
#endif
return( work );
}
/*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/
/* Function : Keyboard ring buffer set */
/* */
/* Create 03-8-14 11:21 by X.C.Zheng */
/*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/
void key_rngset(word work)
{
static word tmp = KEY_END;
static const word *key_table;
if (skip_null_key) {
if (Lcd_Mode_Int == LCD_10_INCH) {
if (work >= TS_LOGI_OFFSET) {
tmp = ts_get_logi(work);
key_table = Ts_Key_Tab;
tmp = key_table[tmp];
if (tmp == KD_NULL || tmp == KD_NULL_TS) /* The null key, return */
return;
}
}
else { // Lcd_Mode_Int == LCD_7_INCH
if (work >= TS_LOGI_OFFSET) {
tmp = ts_get_logi(work);
key_table = Ts_Key_Tab;
tmp = key_table[tmp];
if (tmp == KD_NULL || tmp == KD_NULL_TS) /* The null key, return */
return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -