Linux PowerPC架構版本搭配PowerbookG4,安裝、設定、使用,個人經驗分享,續57
設定鍵盤配置的狀況與瓶頸
筆者現在的主機系統是debian-6.0.2.1-amd64-DVD-1.iso+gnome 2.30,筆者手
邊有一塊鍵盤為Sun Type 7 US/PC Style USB Keyboard,google 查詢對照之後
發現這是一款典型的美規鍵盤,共有118顆按鍵,排列和標準PC104鍵盤一樣,而
筆者這款鍵盤還印有注音符號和倉頡字根,右下角空白鍵右側原本是右alt鍵的
按鍵改印刷"中/英"字樣(實際上是Sun Type 7的AltGraph鍵),原本win key的按
鍵改印刷菱形符號(實際上是Sun Type 7的Meta鍵),沒有相當於win menu的按鍵
,原本是右側control鍵的按鍵改印刷Com-pose字樣(實際上是Sun Type 7的Compose鍵)
,另外最左側又多出11個特殊功能鍵,最右側上方,多出四個特殊功能鍵,中間
上方由左至右依序有num lock,caps lock,scroll lock,compose四個燈號。
筆者預想的是,將這款鍵盤接上gnome桌面環境,然後期望gnome桌面環境能夠完
全整合這118顆按鍵,讓這118顆按鍵上所印刷的字樣功能全都可以在gnome桌面
環境發揮其標示的作用,在開始之前,先做後一個前置準備, 先升級和安裝兩
個軟體套件xkb-data(會更新/usr/share/X11/xkb/路徑下的資料),和x11proto-core-dev
(會更新 /usr/include/X11/路徑下的資料)。
然後筆者點選了gnome選單列\系統\控制中心\硬體\鍵盤\鍵盤偏好設定\配置\鍵盤模式,
卻發現"沒有""Sun Type 7"可以選用,筆者只好選了唯一的 Sun Microsystems \ Sun Type 5/6
,然後筆者點選 gnome選單列\系統\控制中心\硬體\鍵盤\鍵盤偏好設定\配置\加入,
在"選擇配置""依國家" 選取 美國\English(US) 然後在"預覽"的項目中,鍵盤
配置的畫面"並沒有"改變成 Sun Type 系列的型態,依然是PC104key的配置型態
,筆者覺得很奇怪,因為筆者有嘗試在鍵盤模式更改其他設定,例如 Apple\Macintosh
和 Kinesis\Kinesis 等等,在預覽的項目中都有變成其客製化鍵盤的形式,為
什麼 Sun Type 系列就沒有改變呢?
筆者因此產生一些構思,有沒有一種可能,透過一些方法,例如像是填入參數
設定值到系統某些既有的參數設定檔中,讓 gnome選單列\系統\控制中心\硬體\
鍵盤\鍵盤偏好設定\配置\鍵盤模式,能夠新增支援Sun Type 7 US/PC Style USB Keyboard
這個項目,並且在 gnome選單列\系統\控制中心\硬體\鍵盤\鍵盤偏好設定\配置\
加入 的預覽圖,要能夠出現 Sun Type 7 US/PC Style USB Keyboard 的配置,
於是筆者開始嘗試google,結論是,找到的資料看似有用的,全都是英文,然後
這些英文對筆者來說像天書一樣,最後筆者決定採用土法煉鋼的對照拼湊法,因
為筆者沒有能力消化那些英文文件,無法了解其真正的新增鍵盤配置設定作業流
程順序和設定原理,只能以錯誤嘗試再除錯的方式來進行,至於為什麼筆者要這
樣設定,筆者自己也解釋不出所以然來,反正只要那118顆按鍵全部都能夠發揮其
印刷字樣所標示的按鍵功能即可。
先切換使用root權限,並用文字編輯器gedit或medit開啟以下檔案,並編輯檔案
內容。
/usr/share/X11/xkb/rules/base
尋找 !model = keycodes 段落,並插入如下內容
---
sun7 = sun(type7)
---
尋找 !model layout = symbols 段落,並插入如下內容
---
sun7 tw = sun_vndr/tw(type7)
---
/usr/share/X11/xkb/rules/base.lst
尋找 !model 段落,並插入如下內容
---
sun7 Sun Type 7 US/PC Style USB Keyboard
---
/usr/share/X11/xkb/rules/base.xml
尋找 sun6 段落,並插入如下內容
---
<model>
</configitem>
<name>sun7</name>
<description>Sun Type 7 US/PC Style USB Keyboard</description>
<vendor>Sun Microsystems</vendor>
</configitem>
</model>
---
/usr/share/X11/xkb/rules/evdev
尋找 !model layout = symbols 段落,並插入如下內容
---
sun7 tw = sun_vndr/tw(type7)
---
/usr/share/X11/xkb/rules/evdev.lst
尋找 !model 段落,並插入如下內容
---
sun7 Sun Type 7 US/PC Style USB Keyboard
---
/usr/share/X11/xkb/rules/evdev.xml
尋找 sun6 段落,並插入如下內容
---
<model>
</configitem>
<name>sun7</name>
<description>Sun Type 7 US/PC Style USB Keyboard</description>
<vendor>Sun Microsystems</vendor>
</configitem>
</model>
---
將這六個檔案編輯完並存檔後,再進入
gnome選單列\系統\控制中心\硬體\鍵盤\鍵盤偏好設定\配置\鍵盤模式,果然多
出了 Sun Microsystems\Sun Type 7 US/PC Style USB Keyboard 可以選用,但
是注意,此時這個選項只是一個空殼而已,背後的鍵盤配置定義檔還沒有做出來
,接下來編輯 /usr/share/X11/xkb/keycodes/sun 這個檔案,筆者對照其他資
料後整理拼裝並插入一串內容如下,
---資料開始的分隔線---
xkb_keycodes "type7" {
minimum= 8;
maximum= 255;
<HELP> = 146
<STOP> = 136
<AGAI> = 137
<PROP> = 138
<UNDO> = 139
<FRNT> = 140
<COPY> = 141
<OPEN> = 142
<PAST> = 143
<FIND> = 144
<CUT> = 145
<ESC> = 9
<FK01> = 67
<FK02> = 68
<FK03> = 69
<FK04> = 70
<FK05> = 71
<FK06> = 72
<FK07> = 73
<FK08> = 74
<FK09> = 75
<FK10> = 76
<FK11> = 95
<FK12> = 96
<TLDE> = 49
<AE01> = 10
<AE02> = 11
<AE03> = 12
<AE04> = 13
<AE05> = 14
<AE06> = 15
<AE07> = 16
<AE08> = 17
<AE09> = 18
<AE10> = 19
<AE11> = 20
<AE12> = 21
<BKSP> = 22
<TAB> = 23
<AD01> = 24
<AD02> = 25
<AD03> = 26
<AD04> = 27
<AD05> = 28
<AD06> = 29
<AD07> = 30
<AD08> = 31
<AD09> = 32
<AD10> = 33
<AD11> = 34
<AD12> = 35
<BKSL> = 51
<CAPS> = 66
<AC01> = 38
<AC02> = 39
<AC03> = 40
<AC04> = 41
<AC05> = 42
<AC06> = 43
<AC07> = 44
<AC08> = 45
<AC09> = 46
<AC10> = 47
<AC11> = 48
<RTRN> = 36
<LFSH> = 50
<AB01> = 52
<AB02> = 53
<AB03> = 54
<AB04> = 55
<AB05> = 56
<AB06> = 57
<AB07> = 58
<AB08> = 59
<AB09> = 60
<AB10> = 61
<RTSH> = 62
<LCTL> = 37
<LMTA> = 133
<LALT> = 64
<SPCE> = 65
<ALGR> = 108
<RMTA> = 134
<COMP> = 135
<PRSC> = 107
<SCLK> = 78
<PAUS> = 127
<INS> = 118
<HOME> = 110
<PGUP> = 112
<DELE> = 119
<END> = 115
<PGDN> = 117
<UP> = 111
<LEFT> = 113
<DOWN> = 116
<RGHT> = 114
<MUTE> = 121
<VOL-> = 122
<VOL+> = 123
<POWR> = 124
<NMLK> = 77
<KPDV> = 106
<KPMU> = 63
<KPSU> = 82
<KP7> = 79
<KP8> = 80
<KP9> = 81
<KPAD> = 86
<KP4> = 83
<KP5> = 84
<KP6> = 85
<KP1> = 87
<KP2> = 88
<KP3> = 89
<KPEN> = 104
<KP0> = 90
<KPDL> = 91
indicator 4 = "Compose";
indicator 3 = "Scroll Lock";
indicator 2 = "Caps Lock";
indicator 1 = "Num Lock";
};
---資料結束的分隔線---
這裡筆者就遇到很多瓶頸解決不了,首先就是縮寫標示像是<STOP><ESC><FK01>
<TLDE><AE01><AD01><PGDN><KPEN>諸如此類,筆者想找一份文件資料,裏頭會有
整理出WinPC鍵盤,unix鍵盤,mac鍵盤甚至多媒體鍵盤這四大類"所有"可能的
"縮寫標示""總共"有哪些,可是筆者怎麼找就是找不到,而以上資料的縮寫標示
都是筆者在零散的資料檔案中一個一個拼湊出來的,如果找得到那種"總整理"類
型的縮寫標示資料,那筆者就不用這麼麻煩的在各個零散的檔案中東挖一塊西挖
一塊了,讓筆者可以在一份文件中查詢。
再來,縮寫標示之後的值為keycode碼,這裡要注意,筆者查了令人眼花撩亂的
文件後發現,需要進入終端機視窗模式,用下指令的方式查詢,筆者找不到純圖
形介面的keycodes查詢軟體,這個指令為 showkey ,只能在root權限使用,要
注意的是,若有安裝中文的manpages的話,有可能中文的manpages的版本還沒跟
上英文版的, 所以可能會有showkey的help資訊跟showkey的中文manpages沒有
百分之百一致的狀況,所以還是以英文的HELP為主,中文的manpages可當參考。
藉由showkey的功能,筆者土法煉鋼的把118個按鍵的keycodes全部查出,這時又
要注意了,參考連結的某篇段落有提到(筆者已經忘了是哪個段落,英文文章量太大了)
圖形介面的keycodes要將原本在終端機指令模式查到的還要再 +8 碼,所以筆者
又土法煉鋼的將118個keycodes都個別再 +8 碼,再來就是 indicator 這個字串
值,筆者看不懂那是做什麼的,可是對照之後猜測有沒有可能是指鍵盤上的燈號
(筆者只是猜測,不確定)?於是筆者就將鍵盤上的燈號標示文字由左往右依序填
進去,就這樣編輯好了 /usr/share/X11/xkb/keycodes/sun 檔案,並存檔。
再來編輯 /usr/share/X11/xkb/keycodes.dir 檔案,填入 -d------ -------- sun(type7)
,至於為什麼,筆者也不知道,反正就是對照來的,另外參考的對照檔案中還有
alias連結設定,筆者搞不清楚到底該不該設定這些連結,什麼狀況下要設定,
什麼狀況下不要設定呢?該設定些什麼縮寫標示的alias呢?
接下來編輯 /usr/share/X11/xkb/symbols/sun_vndr/tw 檔案,筆者對照其他資
料後,整理拼裝並插入一串內容如下,
---資料開始的分隔線---
// Sun Type 7 US/PC Style USB Keyboard
xkb_symbols "type7" {
key <HELP> { [ Help ] };
key <STOP> { [ SunStop ] };
key <AGAI> { [ SunAgain ] };
key <PROP> { [ SunProps ] };
key <UNDO> { [ SunUndo ] };
key <FRNT> { [ SunFront ] };
key <COPY> { [ SunCopy ] };
key <OPEN> { [ SunOpen ] };
key <PAST> { [ SunPaste ] };
key <FIND> { [ SunFind ] };
key <CUT> { [ SunCut ] };
key <ESC> { [ Escape ] };
key <FK01> { [ F1, XF86Switch_VT_1 ] };
key <FK02> { [ F2, XF86Switch_VT_2 ] };
key <FK03> { [ F3, XF86Switch_VT_3 ] };
key <FK04> { [ F4, XF86Switch_VT_4 ] };
key <FK05> { [ F5, XF86Switch_VT_5 ] };
key <FK06> { [ F6, XF86Switch_VT_6 ] };
key <FK07> { [ F7, XF86Switch_VT_7 ] };
key <FK08> { [ F8, XF86Switch_VT_8 ] };
key <FK09> { [ F9, XF86Switch_VT_9 ] };
key <FK10> { [ F10, XF86Switch_VT_10 ] };
key <FK11> { [ F11, XF86Switch_VT_11 ] };
key <FK12> { [ F12, XF86Switch_VT_12 ] };
key <TLDE> { [ SunFA_Grave, SunFA_Tilde ] };
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, at ] };
key <AE03> { [ 3, numbersign ] };
key <AE04> { [ 4, dollar ] };
key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, asciicircum ] };
key <AE07> { [ 7, ampersand ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenleft ] };
key <AE10> { [ 0, parenright ] };
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
key <BKSP> { [ BackSpace ] };
key <TAB> { [ Tab, ISO_Left_Tab ] };
key <AD01> { [ q, Q ] };
key <AD02> { [ w, W ] };
key <AD03> { [ e, E ] };
key <AD04> { [ r, R ] };
key <AD05> { [ t, T ] };
key <AD06> { [ y, Y ] };
key <AD07> { [ u, U ] };
key <AD08> { [ i, I ] };
key <AD09> { [ o, O ] };
key <AD10> { [ p, P ] };
key <AD11> { [ bracketleft, braceleft ] };
key <AD12> { [ bracketright, braceright ] };
key <BKSL> { [ backslash, bar ] };
key <CAPS> { [ Caps_Lock, ] };
key <AC01> { [ a, A ] };
key <AC02> { [ s, S ] };
key <AC03> { [ d, D ] };
key <AC04> { [ f, F ] };
key <AC05> { [ g, G ] };
key <AC06> { [ h, H ] };
key <AC07> { [ j, J ] };
key <AC08> { [ k, K ] };
key <AC09> { [ l, L ] };
key <AC10> { [ semicolon, colon ] };
key <AC11> { [ apostrophe, quotedbl ] };
key <RTRN> { [ Return ] };
key <LFSH> { [ Shift_L ] };
key <AB01> { [ z, Z ] };
key <AB02> { [ x, X ] };
key <AB03> { [ c, C ] };
key <AB04> { [ v, V ] };
key <AB05> { [ b, B ] };
key <AB06> { [ n, N ] };
key <AB07> { [ m, M ] };
key <AB08> { [ comma, less ] };
key <AB09> { [ period, greater ] };
key <AB10> { [ slash, question] };
key <RTSH> { [ Shift_R ] };
key <LCTL> { [ Control_L ] };
key <LMTA> { [ Meta_L ] };
key <LALT> { [ Alt_L, Alt_L ] };
key <SPCE> { [ space ] };
key <ALGR> { [ SunAltGraph ] };
key <RMTA> { [ Meta_R ] };
key <COMP> { [ SunCompose ] };
key <PRSC> { [ SunPrint_Screen, SunSys_Req ] };
key <SCLK> { [ Scroll_Lock ] };
key <PAUS> { [ Pause, Break ] };
key <INS> { [ Insert ] };
key <HOME> { [ Home ] };
key <PGUP> { [ SunPageUp ] };
key <DELE> { [ Delete ] };
key <END> { [ End ] };
key <PGDN> { [ SunPageDown ] };
key <UP> { [ Up ] };
key <LEFT> { [ Left ] };
key <DOWN> { [ Down ] };
key <RGHT> { [ Right ] };
key <MUTE> { [ SunAudioMute ] };
key <VOL-> { [ SunAudioLowerVolume ] };
key <VOL+> { [ SunAudioRaiseVolume ] };
key <POWR> { [ SunPowerSwitch ] };
key <NMLK> { [ Num_Lock ] };
key <KPDV> { [ KP_Divide ] };
key <KPMU> { [ KP_Multiply ] };
key <KPSU> { [ KP_Subtract ] };
key <KP7> { [ KP_Home, KP_7 ] };
key <KP8> { [ KP_Up, KP_8 ] };
key <KP9> { [ KP_Page_Up, KP_9 ] };
key <KPAD> { [ KP_Add ] };
key <KP4> { [ KP_Left, KP_4 ] };
key <KP5> { [ KP_Begin, KP_5 ] };
key <KP6> { [ KP_Right, KP_6 ] };
key <KP1> { [ KP_End, KP_1 ] };
key <KP2> { [ KP_Down, KP_2 ] };
key <KP3> { [ KP_Page_Down, KP_3 ] };
key <KPEN> { [ KP_Enter ] };
key <KP0> { [ KP_Insert, KP_0 ] };
key <KPDL> { [ KP_Delete, KP_Decimal ] };
modifier_map Shift { Shift_L, Shift_R };
modifier_map Control{ Control_L };
modifier_map Lock { Caps_Lock, ISO_Lock };
modifier_map Mod1 { Meta_L, Meta_R };
modifier_map Mod2 { Num_Lock };
modifier_map Mod3 { mode_switch };
modifier_map Mod4 { Alt_L };
};
---資料結束的分隔線---
其中 {[ ]}; 裏頭的字串,筆者參考了資料檔如下,
/usr/share/X11/XKeysymDB
/usr/include/X11/keysym.h
/usr/include/X11/keysymdef.h
/usr/include/X11/Sunkeysym.h
/usr/include/X11/XF86keysym.h
筆者原則上就優先選擇跟Sun有關的字串,畢竟筆者用的是Sun Type 7 US/PC Style USB Keyboard
再來 modifier_map 段落的部分,筆者比較了老半天,還是看不出所以然,到底
排序的依歸是什麼,如果要以 Sun Type 7 US/PC Style USB Keyboard 實體鍵
盤上的印刷字樣為主的話,到底 modifier_map 該如何排序呢,筆者搞不定,只
好先求有再說了。
再來編輯 /usr/share/X11/xkb/symbols.dir 檔案,填入 -d------ -------- sun_vndr/tw(type7)
,至於為什麼,筆者也不知道,反正就是對照來的。
接下來新增設定檔 /usr/share/X11/xkb/keymap/sun_vndr/tw,
---設定檔開始的分隔線---
default xkb_keymap "type7_tw" {
xkb_keycodes { include "sun(type7)" };
xkb_types { include "default" };
xkb_compatibility { include "default" };
xkb_symbols { include "sun_vndr/tw(type7)" };
xkb_geometry { include "sun(t6)" };
};
---設定檔結束的分隔線---
再來編輯 /usr/share/X11/xkb/keymap.dir 檔案,填入 -d------ -------- sun_vndr/tw(type7_tw)
,至於為什麼,筆者也不知道,反正就是對照來的。
接下來查詢 /usr/share/X11/xkb/geometry/sun ,看了裏頭的設定檔,對筆者來
說內容是天書,整個看下來,最相似的段落為 xkb_geometry "t6" ,於是筆者就
把 t6 填入前面所提的 /usr/share/X11/xkb/keymap/sun_vndr/tw 檔案中。
再來編輯 /usr/share/X11/xkb/geometry.dir 檔案,填入 -d------ -------- sun(t6)
,至於為什麼,筆者也不知道,反正就是對照來的。
以上做完一輪之後,重開機進入 gnome選單列\系統\控制中心\硬體\鍵盤\鍵盤偏好設定\配置\鍵盤模式
,選用了 Sun Microsystems \ Sun Type 7 US/PC Style USB Keyboard,再進入
gnome選單列\系統\控制中心\硬體\鍵盤\鍵盤偏好設定\配置\加入,選擇配置"依國家"
選取 美國\English(US) 或著 中華民國\Taiwanese,然後在"預覽"的項目中,鍵
盤配置的畫面,還是依然"沒有"改變成 Sun Type 的鍵盤形式,然後筆者就"沒有辦法"
了。
以上是嘗試想要治本,筆者另外也嘗試治標的方法,筆者安裝了 XKeyCaps 套件,
這個套件目前還沒有原生支援gnome圖形環境,所以操作其圖形介面時會有不順暢
的地方,例如按下其子視窗的右上角 X ,結果會導致其程式整個結束,必須要按
下視窗下方的選項按鈕,XKeyCaps目前寫死的資料庫中,只有提供到Sun Type5為
止,可以透過其介面生成 .xmodmap-(主機名稱) 資料檔案,可至於 /home/妳的帳號/
路徑下,系統從開機後 .xmodmap-(主機名稱) 資料檔案可替代系統的預設值,然而
筆者發現 XKeyCaps 預設生成的 .xmodmap-(主機名稱) 資料檔案,其排序對照表
是亂的無法跟筆者的 Sun Type 7 US/PC Style USB Keyboard 配合,於是筆者得
嘗試自行編輯檔案內容,讓排序可搭配筆者的鍵盤,筆者土法煉鋼的對照後,檔
案資料如下,
---資料開始的分隔線---
keycode 146 = Help NoSymbol Help NoSymbol
keycode 136 = SunStop NoSymbol SunStop NoSymbol
keycode 137 = SunAgain NoSymbol SunAgain NoSymbol
keycode 138 = SunProps NoSymbol SunProps NoSymbol
keycode 139 = SunUndo NoSymbol SunUndo NoSymbol
keycode 140 = SunFront NoSymbol SunFront NoSymbol
keycode 141 = SunCopy NoSymbol SunCopy NoSymbol
keycode 142 = SunOpen NoSymbol SunOpen NoSymbol
keycode 143 = SunPaste NoSymbol SunPaste NoSymbol
keycode 144 = SunFind NoSymbol SunFind NoSymbol
keycode 145 = SunCut NoSymbol SunCut NoSymbol
keycode 9 = Escape NoSymbol Escape NoSymbol
keycode 67 = F1 XF86Switch_VT_1 F1 XF86Switch_VT_1
keycode 68 = F2 XF86Switch_VT_2 F2 XF86Switch_VT_2
keycode 69 = F3 XF86Switch_VT_3 F3 XF86Switch_VT_3
keycode 70 = F4 XF86Switch_VT_4 F4 XF86Switch_VT_4
keycode 71 = F5 XF86Switch_VT_5 F5 XF86Switch_VT_5
keycode 72 = F6 XF86Switch_VT_6 F6 XF86Switch_VT_6
keycode 73 = F7 XF86Switch_VT_7 F7 XF86Switch_VT_7
keycode 74 = F8 XF86Switch_VT_8 F8 XF86Switch_VT_8
keycode 75 = F9 XF86Switch_VT_9 F9 XF86Switch_VT_9
keycode 76 = F10 XF86Switch_VT_10 F10 XF86Switch_VT_10
keycode 95 = F11 XF86Switch_VT_11 F11 XF86Switch_VT_11
keycode 96 = F12 XF86Switch_VT_12 F12 XF86Switch_VT_12
keycode 49 = SunFA_Grave SunFA_Tilde SunFA_Grave SunFA_Tilde
keycode 10 = 1 exclam 1 exclam
keycode 11 = 2 at 2 at
keycode 12 = 3 numbersign 3 numbersign
keycode 13 = 4 dollar 4 dollar
keycode 14 = 5 percent 5 percent
keycode 15 = 6 asciicircum 6 asciicircum
keycode 16 = 7 ampersand 7 ampersand
keycode 17 = 8 asterisk 8 asterisk
keycode 18 = 9 parenleft 9 parenleft
keycode 19 = 0 parenright 0 parenright
keycode 20 = minus underscore minus underscore
keycode 21 = equal plus equal plus
keycode 22 = BackSpace NoSymbol BackSpace NoSymbol
keycode 23 = Tab ISO_Left_Tab Tab ISO_Left_Tab
keycode 24 = q Q q Q
keycode 25 = w W w W
keycode 26 = e E e E
keycode 27 = r R r R
keycode 28 = t T t T
keycode 29 = y Y y Y
keycode 30 = u U u U
keycode 31 = i I i I
keycode 32 = o O o O
keycode 33 = p P p P
keycode 34 = bracketleft braceleft bracketleft braceleft
keycode 35 = bracketright braceright bracketright braceright
keycode 51 = backslash bar backslash bar
keycode 66 = Caps_Lock NoSymbol Caps_Lock NoSymbol
keycode 38 = a A a A
keycode 39 = s S s S
keycode 40 = d D d D
keycode 41 = f F f F
keycode 42 = g G g G
keycode 43 = h H h H
keycode 44 = j J j J
keycode 45 = k K k K
keycode 46 = l L l L
keycode 47 = semicolon colon semicolon colon
keycode 48 = apostrophe quotedbl apostrophe quotedbl
keycode 36 = Return NoSymbol Return NoSymbol
keycode 50 = Shift_L NoSymbol Shift_L NoSymbol
keycode 52 = z Z z Z
keycode 53 = x X x X
keycode 54 = c C c C
keycode 55 = v V v V
keycode 56 = b B b B
keycode 57 = n N n N
keycode 58 = m M m M
keycode 59 = comma less comma less
keycode 60 = period greater period greater
keycode 61 = slash question slash question
keycode 62 = Shift_R NoSymbol Shift_R Shift_R
keycode 37 = Control_L Control_L Control_L Control_L
keycode 133 = Meta_L Meta_L Meta_L Meta_L
keycode 64 = Alt_L Alt_L Alt_L Alt_L
keycode 65 = space space space space
keycode 108 = SunAltGraph SunAltGraph SunAltGraph SunAltGraph
keycode 134 = Meta_R Meta_R Meta_R Meta_R
keycode 135 = SunCompose SunCompose SunCompose SunCompose
keycode 107 = SunPrint_Screen SunSys_Req SunPrint_Screen SunSys_Req
keycode 78 = Scroll_Lock NoSymbol Scroll_Lock NoSymbol
keycode 127 = Pause Break Pause Break
keycode 118 = Insert NoSymbol Insert NoSymbol
keycode 110 = Home NoSymbol Home NoSymbol
keycode 112 = SunPageUp NoSymbol SunPageUp NoSymbol
keycode 119 = Delete NoSymbol Delete NoSymbol
keycode 115 = End NoSymbol End NoSymbol
keycode 117 = SunPageDown NoSymbol SunPageDown NoSymbol
keycode 111 = Up NoSymbol Up NoSymbol
keycode 113 = Left NoSymbol Left NoSymbol
keycode 116 = Down NoSymbol Down NoSymbol
keycode 114 = Right NoSymbol Right NoSymbol
keycode 121 = SunAudioMute SunVideoDegauss SunAudioMute SunVideoDegauss
keycode 122 = SunAudioLowerVolume SunVideoLowerBrightness SunAudioLowerVolume SunVideoLowerBrightness
keycode 123 = SunAudioRaiseVolume SunVideoRaiseBrightness SunAudioRaiseVolume SunVideoRaiseBrightness
keycode 124 = SunPowerSwitch NoSymbol SunPowerSwitch NoSymbol
keycode 77 = Num_Lock NoSymbol Num_Lock NoSymbol
keycode 106 = KP_Divide NoSymbol KP_Divide NoSymbol
keycode 63 = KP_Multiply NoSymbol KP_Multiply NoSymbol
keycode 82 = KP_Subtract NoSymbol KP_Subtract NoSymbol
keycode 79 = KP_Home KP_7 KP_Home KP_7
keycode 80 = KP_Up KP_8 KP_Up KP_8
keycode 81 = KP_Page_Up KP_9 KP_Page_Up KP_9
keycode 86 = KP_Add NoSymbol KP_Add NoSymbol
keycode 83 = KP_Left KP_4 KP_Left KP_4
keycode 84 = KP_Begin KP_5 KP_Begin KP_5
keycode 85 = KP_Right KP_6 KP_Right KP_6
keycode 87 = KP_End KP_1 KP_End KP_1
keycode 88 = KP_Down KP_2 KP_Down KP_2
keycode 89 = KP_Page_Down KP_3 KP_Page_Down KP_3
keycode 104 = KP_Enter NoSymbol KP_Enter NoSymbol
keycode 90 = KP_Insert KP_0 KP_Insert KP_0
keycode 91 = KP_Delete KP_Decimal KP_Delete KP_Decimal
clear Shift
clear Lock
clear Control
clear Mod1
clear Mod2
clear Mod3
clear Mod4
clear Mod5
add Shift = Shift_L Shift_R
add Lock = Caps_Lock
add Control = Control_L
add Mod1 = Alt_L
add Mod2 = Mode_switch Num_Lock
add Mod4 = Meta_L Meta_R
add Mod5 = ISO_Level3_Shift Mode_switch
---資料結束的分隔線---
其中最後 add 這個段落,筆者看不懂,無法判斷到底怎麼樣的排序和字串設定
,才能完整配合筆者的 Sun Type 7 US/PC Style USB Keyboard ,所以只好先
求有再說了。檔案存檔,重開機後,筆者發現除了拼音子母有效之外,特殊功
能鍵都沒有作用,然後筆者又不知道該怎麼辦了,以上洋洋灑灑寫了一堆,最
後的結論,筆者的設定是失敗的~更~
參考連結
http://geekhack.org/showthread.php?2164 ... ayout-(USB)
http://www.ebay.de/itm/Sun-Type-7-US-PC ... 1c1c961b98Sun Type 7 US/PC Style USB Keyboard Kit, RoHS-6 Compliant (p/n X3731A-NIB)
http://www.memoryxsun.com/x3731anib.htmlCreate your own personal keyboard layout
http://ubuntuforums.org/showthread.php?t=188761Creating custom keyboard layouts for X11 using XKB
http://hektor.umcs.lublin.pl/~mikosmul/ ... s-xkb.htmlHowto: Custom keyboard layout definitions
https://help.ubuntu.com/community/Howto ... nitions%22An Unreliable Guide to XKB Configuration
http://www.charvolant.org/~doug/xkb/html/xkb.htmlKey Code Naming Conventions 有圖
http://www.charvolant.org/~doug/xkb/html/node5.htmlXKB - X Keyboard Extension
http://www.x.org/wiki/XKBX Keyboard Extension
http://pascal.tsu.ru/en/xkb/www.x.org/docs/XKB/XKBproto.pdfSUN UNIX Keyboard & Linux Gnome
http://anti.teamidiot.de/nei/2010/06/su ... nux_gnome/Keyboard scancodes
http://www.win.tue.nl/~aeb/linux/kbd/scancodes.htmlScan Codes Demystified
http://www.quadibloc.com/comp/scan.htmComputer Keyboards
http://www.quadibloc.com/comp/kybint.htmKeyboard scancodes
http://www.win.tue.nl/~aeb/linux/kbd/scancodes.htmlLinux Keycode Table
http://www.comptechdoc.org/os/linux/how ... codes.htmlUbuntu切換外接video的hotkey作法
http://blog.lexical.tw/2010/10/ubuntuvideohotkey.htmlxkb ,kernel keycode,xserver keycode
http://blog.chinaunix.net/space.php?uid ... id=2045015http://lineak.sourceforge.net/index.php?nav=docsXKeyCaps Manual
http://www.jwz.org/xkeycaps/man.htmlhttp://en.wikipedia.org/wiki/Computer_keyboardhttp://en.wikipedia.org/wiki/AltGr_keyhttp://en.wikipedia.org/wiki/Compose_keyhttp://en.wikipedia.org/wiki/Meta_keyhttp://en.wikipedia.org/wiki/Windows_keyhttp://en.wikipedia.org/wiki/Super_key_(keyboard_button)
http://en.wikipedia.org/wiki/Modifier_keyhttp://en.wikipedia.org/wiki/IBM_PC_keyboardhttp://en.wikipedia.org/wiki/Keyboard_layouthttp://en.wikipedia.org/wiki/Scancode