Ubuntu修改外接鍵盤的映射

作為一個(gè)emacs使用者,覺得把大寫鎖定和左側(cè)的ctrl鍵交換一下是比較方便的做法秘通,但是發(fā)現(xiàn)插了外接鍵盤之后之前修改的映射沒法用了,于是上網(wǎng)搜索了一下解決方案,參考:http://blog.csdn.net/yxz329130952/article/details/52349163

HWDB

使用lsusb來確定外接鍵盤的ID并記下,后面會用到夹厌。例如:
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching HubBus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 001 Device 096: ID 046a:0014 Cherry GmbH Bus 001 Device 094: ID 046a:0011 Cherry GmbH G83 (RS 6000) KeyboardBus 001 Device 005: ID 17ef:100a Lenovo ThinkPad Mini Dock Plus Series 3Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver

確定需要映射鍵位的keycode,推薦使用getscancodes來檢測對應(yīng)鍵位的keycode,下載地址在這里裆悄, 下載后可以根據(jù)自己的情況進(jìn)行編譯:

$ cd getscancodes
$ makegcc -O2 -Wall -c -o getscancodes.o getscancodes.cgcc -o getscancodes getscancodes.o
$ ./getscancodes Usage: ./getscancodes /dev/input/eventXWhere X = input device number```

當(dāng)然我是直接使用的下載文件夾中編譯好的getscancodes文件矛纹。由于每個(gè)輸入設(shè)備在*/dev/input*目錄下都有一個(gè)對應(yīng)的event文件,可以通過插拔對應(yīng)的輸入設(shè)備來確定設(shè)備對應(yīng)的是哪個(gè)event文件光稼,然后就可以使用getscancodes來確定對應(yīng)鍵盤鍵位的keycode或南,例如*$ sudo ./getscancodes /dev/input/event11*
Input driver version is 1.0.1Input device ID: bus 0x3 vendor 0x46a product 0x14 version 0x111Input device name: "HID 046a:0014"458850 (0x70062)

其中按下對應(yīng)鍵后屏幕輸出的信息就是這個(gè)鍵位對應(yīng)的信息,其中第四行中的***0x70062***就是對應(yīng)鍵的keycode艾君。

創(chuàng)建映射配置文件采够。在確定了輸入設(shè)備ID和對應(yīng)鍵位的keycode后,就可以在*/etc/udev/hwdb.d/*目錄下創(chuàng)建配置文件來實(shí)現(xiàn)映射冰垄,配置文件必須以hwdb作為擴(kuò)展名蹬癌,示例內(nèi)容如下:

keyboard:usb:v046DpC31C*
KEYBOARD_KEY_0x70039=rightctrl
KEYBOARD_KEY_0x700e4=capslock


其中第一行指明了需要修改映射的輸入設(shè)備,其中v046Ap0014*就對應(yīng)輸入鍵盤的ID虹茶,**注意:ID中的字母必須為大寫冀瓦,并以v開頭,p分隔和*號結(jié)尾写烤。** 后面的幾行必須以空格開頭翼闽,等號前的16進(jìn)制數(shù)據(jù)部分就是對應(yīng)鍵的keycode,等號后面為鍵映射后的標(biāo)示符洲炊,其中有效的標(biāo)示符大家可以查看[這里](https://hal.freedesktop.org/quirk/quirk-keymap-list.txt)感局。創(chuàng)建好了配置文件4. 后就可以通過重啟或者*$ sudo udevadm -d hwdb –update;sudo udevadm -d control –reload*來使配置生效尼啡。 最后[測試](http://lib.csdn.net/base/softwaretest)使用第二種方法成功將我的外接鍵盤進(jìn)行了映射。但是還有一個(gè)問題是询微,如果在映射生效后如果再插拔設(shè)備崖瞭,那么本次映射就失效了,需要重新執(zhí)行第4步來重新使配置生效撑毛。不過好在這個(gè)問題應(yīng)該可以通過shell腳本解決书聚。

以下是標(biāo)識符:

0
1
102nd
2
3
4
5
6
7
8
9
a
ab
addressbook
again
alterase
angle
apostrophe
archive
audio
aux
b
back
backslash
backspace
bassboost
battery
blue
bluetooth
bookmarks
break
brightnessdown
brightnessup
brl_dot1
brl_dot2
brl_dot3
brl_dot4
brl_dot5
brl_dot6
brl_dot7
brl_dot8
c
calc
calendar
camera
cancel
capslock
cd
channel
channeldown
channelup
chat
clear
close
closecd
coffee
comma
compose
computer
config
connect
copy
cut
cyclewindows
d
database
del_eol
del_eos
delete
deletefile
del_line
digits
direction
directory
displaytoggle
documents
dot
down
dvd
e
edit
editor
ejectcd
ejectclosecd
email
end
enter
epg
equal
esc
exit
f
f1
f10
f11
f12
f13
f14
f15
f16
f17
f18
f19
f2
f20
f21
f22
f23
f24
f3
f4
f5
f6
f7
f8
f9
fastforward
favorites
file
finance
find
first
fn
fn_1
fn_2
fn_b
fn_d
fn_e
fn_esc
fn_f
fn_f1
fn_f10
fn_f11
fn_f12
fn_f2
fn_f3
fn_f4
fn_f5
fn_f6
fn_f7
fn_f8
fn_f9
fn_s
forward
forwardmail
front
g
games
goto
graphicseditor
grave
green
h
hangeul
hanguel
hanja
help
henkan
hiragana
home
homepage
hp
i
info
insert
ins_line
iso
j
k
katakana
katakanahiragana
kbdillumdown
kbdillumtoggle
kbdillumup
keyboard
kp0
kp1
kp2
kp3
kp4
kp5
kp6
kp7
kp8
kp9
kpasterisk
kpcomma
kpdot
kpenter
kpequal
kpjpcomma
kpleftparen
kpminus
kpplus
kpplusminus
kprightparen
kpslash
l
language
last
left
leftalt
leftbrace
leftctrl
leftmeta
leftshift
linefeed
list
m
macro
mail
media
memo
menu
messenger
mhp
min_interesting
minus
mode
move
mp3
msdos
muhenkan
mute
n
new
news
next
nextsong
numlock
o
ok
open
option
p
pagedown
pageup
paste
pause
pausecd
pc
phone
play
playcd
player
playpause
power
power2
presentation
previous
previoussong
print
prog1
prog2
prog3
prog4
program
props
pvr
q
question
r
radio
record
red
redo
refresh
reply
reserved
restart
rewind
right
rightalt
rightbrace
rightctrl
rightmeta
rightshift
ro
s
sat
sat2
save
screen
screenlock
scrolldown
scrolllock
scrollup
search
select
semicolon
send
sendfile
setup
shop
shuffle
slash
sleep
slow
sound
space
sport
spreadsheet
stop
stopcd
subtitle
suspend
switchvideomode
sysrq
t
tab
tape
teen
text
time
title
tuner
tv
tv2
twen
u
undo
unknown
up
v
vcr
vcr2
vendor
video
videophone
voicemail
volumedown
volumeup
w
wakeup
wlan
wordprocessor
www
x
xfer
y
yellow
yen
z
zenkakuhankaku
zoom
zoomin
zoomout
zoomreset
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市藻雌,隨后出現(xiàn)的幾起案子雌续,更是在濱河造成了極大的恐慌,老刑警劉巖胯杭,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驯杜,死亡現(xiàn)場離奇詭異,居然都是意外死亡做个,警方通過查閱死者的電腦和手機(jī)鸽心,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來居暖,“玉大人顽频,你說我怎么就攤上這事√耄” “怎么了糯景?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長跟束。 經(jīng)常有香客問我莺奸,道長,這世上最難降的妖魔是什么冀宴? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任灭贷,我火速辦了婚禮,結(jié)果婚禮上略贮,老公的妹妹穿的比我還像新娘甚疟。我一直安慰自己,他們只是感情好逃延,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布览妖。 她就那樣靜靜地躺著,像睡著了一般揽祥。 火紅的嫁衣襯著肌膚如雪讽膏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天拄丰,我揣著相機(jī)與錄音府树,去河邊找鬼俐末。 笑死,一個(gè)胖子當(dāng)著我的面吹牛奄侠,可吹牛的內(nèi)容都是我干的卓箫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼垄潮,長吁一口氣:“原來是場噩夢啊……” “哼烹卒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起弯洗,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤旅急,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后涂召,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坠非,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡敏沉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年果正,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盟迟。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡秋泳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出攒菠,到底是詐尸還是另有隱情迫皱,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布辖众,位于F島的核電站卓起,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏凹炸。R本人自食惡果不足惜戏阅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望啤它。 院中可真熱鬧奕筐,春花似錦、人聲如沸变骡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽塌碌。三九已至渊胸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間台妆,已是汗流浹背翎猛。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工瓢捉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人办成。 一個(gè)月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓泡态,卻偏偏與公主長得像,于是被迫代替她去往敵國和親迂卢。 傳聞我的和親對象是個(gè)殘疾皇子某弦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Ubuntu的發(fā)音 Ubuntu员萍,源于非洲祖魯人和科薩人的語言腾降,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 99,366評論 9 467
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程碎绎,因...
    小菜c閱讀 6,444評論 0 17
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理螃壤,服務(wù)發(fā)現(xiàn),斷路器筋帖,智...
    卡卡羅2017閱讀 134,707評論 18 139
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫奸晴、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,121評論 4 61
  • 下午,寢室的小黑打電話找我解悶嘮嗑兒代箭。她說自己在家太悶了墩划,除了看電視,吃飯嗡综,睡覺就沒有別的事兒了乙帮。 然后,我向她推...
    小小亭子閱讀 287評論 2 1