理解kcm文件的意义
- #keycodedisplaynumberbasecapsfncaps_fn
- A'A''2''a''A''#'0x00
- B'B''2''b''B''<'0x00
- C'C''2''c''C''9'0x00E7
- D'D''3''d''D''5'0x00
- E'E''3''e''E''2'0x0301
- F'F''3''f''F''6'0x00A5
- G'G''4''g''G''-''_'
- H'H''4''h''H''[''{'
- I'I''4''i''I''$'0x0302
- J'J''5''j''J'']''}'
- K'K''5''k''K''"''~'
- L'L''5''l''L'''''`'
- M'M''6''m''M''!'0x00
- N'N''6''n''N''>'0x0303
- O'O''6''o''O''('0x00
- P'P''7''p''P'')'0x00
- Q'Q''7''q''Q''*'0x0300
- R'R''7''r''R''3'0x20AC
- S'S''7''s''S''4'0x00DF
- T'T''8''t''T''+'0x00A3
- U'U''8''u''U''&'0x0308
- V'V''8''v''V''=''^'
- W'W''9''w''W''1'0x00
- X'X''9''x''X''8'0xEF00
- Y'Y''9''y''Y''%'0x00A1
- Z'Z''9''z''Z''7'0x00
keycode列:由kernel层发出,经*.kl键盘映射文件得到keycode;
base列:META_KEY没有被激活时的状态,即MetaState==0时映射的字符;
caps列:毫无疑问,是SHIFT或CAPS_LOCK被激活时的状态,此时MetaState==1时,映射的字符;
fn列:ALT被激活,对应MetaState==2时映射的字符;
caps_fn列:ALT,SHIFT或CAPS_LOCK同时被激活时映射的字符;此时MetaState==3;
通过这种方式,实现了一键对应多个字符的输出,
转自:http://blog.youkuaiyun.com/wzz_momo/article/details/6561017