首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

键盘扫描码转化为字符的有关问题

2012-02-25 
键盘扫描码转化为字符的问题请问在DDK编程中 得到键盘的扫描码 怎么转化为ASCII码呢在键入的键盘是A-Z时

键盘扫描码转化为字符的问题
请问在DDK编程中 得到键盘的扫描码 怎么转化为ASCII码呢
在键入的键盘是A-Z时 为什么一下代码不能打印出ASCII呢 A-Z时扫描码对应的就是ASCII码吗

  ULONG buf_len = 0;
  size_t i;
  PKEYBOARD_INPUT_DATA buf;

  buf=Irp->AssociatedIrp.SystemBuffer;
  buf_len=Irp->IoStatus.Information/sizeof(KEYBOARD_INPUT_DATA);
  for(i=0; i<buf_len; i++)
  {
  if(!buf->Flags)
  KdPrint(("%C\n", buf->MakeCode));
  buf++;
  }

[解决办法]
注意!键盘编码和ASCII编码不一样。 这里贴出键盘编码,自己可以到网上搜索ASCII编码。
============================================================================
key_system_powerequ81h
key_system_sleepequ82h
key_system_wakeequ083h


key_errorequ01h

key_undefineequ03h
key_aequ04h
key_bequ05h
key_cequ06h
key_dequ07h
key_eequ08h
key_fequ09h
key_gequ0ah
key_hequ0bh
key_iequ0ch
key_jequ0dh
key_kequ0eh
key_lequ0fh

key_mequ10h
key_nequ11h
key_oequ12h
key_pequ13h
key_qequ14h
key_requ15h
key_sequ16h
key_tequ17h
key_uequ18h
key_vequ19h
key_wequ1ah
key_xequ1bh
key_yequ1ch
key_zequ1dh
key_1equ1eh
key_2equ1fh

key_3equ20h
key_4equ21h
key_5equ22h
key_6equ23h
key_7equ24h
key_8equ25h
key_9equ26h
key_0equ27h
key_enterequ028h
key_escequ029h
key_bsequ02ah
key_tabequ02bh
key_spaceequ02ch
key_negequ02dh
key_equationequ02eh
key_L_bracketsequ02fh

key_R_bracketsequ030h
key_divequ031h
key_code42equ032h
key_semicolonequ033h
key_apostropheequ034h
key_tildeequ035h
key_commaequ036h
key_dotequ037h
key_interrogationequ038h
key_capequ039h
key_f1equ03ah
key_f2equ03bh
key_f3equ03ch
key_F4equ03Dh
key_f5equ03eh
key_F6equ03fh

key_f7equ040h
key_f8equ041h
key_f9equ042h
key_f10equ043h
key_f11equ044h
key_f12equ045h
key_printequ046h
key_scrollequ047h
key_pauseequ048h
key_insertequ049h
key_homeequ04ah
key_pgupequ04bh
key_delequ04ch
key_endequ04dh
key_pgdnequ04eh
key_R_arrowequ04fh

key_L_arrowequ050h
key_dn_arrowequ051h
key_Up_arrowequ052h
key_num_lockequ053h
key_num_divequ054h
key_num_starequ055h
key_num_negequ056h
key_num_plusequ057h
key_num_enterequ058h
key_num_1equ059h
key_num_2equ05ah
key_num_3equ05bh
key_num_4equ05ch
key_num_5equ05dh
key_num_6equ05eh
key_num_7equ05fh


key_num_8equ060h
key_num_9equ061h
key_num_0equ062h
key_num_dotequ063h
key_code45equ064h
key_appequ065h

key_code107equ085h;for Brazilian keypad period (.)
key_code56equ087h;for Brazilian forward-slash (/) and question-mark (?)
key_code133equ088h;for Japan DBE_KATAKANA (ROMA)
key_code14equ089h;for Japan
key_code132equ08Ah;for Japan CONVERT? (CHG)
key_code131equ08Bh;for Japan NONCONVERT? (N-CHG)

key_Hangulequ90h;korean key F1
Key_Hanjaequ91h;Korean key F2

key_L_ctrlequ0e0h
key_l_shiftequ0e1h
key_l_altequ0e2h


key_L_winequ0e3h
key_r_ctrlequ0e4h
key_r_shiftequ0e5h
key_r_altequ0e6h
key_r_winequ0e7h




; for multi key
key_V_plusequ0100h
key_V_negequ0101h
key_muteequ0102h
key_play_pauseequ0103h
key_next_trackequ0104h
key_pre_trackequ0105h
key_stopequ0106h
key_ejectequ0107h

key_www_refreshequ0108h
key_www_stopequ0109h
key_www_Fequ010ah
key_www_bequ010bh
key_www_homeequ010ch
key_www_gotoequ010dh
key_www_searchequ010eh
key_e_mailequ011fh

key_mediaequ0110h
key_explorerequ0111h
key_calculatorequ0112h
key_screensaveequ0113h
key_computerequ0114h
key_minequ0115h
key_recequ0116h
key_rewequ0117h


; for combine key
key_00equ0200h
key_000equ0201h
key_openequ0202h;ctrl--O
key_saveequ0203h;CTRL--S
key_print_keyequ0204h;CTRL--P
key_cutequ0205h;CTRL--X
key_copyequ0206h;CTRL--C
key_pasteequ0207h;CTRL--V
key_rotateequ0208h;ALT-TAB
key_closeequ0209h;ALT--F4


;for two defined key 1
key_f1_f11equ0300h
key_f2_f12equ0301h
key_f10_scrollequ0302h
key_Up_pgupequ0303h
key_dn_pgdnequ0304h
key_L_homeequ0305h
key_r_endequ0306h

;for two defined key 2

key_7_num_7equ0400h
key_8_num_8equ0401h
key_9_num_9equ0402h
key_0_num_starequ0403h
key_u_num_4equ0404h
key_i_num_5equ0405h
key_o_num_6equ0406h
key_p_num_negequ0407h
key_j_num_1equ0408h
key_k_num_2equ0409h
key_l_num_3equ040ah
key_semicolon_plusequ040bh
key_m_num_0equ040ch
key_comma_107equ040dh
key_dot_numequ040eh
key_interrogation_divequ040fh
key_enter_LRequ0410h

; for function key
key_fnequ5000h

热点排行