看板 EE_DSnP 關於我們 聯絡資訊
[同學的問題] 因為我修改好了自己的部分之後測試發現單按ESC會有小BUG, 開了DDD之後才發現教授寫的code裡面似乎沒有針對這個情形作對應。 [回答] 在參考的 charDef.cpp (i.e. #else 部分) 的確沒有將光按 ESC 鍵的情形處理好, 比較好的處理方式是: case ESC_KEY: { char combo = mygetc(istr); // Note: ARROW_KEY_INT == MOD_KEY_INT, so we only check MOD_KEY_INT if (combo == char(MOD_KEY_INT)) { ... } // else return UNDEFINED_KEY; else { mybeep(); return checkChar(combo, istr); } 將最後的 "else return UNDEFINED_KEY" 改成將按完 ESC 鍵後的下一個鍵再交由 checkChar() 處理一次。 這樣應該是可以解決光按 ESC 鍵的問題。 小小的瑕疵是那個 beep sound 會在下一個鍵按了之後才會叫, 但也沒有辦法。 另外就是一些沒有 support 的 combo 鍵,像是 F1, F2 等等, 按了會出現一些符號,但這也是 OK 的,因為反正沒有 support。 [關於評分] 由於這種情形沒有定義在 spec 裡,所以我們不會拿來評分。 大家可以自行決定要不要 handle. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.21.241
yorunosora:謝謝教授! 10/21 14:09