I have Xubuntu 22.04 on Lenovo Thinkpad X1 Carbon from 2014 and I use ibus for inputting in different languages. This all may or may not be relevant.
I have a rather strange problem that I've never encountered before on any version of Ubuntu. After I log in all my keyboard keys act normal and have the same values as expected, but after some time I notice that some of my keys are remapped to some strange values and cause strange events when I test them in xev
. As an experiment, I called
xmodmap -pke > keymaps1.txt
right after I log in, so that the file keymaps1.txt
contain the "correct" keymaps, and then, after the remapping happened, I called
xmodmap -pke > keymaps2.txt
I then compared the resulting files calling
diff keymaps1.txt keymaps2.txt
The full diff I saved at https://pastebin.com/t6u6Dcw3 but it suffices to say that a lot of keys get remapped to weird keycodes, in particular PrintSc gets remapped to my Up key, and a lot of keys get mapped to keycodes I don't even have on my Thinkpad X1 Carbon keyboard.
1c1< keycode 8 =---> keycode 8 = ISO_Level5_Shift NoSymbol ISO_Level5_Shift85c85< keycode 92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift---> keycode 92 =90,112c90,112< keycode 97 =< keycode 98 = Katakana NoSymbol Katakana< keycode 99 = Hiragana NoSymbol Hiragana< keycode 100 = Henkan_Mode NoSymbol Henkan_Mode< keycode 101 = Hiragana_Katakana NoSymbol Hiragana_Katakana< keycode 102 = Muhenkan NoSymbol Muhenkan< keycode 103 =< keycode 104 = KP_Enter NoSymbol KP_Enter< keycode 105 = Control_R NoSymbol Control_R< keycode 106 = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide XF86Ungrab< keycode 107 = Print Sys_Req Print Sys_Req< keycode 108 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift< keycode 109 = Linefeed NoSymbol Linefeed< keycode 110 = Home NoSymbol Home< keycode 111 = Up NoSymbol Up< keycode 112 = Prior NoSymbol Prior< keycode 113 = Left NoSymbol Left< keycode 114 = Right NoSymbol Right< keycode 115 = End NoSymbol End< keycode 116 = Down NoSymbol Down< keycode 117 = Next NoSymbol Next< keycode 118 = Insert NoSymbol Insert< keycode 119 = Delete NoSymbol Delete---> keycode 97 = Home NoSymbol Home> keycode 98 = Up NoSymbol Up> keycode 99 = Prior NoSymbol Prior> keycode 100 = Left NoSymbol Left> keycode 101 => keycode 102 = Right NoSymbol Right> keycode 103 = End NoSymbol End> keycode 104 = Down NoSymbol Down> keycode 105 = Next NoSymbol Next> keycode 106 = Insert NoSymbol Insert> keycode 107 = Delete NoSymbol Delete> keycode 108 = KP_Enter NoSymbol KP_Enter> keycode 109 = Control_R NoSymbol Control_R> keycode 110 = Pause Break Pause Break> keycode 111 = Print Sys_Req Print Sys_Req> keycode 112 = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide XF86Ungrab> keycode 113 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift> keycode 114 => keycode 115 = Super_L NoSymbol Super_L> keycode 116 = Super_R NoSymbol Super_R> keycode 117 = Menu NoSymbol Menu> keycode 118 => keycode 119 =114,124c114,124< keycode 121 = XF86AudioMute NoSymbol XF86AudioMute< keycode 122 = XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume< keycode 123 = XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume< keycode 124 = XF86PowerOff NoSymbol XF86PowerOff< keycode 125 = KP_Equal NoSymbol KP_Equal< keycode 126 = plusminus NoSymbol plusminus< keycode 127 = Pause Break Pause Break< keycode 128 = XF86LaunchA NoSymbol XF86LaunchA< keycode 129 = KP_Decimal KP_Decimal KP_Decimal KP_Decimal< keycode 130 = Hangul NoSymbol Hangul< keycode 131 = Hangul_Hanja NoSymbol Hangul_Hanja---> keycode 121 => keycode 122 => keycode 123 => keycode 124 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift> keycode 125 = NoSymbol Alt_L NoSymbol Alt_L> keycode 126 = KP_Equal NoSymbol KP_Equal> keycode 127 = NoSymbol Super_L NoSymbol Super_L> keycode 128 = NoSymbol Hyper_L NoSymbol Hyper_L> keycode 129 => keycode 130 => keycode 131 =126,141c126,141< keycode 133 = Super_L NoSymbol Super_L< keycode 134 = Super_R NoSymbol Super_R< keycode 135 = Menu NoSymbol Menu< keycode 136 = Cancel NoSymbol Cancel< keycode 137 = Redo NoSymbol Redo< keycode 138 = SunProps NoSymbol SunProps< keycode 139 = Undo NoSymbol Undo< keycode 140 = SunFront NoSymbol SunFront< keycode 141 = XF86Copy NoSymbol XF86Copy< keycode 142 = XF86Open NoSymbol XF86Open< keycode 143 = XF86Paste NoSymbol XF86Paste< keycode 144 = Find NoSymbol Find< keycode 145 = XF86Cut NoSymbol XF86Cut< keycode 146 = Help NoSymbol Help< keycode 147 = XF86MenuKB NoSymbol XF86MenuKB< keycode 148 = XF86Calculator NoSymbol XF86Calculator---> keycode 133 => keycode 134 = KP_Decimal KP_Decimal KP_Decimal KP_Decimal> keycode 135 => keycode 136 => keycode 137 => keycode 138 => keycode 139 => keycode 140 => keycode 141 => keycode 142 => keycode 143 => keycode 144 = XF86AudioPrev NoSymbol XF86AudioPrev> keycode 145 => keycode 146 => keycode 147 => keycode 148 =144,146c144,146< keycode 151 = XF86WakeUp NoSymbol XF86WakeUp< keycode 152 = XF86Explorer NoSymbol XF86Explorer< keycode 153 = XF86Send NoSymbol XF86Send---> keycode 151 => keycode 152 => keycode 153 = XF86AudioNext NoSymbol XF86AudioNext148,160c148,160< keycode 155 = XF86Xfer NoSymbol XF86Xfer< keycode 156 = XF86Launch1 NoSymbol XF86Launch1< keycode 157 = XF86Launch2 NoSymbol XF86Launch2< keycode 158 = XF86WWW NoSymbol XF86WWW< keycode 159 = XF86DOS NoSymbol XF86DOS< keycode 160 = XF86ScreenSaver NoSymbol XF86ScreenSaver< keycode 161 = XF86RotateWindows NoSymbol XF86RotateWindows< keycode 162 = XF86TaskPane NoSymbol XF86TaskPane< keycode 163 = XF86Mail NoSymbol XF86Mail< keycode 164 = XF86Favorites NoSymbol XF86Favorites< keycode 165 = XF86MyComputer NoSymbol XF86MyComputer< keycode 166 = XF86Back NoSymbol XF86Back< keycode 167 = XF86Forward NoSymbol XF86Forward---> keycode 155 => keycode 156 = NoSymbol Meta_L NoSymbol Meta_L> keycode 157 => keycode 158 => keycode 159 => keycode 160 = XF86AudioMute NoSymbol XF86AudioMute> keycode 161 = XF86Calculator NoSymbol XF86Calculator> keycode 162 = XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause> keycode 163 => keycode 164 = XF86AudioStop XF86Eject XF86AudioStop XF86Eject> keycode 165 => keycode 166 => keycode 167 =162c162< keycode 169 = XF86Eject NoSymbol XF86Eject---> keycode 169 =164,175c164,175< keycode 171 = XF86AudioNext NoSymbol XF86AudioNext< keycode 172 = XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause< keycode 173 = XF86AudioPrev NoSymbol XF86AudioPrev< keycode 174 = XF86AudioStop XF86Eject XF86AudioStop XF86Eject< keycode 175 = XF86AudioRecord NoSymbol XF86AudioRecord< keycode 176 = XF86AudioRewind NoSymbol XF86AudioRewind< keycode 177 = XF86Phone NoSymbol XF86Phone< keycode 178 =< keycode 179 = XF86Tools NoSymbol XF86Tools< keycode 180 = XF86HomePage NoSymbol XF86HomePage< keycode 181 = XF86Reload NoSymbol XF86Reload< keycode 182 = XF86Close NoSymbol XF86Close---> keycode 171 => keycode 172 => keycode 173 => keycode 174 = XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume> keycode 175 => keycode 176 = XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume> keycode 177 => keycode 178 = XF86WWW NoSymbol XF86WWW> keycode 179 => keycode 180 => keycode 181 => keycode 182 =178,189c178,189< keycode 185 = XF86ScrollUp NoSymbol XF86ScrollUp< keycode 186 = XF86ScrollDown NoSymbol XF86ScrollDown< keycode 187 = parenleft NoSymbol parenleft< keycode 188 = parenright NoSymbol parenright< keycode 189 = XF86New NoSymbol XF86New< keycode 190 = Redo NoSymbol Redo< keycode 191 = XF86Tools NoSymbol XF86Tools< keycode 192 = XF86Launch5 NoSymbol XF86Launch5< keycode 193 = XF86Launch6 NoSymbol XF86Launch6< keycode 194 = XF86Launch7 NoSymbol XF86Launch7< keycode 195 = XF86Launch8 NoSymbol XF86Launch8< keycode 196 = XF86Launch9 NoSymbol XF86Launch9---> keycode 185 => keycode 186 => keycode 187 => keycode 188 => keycode 189 => keycode 190 => keycode 191 => keycode 192 => keycode 193 => keycode 194 => keycode 195 => keycode 196 =191,194c191,194< keycode 198 = XF86AudioMicMute NoSymbol XF86AudioMicMute< keycode 199 = XF86TouchpadToggle NoSymbol XF86TouchpadToggle< keycode 200 = XF86TouchpadOn NoSymbol XF86TouchpadOn< keycode 201 = XF86TouchpadOff NoSymbol XF86TouchpadOff---> keycode 198 => keycode 199 => keycode 200 => keycode 201 =196,211c196,211< keycode 203 = ISO_Level5_Shift NoSymbol ISO_Level5_Shift< keycode 204 = NoSymbol Alt_L NoSymbol Alt_L< keycode 205 = NoSymbol Meta_L NoSymbol Meta_L< keycode 206 = NoSymbol Super_L NoSymbol Super_L< keycode 207 = NoSymbol Hyper_L NoSymbol Hyper_L< keycode 208 = XF86AudioPlay NoSymbol XF86AudioPlay< keycode 209 = XF86AudioPause NoSymbol XF86AudioPause< keycode 210 = XF86Launch3 NoSymbol XF86Launch3< keycode 211 = XF86Launch4 NoSymbol XF86Launch4< keycode 212 = XF86LaunchB NoSymbol XF86LaunchB< keycode 213 = XF86Suspend NoSymbol XF86Suspend< keycode 214 = XF86Close NoSymbol XF86Close< keycode 215 = XF86AudioPlay NoSymbol XF86AudioPlay< keycode 216 = XF86AudioForward NoSymbol XF86AudioForward< keycode 217 =< keycode 218 = Print NoSymbol Print---> keycode 203 => keycode 204 = XF86Eject NoSymbol XF86Eject> keycode 205 => keycode 206 => keycode 207 => keycode 208 = Hiragana_Katakana NoSymbol Hiragana_Katakana> keycode 209 = Hangul NoSymbol Hangul> keycode 210 = Hangul_Hanja NoSymbol Hangul_Hanja> keycode 211 => keycode 212 => keycode 213 => keycode 214 = XF86Display NoSymbol XF86Display> keycode 215 = XF86KbdLightOnOff NoSymbol XF86KbdLightOnOff> keycode 216 = XF86KbdBrightnessDown NoSymbol XF86KbdBrightnessDown> keycode 217 = XF86KbdBrightnessUp NoSymbol XF86KbdBrightnessUp> keycode 218 =213,236c213,236< keycode 220 = XF86WebCam NoSymbol XF86WebCam< keycode 221 = XF86AudioPreset NoSymbol XF86AudioPreset< keycode 222 =< keycode 223 = XF86Mail NoSymbol XF86Mail< keycode 224 = XF86Messenger NoSymbol XF86Messenger< keycode 225 = XF86Search NoSymbol XF86Search< keycode 226 = XF86Go NoSymbol XF86Go< keycode 227 = XF86Finance NoSymbol XF86Finance< keycode 228 = XF86Game NoSymbol XF86Game< keycode 229 = XF86Shop NoSymbol XF86Shop< keycode 230 =< keycode 231 = Cancel NoSymbol Cancel< keycode 232 = XF86MonBrightnessDown NoSymbol XF86MonBrightnessDown< keycode 233 = XF86MonBrightnessUp NoSymbol XF86MonBrightnessUp< keycode 234 = XF86AudioMedia NoSymbol XF86AudioMedia< keycode 235 = XF86Display NoSymbol XF86Display< keycode 236 = XF86KbdLightOnOff NoSymbol XF86KbdLightOnOff< keycode 237 = XF86KbdBrightnessDown NoSymbol XF86KbdBrightnessDown< keycode 238 = XF86KbdBrightnessUp NoSymbol XF86KbdBrightnessUp< keycode 239 = XF86Send NoSymbol XF86Send< keycode 240 = XF86Reply NoSymbol XF86Reply< keycode 241 = XF86MailForward NoSymbol XF86MailForward< keycode 242 = XF86Save NoSymbol XF86Save< keycode 243 = XF86Documents NoSymbol XF86Documents---> keycode 220 => keycode 221 => keycode 222 = XF86PowerOff NoSymbol XF86PowerOff> keycode 223 = XF86Standby NoSymbol XF86Standby> keycode 224 => keycode 225 => keycode 226 => keycode 227 = XF86WakeUp NoSymbol XF86WakeUp> keycode 228 => keycode 229 = XF86Search NoSymbol XF86Search> keycode 230 = XF86Favorites NoSymbol XF86Favorites> keycode 231 = XF86Reload NoSymbol XF86Reload> keycode 232 = XF86Stop NoSymbol XF86Stop> keycode 233 = XF86Forward NoSymbol XF86Forward> keycode 234 = XF86Back NoSymbol XF86Back> keycode 235 = XF86MyComputer NoSymbol XF86MyComputer> keycode 236 = XF86Mail NoSymbol XF86Mail> keycode 237 = XF86AudioMedia NoSymbol XF86AudioMedia> keycode 238 => keycode 239 => keycode 240 => keycode 241 => keycode 242 => keycode 243 =238c238< keycode 245 = XF86Bluetooth NoSymbol XF86Bluetooth---> keycode 245 =240c240< keycode 247 = XF86UWB NoSymbol XF86UWB---> keycode 247 =242,248c242,248< keycode 249 = XF86Next_VMode NoSymbol XF86Next_VMode< keycode 250 = XF86Prev_VMode NoSymbol XF86Prev_VMode< keycode 251 = XF86MonBrightnessCycle NoSymbol XF86MonBrightnessCycle< keycode 252 = XF86BrightnessAuto NoSymbol XF86BrightnessAuto< keycode 253 = XF86DisplayOff NoSymbol XF86DisplayOff< keycode 254 = XF86WWAN NoSymbol XF86WWAN< keycode 255 = XF86RFKill NoSymbol XF86RFKill---> keycode 249 => keycode 250 => keycode 251 => keycode 252 => keycode 253 => keycode 254 => keycode 255 =
So far, I was not able to find what causes this remap. It does not appear to have anything to do with me calling setxkbmap
or ibus engine
with any parameters. Where should I look?