Re: [鍵盤] 有可以變更 Ctrl & Fn 這二個功能鍵定 …

看板Key_Mou_Pad (鍵盤滑鼠)作者 (jeff)時間19年前 (2005/11/15 00:13), 編輯推噓11(1100)
留言11則, 11人參與, 最新討論串1/1
※ 引述《johney101 (johney)》之銘言: : 一直以為這個程式,是可以remap fn鍵,因為我用在其它的都行,那fn也行才是 : 就沒在試了,直到剛才,真正用在我的ibm r系筆電上,才發現… : 我錯了, : 這個程式不能用在fn鍵上 : 原作者也說Can I remap my Fn key on my laptop? Probably not. The Fn key translates : scancodes before KeyTweak can see them. : 事實證明,我錯了,sorry! 為什麼不行呢?Fn鍵跟其他鍵有什麼不一樣呢? 我跟各位稍微解釋一下. 先看看這軟體原創者對這個軟體的解釋. Keytweak is a free keyboard remapper for Windows NT/2000/XP. It makes use of Microsoft's Scancode Map registry key to remap your keyboard. 注意看其中的scancode map.... remap... 板上很多大大應該很清楚什麼是scancode,我在這裡稍為班門弄斧解釋一下, 鍵盤輸入的機制基本上是你按鍵盤時,鍵盤控制器(keyboard controller以下簡稱KBC)收到 鍵盤傳來的訊號,便發出硬體中斷(IRQ1),此時系統中的鍵盤驅動程式(DOS下則為INT9) 便會透過IO port 60h 與 64h來讀取妳按下鍵的碼,就是scancode, 而放開的鍵碼叫breakcode(通常是scancode + 128) 這個scancode無法直接拿來用,而是要透過一個map轉換表,把scancode根據你在install OS 時選擇哪一種鍵盤來做不同的map... 送出系統可用之編碼, Windows下就稱之為virtual key,對ctrl,alt,shift這種控制鍵來說,這個時候就確定了, 不過對於字元碼,這個virtual key也還不是'A' 或 'a'的編碼,而是還要根據 你所用的輸入法再轉換一次,就可以得到acsii或uuicode或big5....碼. 而上述軟體便是在你的鍵盤驅動程式把scancode讀回來要map時,把你要改變的鍵map到 其他鍵上去,讓系統得到不同的virtual key,你的目的就達到了 我相信講到這裡,很多人已經睡著了.請忍耐一下,快講完了. 那Fn鍵究竟有什麼不一樣呢? 很簡單,Fn鍵本身沒有scancode, 你按下Fn鍵時既沒有硬體插斷,也沒有scancode產生...什麼都沒有, 也就是說你的系統整個不知道你壓下了Fn鍵. "暗,我聽你在講,如果這樣的話,那我按Fn鍵怎麼會有作用",可能有人會這樣想. 對,你系統不知道,當然什麼都不會做,但是...有別的東西知道...那就是你的鍵盤控制器 (KBC) 你按下了Fn鍵時,你的KBC知道,而你按下Fn鍵後所需要的功能,也全都在 KBC實現. 以下實行細節,睡著者請直接按End或左鍵 實行細節方法很多,我只是隨便舉個例. 1. 調整螢幕亮度.KBC輸出PWM,其duty cycle決定螢幕亮度 2. 調整音量,兩根接腳到音訊晶片,一條叫volume up,一條叫volume down,夠簡單吧! 3. 調整風扇轉速...方法同螢幕亮度. 4. 切換螢幕輸出,系統進入睡眠,無線網路開關...都是直接接到主機板晶片GPIO,然後 由BIOS控制(ACPI)... 5. 有些鍵在按Fn鍵時可有不同輸出,這還有什麼辦不到,我是KBC,我愛送什麼scancode就送 什麼scancode... 但是還是有方法去改變Fn的map,不過通常沒人會做, 就是由原廠提供介面與工具,因為一般筆記型電腦所用的KBC,都是在開機時送一組 matrix map給KBC,這是因為同一個KBC會用在不同機型,而不同機型的鍵盤電路也不同, 為了生產彈性,所以廠商一般會把對照表放在BIOS中,然後在BIOS開機時送入KBC... 所以...如果廠商願意,這是有可能做到的. 還沒睡著的人...我給你鼓鼓掌.感謝支持. 其實我沒搞這個好久了...可能這幾年早有所變遷,所述有誤請多指教. 不過基本上原則應該是這樣不會變啦!....哈.哈.哈....(完) 很少打這麼多....累.....(下台鞠躬) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.113.8

11/15 01:02, , 1F
以上說的大致上沒錯 太強了 拍拍手
11/15 01:02, 1F

11/15 01:04, , 2F
強者 (拍拍拍)
11/15 01:04, 2F

11/15 01:15, , 3F
推!
11/15 01:15, 3F

11/15 01:22, , 4F
這一篇要m啊~~~值得轉筆電的好文
11/15 01:22, 4F

11/15 01:27, , 5F
好強!@_@
11/15 01:27, 5F

11/15 01:28, , 6F
果然是行家,一出手便知道有沒有。
11/15 01:28, 6F

11/15 01:35, , 7F
必推
11/15 01:35, 7F

11/15 07:51, , 8F
推!
11/15 07:51, 8F

11/15 20:24, , 9F
推強者!
11/15 20:24, 9F

11/18 23:35, , 10F
推的人是不是都睡著了啊?
11/18 23:35, 10F

12/03 01:44, , 11F
XD
12/03 01:44, 11F
文章代碼(AID): #13UBUqeQ (Key_Mou_Pad)
文章代碼(AID): #13UBUqeQ (Key_Mou_Pad)