看板 EE_DSnP 關於我們 聯絡資訊
[注意: 無論你怎麼改, 千萬不要改到 "#ifdef TA_KB_SETTING" 的部份!!] 有好幾個人問我相同的問題, 所以我在這邊一起回答一下: 就是他們的 keyboard mapping 大部分跟 reference code 一樣, 除了: Home 是: 27 79 72 (原先: 27 91 49 126) End 是: 27 79 70 (原先: 27 91 52 126) 既然大不分都跟 default 的 code 一樣, 我建議就將 #ifdef TA_KB_SETTING 的部份直接 copy 下來, 然後貼到 #else 的部分去直接取代, 然後再改. 1. 由於你的 Home/End 的第二個 code 跟其他特殊鍵不同, 你首先必須在 "enum ParseChar" (charDef.h) 中宣告新的 mod key: HOME_KEY_COMBO = 79, 2. Home/End 的 distinguishing keys 與原先不同, 所以將原先的 comment out 掉, 加入: HOME_KEY = 72 + HOME_KEY_SHIFT, END_KEY = 70 + HOME_KEY_SHIFT, 其中 HOME_KEY_SHIFT 可定義為: HOME_KEY_SHIFT = 1 << 10, 3. 然後在 charDef.cpp 中加入: case ESC_KEY: { char combo = myGetChar(istr); if (combo == char(MOD_KEY_COMBO)) { .... (不用改) } else if (combo == char(HOME_KEY_COMBO)) { // 加這裡 char kk = myGetChar(istr); if (kk == char(HOME_KEY) || kk == char(END_KEY)) return (int(kk) + HOME_KEY_SHIFT); else // should not happen assert(0); } 4. 將 Makefile 中的 -DTA_KB_SETTING 那行 comment out 掉! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.45.43
sa901119:步驟一的 (cmdParser.h) 應為 CharDef.h 哦 03/27 21:43
※ 編輯: ric2k1 來自: 61.224.45.43 (03/27 21:55)
ric2k1:哦, 看錯 homework.... 03/27 21:55
sobluesk:4.是comment out掉再重新寫上CFLAGS=-g -Wall嗎? 03/28 01:03
sa901119:在被comment out掉的那行前面好像就有CFLAGS=-g -Wall了 03/28 07:57