作者ric2k1 (Ric)
看板EE_DSnP
標題Re: [問題] make ref
時間Fri Oct 7 23:22:25 2011
我想我知道原因了...
(是我的錯 orz)
因為你的 keyboard mapping 不同,所以你的 charDef.h 的定義也跟我不同,
也就是說,
你的 HOME_KEY = 72 + HOME_KEY_FLAG,
而我的 HOME_KEY = 49 + MOD_KEY_FLAG,
在 pre-compile 好的 cmdReader.o-ref,
它是用我的 HOME_KEY 的質來做判斷 (line 47),
當你用你的 charDef.h 與 charDef.cpp 跟他一起 link 的時候,
執行的時候它會把你傳入的 HOME_KEY 的值 (72 + HOME_KEY_FLAG) 視為 others,
而跳到 default 去執行 insertChar(),
而印出 'H' <== ASCII code = 72 !!!!
這是我設計上的錯誤,
本來以為大家用我的 cmdReader.o-ref 就可以配合你們的 keyboard mapping,
但是看來如果你們想要測試 cmdReader.ref 的話,
你們 charDef.cpp 回傳的 enum ParseChar 的值要跟我的值一樣才行,
等到你們要測試自己的 cmdReader.cpp 時再換回去你們的值。
Hope this is clear...
※ 引述《victoret (戲言~)》之銘言:
: 標題: [問題] make ref
: 時間: Fri Oct 7 15:21:11 2011
:
: 想請問一下,make ref 之後出來的那個 cmdReader-ref
:
: 在裡面使用的 Home 或是 End
:
: 會出現 H 和 F
:
: 而不是正常的 Home 和 End 的功能
:
: 請問這個狀況是正常的嗎?
:
: 假如是有問題的...那要怎麼解決???
:
:
:
: PS
:
: charDef.h 和 charDef.cpp 都已經改過了
:
: testAsc 出來的對應也跟自己電腦上的相符合
:
: --
: → victoret:那這樣我的確有改成功啊@@ 10/07 21:08
: → victoret:執行 testAsc 以後,按 Home 和 End 分別會出現 10/07 21:10
: → victoret:27 79 72 Home key 10/07 21:10
: → victoret:27 79 70 End key 10/07 21:10
: → victoret:可是執行 cmdReader-ref 的時候,按 Home 卻會變成輸入 H 10/07 21:11
: 推 goodword:嗯... 檢查一下是不是改在 #ifndef TA_KB_SETTING 內 10/07 21:15
: → victoret:是改在 ifndef 裡面... 10/07 21:16
: 推 goodword:那你自己改的部分,是return什麼東西回去?? 10/07 21:21
: 推 ric2k1:把 code 寄給我看看吧! (charDef.cpp) 10/07 21:26
: → victoret:寄到教授信箱? 10/07 21:31
: 推 ric2k1:站內信或是 [email protected].... 10/07 21:33
: → victoret:寄到教授 [email protected] 的信箱了~感謝! 10/07 21:39
: ※ 編輯: victoret 來自: 140.112.25.108 (10/07 21:39)
: ※ 編輯: victoret 來自: 140.112.25.108 (10/07 21:40)
: 推 ric2k1:你的 home 是沒有東西時按了會出現 H, 還是有一些字後 10/07 21:47
: → ric2k1:按了會出現 H? 10/07 21:48
: → victoret:任何狀況下都會出現 H 的說... 10/07 23:00
: → victoret:感覺起來就像是鍵盤上多了一個大寫 H 囧ˊˋ 10/07 23:08
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.160.25.115
1F:→ ric2k1:我明天想辦法來修正一下。 10/07 23:24
2F:推 victoret:感謝教授! 10/07 23:33
3F:→ ric2k1:修好囉!! 請見下下一篇的公告。 10/08 01:39