centos7應用筆記 鍵盤重影射

2021-10-06 16:57:11 字數 3212 閱讀 1884

我的鍵盤右shift鍵無法使用了。想使用右alt鍵代替。

查詢了一下 xmodmap 命令可以實現該功能。

以下是我的配置方法的記錄。

建立乙個 xmodmap 配置檔案:

/etc/xmodmap.config

xmodmap 配置檔案內容:

! swap alt_r and shift_r

remove shift = shift_r

remove mod1 = alt_r

keysym shift_r = alt_r

keysym alt_r = shift_r

add shift = shift_r

add mod1 = alt_r

xmodmap 執行配置檔案。交換右shift鍵右alt鍵

xmodmap /etc/xmodmap.config
將以上的指令寫入/etc/profile中。就可以再開機的時候自動配置了。

注意:

如果再執行一次xmodmap /etc/xmodmap.config。兩鍵又會交換回來的。

使用 xmodmap 檢視 modifier 鍵值影射。

xmodmap

> xmodmap: up to 4 keys per modifier, (keycodes in parentheses):

>

>

shift shift_l (0x32), shift_r (0x6c)

> lock caps_lock (0x42)

> control control_l (0x25), control_r (0x69)

> mod1 alt_r (0x3e), alt_l (0x40), meta_l (0xcd)

> mod2 num_lock (0x4d)

> mod3

> mod4 super_l (0x85), super_r (0x86), super_l (0xce), hyper_l (0xcf)

> mod5 iso_level3_shift (0x5c), mode_switch (0xcb)

使用 xev 指令可以檢視 keycode 和 keyname。

xev |

grep keycode

> state 0x0, keycode 38 (keysym 0x61, a), same_screen yes, # key `a` pressed

> state 0x0, keycode 38 (keysym 0x61, a), same_screen yes, # key `a` released

> state 0x0, keycode 37 (keysym 0xffe3, control_l), same_screen yes, # key `control_l` pressed

> state 0x4, keycode 37 (keysym 0xffe3, control_l), same_screen yes, # key `control_l` released

> state 0x0, keycode 50 (keysym 0xffe1, shift_l), same_screen yes, # key `shift_l` pressed

> state 0x1, keycode 50 (keysym 0xffe1, shift_l), same_screen yes, # key `shift_l` released

> state 0x0, keycode 36 (keysym 0xff0d, return), same_screen yes, # key `return` pressed

> state 0x0, keycode 36 (keysym 0xff0d, return), same_screen yes, # key `return` released

/usr/lib/systemd/user-preset/xmodmap.service
[unit]

description=run xmodmap config

documentation=man:xmodmap

after=graphical.target

wants=graphical.target

[service]

type=oneshot

execstart=/usr/bin/bash -c 'export display=":0"; /usr/bin/xmodmap -quiet /etc/xmodmap.config'

[install]

wantedby=graphical.target

注意:

為了防止出現systemctl status xmodmap.service以下問題:

問題/usr/bin/xmodmap: unable to open display ':0'

指令碼需要增加以下指令:

after=graphical.target

wants=graphical.target

問題/usr/bin/xmodmap: unable to open display ''

指令碼需要增加以下指令:

export display=":0";
# install xmodmap.service

ln -s /usr/lib/systemd/user-preset/xmodmap.service /etc/systemd/system/xmodmap.service

# enable xmodmap.service

systemctl enable xmodmap.service

機器重啟後,需要等待 幾分鐘才可以交換按鍵。

how to make xmodmap changes permanent?

centos7使用筆記

檢視核心版本 uname a 檢視發行版本 cat etc elease 設定靜態ip cd etc sysconfig network scripts 看到類似這樣的乙個檔案 ifcfg eno16777736 vim ifcfg eno16777736 修改如下 bootproto改為stati...

CentOS7使用筆記

在centos7中用的全新服務啟動管理器 systemctl 在centos6做服務的啟停用service systemctl 代替service chkconfig 在centos6中只需要把啟動的服務檔案放到 etc ini.d目錄下就可以了,但是在centos7中怎麼處理了?檢視服務列表狀態 ...

centos7使用筆記(一)

首先,在已經裝有win7系統的電腦上安裝centos7,安裝步驟略過。一 配置雙系統啟動項 1 安裝完成centos7後,啟動電腦,出現的啟動選項中沒有win7,只能從centos7啟動。2 先進入centos7中配置grub檔案 一般不要直接去修改grub.conf檔案,在 etc grb.d 4...