我正在尝试使用xmodmap重新映射Alt/Super戴尔 L100 键盘上的键,但在获取键码时遇到问题。
例如,使用xev不会给我键码Alt
FocusOut event, serial 36, synthetic NO, window 0x4a00001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 36, synthetic NO, window 0x4a00001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 36, synthetic NO, window 0x0,
keys: 122 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
对于Right …
玩xmodmap我遇到了一个我没有听说过的修饰键:Mode_switch。它似乎与插入特殊字符有关。
我将它分配给一个键,但它似乎没有效果。它是做什么用的?它与ISO_Level3_Shift(Alt Gr) 不同吗?
我有联想 Thinkcentre Edge 的这个问题。它的键盘有Fn键,它在我的 Ubuntu(带有 Fluxbox)中的作用就像它总是“活动/按下”一样。
我不能使用标准F1-F12键,除非我按住这个愚蠢的键。你看,我是一名程序员,所以这对我来说真的很痛苦。
所以我决定用xev和重新映射功能键xmodmap
我重新映射F1-F3到目前为止一切都很好,但F4做了某种窗口最小化。当我运行xev并点击 时F4,我没有收到带有键码和内容的程序回复,而是窗口被最小化,当我再次最大化窗口时,键没有响应。
重要信息:Fn无法在 BIOS 中禁用按键功能。
所以问题是:你知道如何解开我的谜团吗?
编辑:
# content of .fluxbox/keys
# click on the desktop to get menus
OnDesktop Mouse1 :HideMenus
OnDesktop Mouse2 :WorkspaceMenu
OnDesktop Mouse3 :RootMenu
# scroll on the desktop to change workspaces
OnDesktop Mouse4 :PrevWorkspace
OnDesktop Mouse5 :NextWorkspace
# scroll on the toolbar to change current window …Run Code Online (Sandbox Code Playgroud) 我有一个 X11 程序可以获取大写锁定并使用它。问题是,我想禁用常规的大写锁定切换,但这样做似乎禁用了密钥。
因此,无论 X11 为大写锁定按键获得什么,它仍然必须获得(不禁用该键,或将其重新映射到其他键),但没有任何将按键转换为大写切换(可能在内核级别? )。
我尝试更改扫描码,但这只是重新映射了密钥。我也删除了大写锁定条目xmodmap,但这也禁用了大写。
如何告诉内核忽略大写键(与其常规功能有关),但仍将消息传递给 X?
只是添加更多细节:
我试图运行的“程序”是人性化的“enso”。当没有密钥时,我收到错误“CRITICAL:root:Couldn't find quasimode key”。如果没有错误,我可以将 enso 与 caps 一起使用,但是到目前为止还没有想出如何在 enso 仍然能够实现的情况下禁用 caps 功能。
不久前我关注了一些帖子,它说要制作一个~/.xmodmap这样的文件:
! Swap caps lock and escape
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
Run Code Online (Sandbox Code Playgroud)
我做到了,现在我可以交换esc并caps lock通过执行xmodmap ~/.xmodmap. 我希望这是永久的,所以我将该命令添加到我的~/.bash_profile,但它似乎不起作用;我还是要手动xmodmap。作为一名 EEng 辍学生,我很想重新连接我的键盘 }:-) 但我知道一定有更好的方法。我怎样才能使这项工作永久有效?
我正在尝试实现以下映射
keycode 135 = <Ctrl-C>
是否有可能以某种方式实现这一目标?
我正在使用 Cinnamon 运行最新版本的 Linux Mint。我正在尝试映射Caps Lock到Ctrl,但我不知道该怎么做。我所做的所有网络搜索都让我找到了旧版本的 Linux Mint(我的设置中没有键盘布局选项)。我怎样才能做到这一点?
我有一个 Apple 键盘,在使用 Emacs 时,我必须对键进行一些重新映射,以使该mod-4键成为Space栏左侧的第一个键。当我使用 dwm 窗口管理器时,下面的脚本运行良好,但是在切换到 Openbox 后,我发现不是在选项键和命令键之间交换键码,而是两个键都在做同样的事情。
我注意到的一件奇怪的事情是,当我单击运行showkey并按下选项和命令键时,我分别得到 56 和 125的新设置,但是将它们插入下面的脚本而不是 64 和133.
我必须承认,我通过不断调整它直到它起作用来创建下面的脚本,因此可能有更好的方法来做到这一点。
# switch alt and command...the switch is not being done properly
xmodmap -e "keycode 64 = Alt_L"
xmodmap -e "keycode 133 = Meta_L"
# remap of mod 4
xmodmap -e "clear Mod4"
xmodmap -e "add Mod4 = Super_L"
Run Code Online (Sandbox Code Playgroud)
我习惯了以前的键盘设置并放弃了尝试调整它。不幸的是,经过近期重启CapsLock到Ctrl不再工作所以在这里我再次。
这次我没有使用上面使用的映射,而是运行xmodmap -pke > ~/.xmod并调整那里的键(这更容易)。
然而,事情仍然不太对劲。将CapsLock仍然用作正常时除外xev命令运行,则它返回这似乎以显示正确的映射如下:
# caplock …Run Code Online (Sandbox Code Playgroud) 我有一台运行 Ubuntu 13.10 和 FluxBox 的 macbook pro。不幸的是,电源按钮实际上位于我希望删除键所在的退格键上方。在 OS X 中,PowerKey 程序可用于重新映射电源键以进行删除。我如何在 X Windows 中做类似的事情?
我通过编辑/etc/systemd/logind.conf和设置禁用了电源键HandlePowerKey = ignore 之后,我可以在不关闭笔记本电脑的情况下按下电源按钮。
运行xev -event keyboard显示电源键的 KeyPress 通常被另一个进程吃掉:
MappingNotify event, serial 36, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
KeymapNotify event, serial 36, synthetic NO, window 0x0,
keys: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 …Run Code Online (Sandbox Code Playgroud) 目前我有一个.Xmodmap文件将 my 更改Command为Ctrl,然后将 my 更改Ctrl为Super(我在 Mac 上运行 Linux)。
它工作得很好,当只运行一次但连续运行时(例如,当我重新启动我的桌面环境(Cinnamon)时,它会重新加载.Xmodmap文件)它基本上通过恢复更改来重置设置。有效地在我想要的设置和原始设置之间切换。
如何编写一个.Xmodmap只设置一次设置但在连续运行时不会将它们更改回的文件?这是我现有的.Xmodmap文件:
clear control
clear mod4
keycode 105 =
keycode 206 =
keycode 133 = Control_L NoSymbol Control_L
keycode 134 = Control_R NoSymbol Control_R
keycode 37 = Super_L NoSymbol Super_L
add control = Control_L
add control = Control_R
Run Code Online (Sandbox Code Playgroud)