How to use the Function keys without the FN key?

Issues and / or general discussion relating to Puppy

Moderator: Forum moderators

Post Reply
User avatar
MrAccident
Posts: 279
Joined: Mon Aug 03, 2020 4:29 am
Has thanked: 41 times
Been thanked: 8 times

How to use the Function keys without the FN key?

Post by MrAccident »

F96-CE 4.
I'm using the keyboard Logitech K380. Now I have to use the FN key to get the normal functionality, like F5 to Refresh the webpage. Can I use Mouse\Keyboard Manager to use them without the FN key?
Also - can I add my keyboard model in Advanced Configuration; finding it somewhere?

Last edited by MrAccident on Sat Jun 17, 2023 5:52 pm, edited 1 time in total.
User avatar
pp4mnklinux
Posts: 1125
Joined: Wed Aug 19, 2020 5:43 pm
Location: Edinburgh
Has thanked: 633 times
Been thanked: 281 times
Contact:

Re: How to use the Function keys without the FN key?

Post by pp4mnklinux »

Hi:

Did you say that you have configured your keyboard to work the opposite way??

That is: usually, this keyboard works the function Keys without the necessity of pressing FN key.

When you want to activate the secondary key function you press it?

Did you vhange it to work the opposite??

------

I'm using the logitech K400 version.

User avatar
MrAccident
Posts: 279
Joined: Mon Aug 03, 2020 4:29 am
Has thanked: 41 times
Been thanked: 8 times

Re: How to use the Function keys without the FN key?

Post by MrAccident »

@pp4mnklinux:

Did you say that you have configured your keyboard to eork the opposite way??

No I haven't. It's a new keyboard. I have to press the FN key - to get the usual functionality, like: F11 to go to Full-Screen mode, F2 to change a file's name etc. This keyboard has a program to configure it, for Windows only.
Before that - I had a big wired keyboard without the FN key. Before that - I had a wireless keyboard ― but the Function keys worked without the FN key.

User avatar
Jasper
Posts: 2067
Joined: Wed Sep 07, 2022 1:20 pm
Has thanked: 854 times
Been thanked: 480 times

Re: How to use the Function keys without the FN key?

Post by Jasper »

What does your xorg.conf have recorded under the Section "InputClass" ?

You might find this PDF useful to read.

http://xfree86.org/current/XKBproto.pdf

User avatar
pp4mnklinux
Posts: 1125
Joined: Wed Aug 19, 2020 5:43 pm
Location: Edinburgh
Has thanked: 633 times
Been thanked: 281 times
Contact:

Re: How to use the Function keys without the FN key?

Post by pp4mnklinux »

Hi, @MrAccident , I don't know if you had solved your problem with these pdf file instructions, but, just in case, what you can do is configure this keys to made the option you wanna do.

In my puppy version, (F96CE_XFCE_FUSILLI) what I do is:

Go to DESKTOP SETTINGS
click on KEYBOARD

And then edit the APPLICATION SHORCUTS

There configure the action I want to do with the key or key combination I wanna use.

I include a capture of mine... so you can see the way I have it prepared.

It could be an amateur solution, but It works for me... and that's want I need.

Hope it help... let us know...

HAVE A NICE DAY.

-------------edited------------------

With this method, you can made all shortcuts you need..... and that's the best way to use your time when working, haha

User avatar
bigpup
Moderator
Posts: 6985
Joined: Tue Jul 14, 2020 11:19 pm
Location: Earth, South Eastern U.S.
Has thanked: 906 times
Been thanked: 1522 times

Re: How to use the Function keys without the FN key?

Post by bigpup »

Looking at the images of this keyboard.

What you want to do is lock the fn key, so the multi-function keys will only be the F keys.

Some keyboards have a lock function on one of the other keys, that when pressed at the same time you press the fn key, it locks it.
Look for a lock symbol on the other keys.

If it does not have the lock key.

Try this:

To enable FN Lock on the All in One Media Keyboard, press the FN key, and the Caps Lock key at the same time. To disable FN Lock, press the FN key, and the Caps Lock key at the same time again.

--------------------------------------------------------------------------------------------------------------------------------------------------
You may have to provide a software command to do the lock of the fn key.

What specific Puppy version are you using??????

Looking around the Internet.

The software fix depends on the Linux version being used.

I think you have to put something in etc/modprobe.d that will be a conf file with the needed software command.

The things you do not tell us, are usually the clue to fixing the problem.
When I was a kid, I wanted to be older.
This is not what I expected :o

User avatar
bigpup
Moderator
Posts: 6985
Joined: Tue Jul 14, 2020 11:19 pm
Location: Earth, South Eastern U.S.
Has thanked: 906 times
Been thanked: 1522 times

Re: How to use the Function keys without the FN key?

Post by bigpup »

The things you do not tell us, are usually the clue to fixing the problem.
When I was a kid, I wanted to be older.
This is not what I expected :o

User avatar
MrAccident
Posts: 279
Joined: Mon Aug 03, 2020 4:29 am
Has thanked: 41 times
Been thanked: 8 times

Re: How to use the Function keys without the FN key?

Post by MrAccident »

@Jasper:

Code: Select all

Section "InputClass"
	Identifier "Keyboard Defaults"
	MatchIsKeyboard "yes"
	Option      "XkbModel" "pc104" #xkbmodel0
	Option      "XkbLayout" "us" #xkeymap0
	Option 		"XkbOptions"   "terminate:ctrl_alt_bksp"
	Option 		"XkbOptions"   "terminate:ctrl_alt_bksp,grp:alt_shift_toggle"
	Option 		"XkbOptions"   "terminate:ctrl_alt_bksp"
	Option 		"XkbOptions"   "terminate:ctrl_alt_bksp,grp:alt_shift_toggle"
	Option 		"XkbOptions"   "terminate:ctrl_alt_bksp"
	Option 		"XkbOptions"   "terminate:ctrl_alt_bksp,grp:alt_shift_toggle"
	Option 		"XkbOptions"   "terminate:ctrl_alt_bksp"
	Option 		"XkbOptions"   "terminate:ctrl_alt_bksp,grp:alt_shift_toggle"
	#Option      "XkbVariant" "" #xkbvariant0
	Option      "XkbOptions" "terminate:ctrl_alt_bksp" #xkboptions0
EndSection

I have no idea how I would find anything in the PDF.
@bigpup:
F96-CE 4.
FN+Capslock - didn't work; and there's no lock symbol.
I don't know if I want to lock the FN key ― won't that mean that when I'll press Ctrl+→ - it will go to the end of the text-file, and things like that?
The GitHub program seems to be especially for that. I installed build-essential_12.8ubuntu1.1, the first in PPM list. But I don't know how to install from Source Code, in step 2.
@pp4mnklinux - I don't have DESKTOP SETTINGS; at least where you showed, and couldn't find it anywhere.

User avatar
bigpup
Moderator
Posts: 6985
Joined: Tue Jul 14, 2020 11:19 pm
Location: Earth, South Eastern U.S.
Has thanked: 906 times
Been thanked: 1522 times

Re: How to use the Function keys without the FN key?

Post by bigpup »

As I understand.

The FN key only controls shifting the function of the top row of keys that are multi-functional.
Pressing or locking the FN key makes them only be F keys.

The things you do not tell us, are usually the clue to fixing the problem.
When I was a kid, I wanted to be older.
This is not what I expected :o

User avatar
MochiMoppel
Posts: 1233
Joined: Mon Jun 15, 2020 6:25 am
Location: Japan
Has thanked: 21 times
Been thanked: 437 times

Re: How to use the Function keys without the FN key?

Post by MochiMoppel »

MrAccident wrote: Thu Jun 15, 2023 10:00 pm

Can I use Mouse\Keyboard Manager to use them without the FN key?

No.

Also - can I add my keyboard model in Advanced Configuration; finding it somewhere?

No.

The easiest thing you can try is to remap the F1-F12 keys. First step: Find their keycodes. Please post the result of the command xmodmap -pke. Should produce a list of 255 keycodes.

User avatar
MrAccident
Posts: 279
Joined: Mon Aug 03, 2020 4:29 am
Has thanked: 41 times
Been thanked: 8 times

Re: How to use the Function keys without the FN key?

Post by MrAccident »

@bigpup -

As I understand.
The FN key only controls shifting the function of the top row of keys that are multi-functional.
Pressing or locking the FN key makes them only be F keys.

Not only. The small keyboard - doesn't have the "middle keys" separately, like: PageUp & PageDown, Home & End etc. It uses the Arrow keys instead.
@MochiMoppel:

Code: Select all

#  xmodmap -pke
keycode   8 =
keycode   9 = Escape NoSymbol Escape
keycode  10 = 1 exclam 1 exclam
keycode  11 = 2 at 2 at
keycode  12 = 3 numbersign 3 numbersign EuroSign
keycode  13 = 4 dollar 4 dollar NewSheqelSign
keycode  14 = 5 percent 5 percent degree
keycode  15 = 6 asciicircum 6 asciicircum U05AB
keycode  16 = 7 ampersand 7 ampersand U05BD
keycode  17 = 8 asterisk 8 asterisk multiply
keycode  18 = 9 parenright 9 parenleft U200E
keycode  19 = 0 parenleft 0 parenright U200F
keycode  20 = minus underscore minus underscore U05BE
keycode  21 = equal plus equal plus endash
keycode  22 = BackSpace BackSpace BackSpace BackSpace NoSymbol NoSymbol Terminate_Server NoSymbol NoSymbol Terminate_Server
keycode  23 = Tab ISO_Left_Tab Tab ISO_Left_Tab
keycode  24 = slash Q q Q U05C2
keycode  25 = apostrophe W w W U05C1
keycode  26 = hebrew_qoph E e E U05B8
keycode  27 = hebrew_resh R r R U05B3
keycode  28 = hebrew_aleph T t T
keycode  29 = hebrew_tet Y y Y U05F0
keycode  30 = hebrew_waw U u U U05B9
keycode  31 = hebrew_finalnun I i I
keycode  32 = hebrew_finalmem O o O
keycode  33 = hebrew_pe P p P U05B7
keycode  34 = bracketright braceright bracketleft braceleft U05B2
keycode  35 = bracketleft braceleft bracketright braceright U05BF
keycode  36 = Return NoSymbol Return
keycode  37 = Control_L NoSymbol Control_L
keycode  38 = hebrew_shin A a A U05B0
keycode  39 = hebrew_dalet S s S U05BC
keycode  40 = hebrew_gimel D d D
keycode  41 = hebrew_kaph F f F
keycode  42 = hebrew_ayin G g G U05F1
keycode  43 = hebrew_yod H h H U05F2
keycode  44 = hebrew_chet J j J U05B4
keycode  45 = hebrew_lamed K k K
keycode  46 = hebrew_finalkaph L l L rightdoublequotemark
keycode  47 = hebrew_finalpe colon semicolon colon doublelowquotemark
keycode  48 = comma quotedbl apostrophe quotedbl U05F4
keycode  49 = semicolon asciitilde grave asciitilde U05F3
keycode  50 = Shift_L ISO_Next_Group Shift_L ISO_Next_Group
keycode  51 = backslash bar backslash bar U05BB
keycode  52 = hebrew_zain Z z Z
keycode  53 = hebrew_samech X x X U05B6
keycode  54 = hebrew_bet C c C U05B1
keycode  55 = hebrew_he V v V
keycode  56 = hebrew_nun B b B NoSymbol U05C6
keycode  57 = hebrew_mem N n N
keycode  58 = hebrew_zade M m M U05B5
keycode  59 = hebrew_taw greater comma less rightsinglequotemark
keycode  60 = hebrew_finalzade less period greater singlelowquotemark
keycode  61 = period question slash question division
keycode  62 = Shift_R ISO_Next_Group Shift_R ISO_Next_Group
keycode  63 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply XF86ClearGrab KP_Multiply KP_Multiply XF86ClearGrab
keycode  64 = Alt_L ISO_Next_Group Alt_L ISO_Next_Group
keycode  65 = space NoSymbol space
keycode  66 = Caps_Lock NoSymbol Caps_Lock
keycode  67 = F1 F1 F1 F1 F1 F1 XF86Switch_VT_1 F1 F1 XF86Switch_VT_1
keycode  68 = F2 F2 F2 F2 F2 F2 XF86Switch_VT_2 F2 F2 XF86Switch_VT_2
keycode  69 = F3 F3 F3 F3 F3 F3 XF86Switch_VT_3 F3 F3 XF86Switch_VT_3
keycode  70 = F4 F4 F4 F4 F4 F4 XF86Switch_VT_4 F4 F4 XF86Switch_VT_4
keycode  71 = F5 F5 F5 F5 F5 F5 XF86Switch_VT_5 F5 F5 XF86Switch_VT_5
keycode  72 = F6 F6 F6 F6 F6 F6 XF86Switch_VT_6 F6 F6 XF86Switch_VT_6
keycode  73 = F7 F7 F7 F7 F7 F7 XF86Switch_VT_7 F7 F7 XF86Switch_VT_7
keycode  74 = F8 F8 F8 F8 F8 F8 XF86Switch_VT_8 F8 F8 XF86Switch_VT_8
keycode  75 = F9 F9 F9 F9 F9 F9 XF86Switch_VT_9 F9 F9 XF86Switch_VT_9
keycode  76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10 F10 F10 XF86Switch_VT_10
keycode  77 = Num_Lock Pointer_EnableKeys Num_Lock Pointer_EnableKeys
keycode  78 = Scroll_Lock NoSymbol Scroll_Lock
keycode  79 = KP_Home KP_7 KP_Home KP_7
keycode  80 = KP_Up KP_8 KP_Up KP_8
keycode  81 = KP_Prior KP_9 KP_Prior KP_9
keycode  82 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract XF86Prev_VMode KP_Subtract KP_Subtract XF86Prev_VMode
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  86 = KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add XF86Next_VMode KP_Add KP_Add XF86Next_VMode
keycode  87 = KP_End KP_1 KP_End KP_1
keycode  88 = KP_Down KP_2 KP_Down KP_2
keycode  89 = KP_Next KP_3 KP_Next KP_3
keycode  90 = KP_Insert KP_0 KP_Insert KP_0
keycode  91 = KP_Delete KP_Decimal KP_Delete KP_Decimal
keycode  92 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift
keycode  93 =
keycode  94 = less greater less greater bar brokenbar bar brokenbar
keycode  95 = F11 F11 F11 F11 F11 F11 XF86Switch_VT_11 F11 F11 XF86Switch_VT_11
keycode  96 = F12 F12 F12 F12 F12 F12 XF86Switch_VT_12 F12 F12 XF86Switch_VT_12
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 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 120 =
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 132 =
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 149 =
keycode 150 = XF86Sleep NoSymbol XF86Sleep
keycode 151 = XF86WakeUp NoSymbol XF86WakeUp
keycode 152 = XF86Explorer NoSymbol XF86Explorer
keycode 153 = XF86Send NoSymbol XF86Send
keycode 154 =
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 168 =
keycode 169 = XF86Eject NoSymbol XF86Eject
keycode 170 = XF86Eject XF86Eject XF86Eject XF86Eject
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 183 =
keycode 184 =
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 197 =
keycode 198 = XF86AudioMicMute NoSymbol XF86AudioMicMute
keycode 199 = XF86TouchpadToggle NoSymbol XF86TouchpadToggle
keycode 200 = XF86TouchpadOn NoSymbol XF86TouchpadOn
keycode 201 = XF86TouchpadOff NoSymbol XF86TouchpadOff
keycode 202 =
keycode 203 = Mode_switch NoSymbol Mode_switch
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 219 =
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 244 = XF86Battery NoSymbol XF86Battery
keycode 245 = XF86Bluetooth NoSymbol XF86Bluetooth
keycode 246 = XF86WLAN NoSymbol XF86WLAN
keycode 247 =
keycode 248 =
keycode 249 =
keycode 250 =
keycode 251 = XF86MonBrightnessCycle NoSymbol XF86MonBrightnessCycle
keycode 252 =
keycode 253 =
keycode 254 = XF86WWAN NoSymbol XF86WWAN
keycode 255 = XF86RFKill NoSymbol XF86RFKill
# 
User avatar
MochiMoppel
Posts: 1233
Joined: Mon Jun 15, 2020 6:25 am
Location: Japan
Has thanked: 21 times
Been thanked: 437 times

Re: How to use the Function keys without the FN key?

Post by MochiMoppel »

@MrAccident Hmmm...not what I expected.
Now could you please run xev , which will give you an event tester. When you press the F1 key you should see a couple of settings for this key, among them the keycode. What number is it? And what number do you get when pressing Fn+F1? Post the whole output of xev if you can.

User avatar
MrAccident
Posts: 279
Joined: Mon Aug 03, 2020 4:29 am
Has thanked: 41 times
Been thanked: 8 times

Re: How to use the Function keys without the FN key?

Post by MrAccident »

@MochiMoppel -

Code: Select all

# xev
Outer window is 0x3c00001, inner window is 0x3c00002

PropertyNotify event, serial 8, synthetic NO, window 0x3c00001,
    atom 0x27 (WM_NAME), time 90016276, state PropertyNewValue

PropertyNotify event, serial 9, synthetic NO, window 0x3c00001,
    atom 0x22 (WM_COMMAND), time 90016276, state PropertyNewValue

PropertyNotify event, serial 10, synthetic NO, window 0x3c00001,
    atom 0x28 (WM_NORMAL_HINTS), time 90016276, state PropertyNewValue

CreateNotify event, serial 11, synthetic NO, window 0x3c00001,
    parent 0x3c00001, window 0x3c00002, (10,10), width 50, height 50
border_width 4, override NO

PropertyNotify event, serial 14, synthetic NO, window 0x3c00001,
    atom 0x143 (WM_PROTOCOLS), time 90016277, state PropertyNewValue

MapNotify event, serial 15, synthetic NO, window 0x3c00001,
    event 0x3c00001, window 0x3c00002, override NO

ConfigureNotify event, serial 18, synthetic NO, window 0x3c00001,
    event 0x3c00001, window 0x3c00001, (0,0), width 178, height 178,
    border_width 0, above 0x3a00038, override NO

ReparentNotify event, serial 18, synthetic NO, window 0x3c00001,
    event 0x3c00001, window 0x3c00001, parent 0xe642e8,
    (4,22), override NO

MapNotify event, serial 18, synthetic NO, window 0x3c00001,
    event 0x3c00001, window 0x3c00001, override NO

VisibilityNotify event, serial 18, synthetic NO, window 0x3c00001,
    state VisibilityUnobscured

Expose event, serial 18, synthetic NO, window 0x3c00001,
    (0,0), width 178, height 10, count 3

Expose event, serial 18, synthetic NO, window 0x3c00001,
    (0,10), width 10, height 58, count 2

Expose event, serial 18, synthetic NO, window 0x3c00001,
    (68,10), width 110, height 58, count 1

Expose event, serial 18, synthetic NO, window 0x3c00001,
    (0,68), width 178, height 110, count 0

PropertyNotify event, serial 18, synthetic NO, window 0x3c00001,
    atom 0x14b (_NET_WM_DESKTOP), time 90016278, state PropertyNewValue

PropertyNotify event, serial 18, synthetic NO, window 0x3c00001,
    atom 0x16e (WM_STATE), time 90016278, state PropertyNewValue

PropertyNotify event, serial 18, synthetic NO, window 0x3c00001,
    atom 0x150 (_NET_WM_STATE), time 90016278, state PropertyNewValue

PropertyNotify event, serial 18, synthetic NO, window 0x3c00001,
    atom 0x148 (_NET_FRAME_EXTENTS), time 90016278, state PropertyNewValue

PropertyNotify event, serial 18, synthetic NO, window 0x3c00001,
    atom 0x18c (_NET_WM_ALLOWED_ACTIONS), time 90016278, state PropertyNewValue

ConfigureNotify event, serial 18, synthetic YES, window 0x3c00001,
    event 0x3c00001, window 0x3c00001, (316,334), width 178, height 178,
    border_width 0, above 0x0, override NO

PropertyNotify event, serial 18, synthetic NO, window 0x3c00001,
    atom 0x150 (_NET_WM_STATE), time 90016280, state PropertyNewValue

FocusIn event, serial 18, synthetic NO, window 0x3c00001,
    mode NotifyNormal, detail NotifyNonlinear

KeymapNotify event, serial 18, synthetic NO, window 0x0,
    keys:  4294967237 0   0   0   16  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   

KeyRelease event, serial 33, synthetic NO, window 0x3c00001,
    root 0x6b2, subw 0x0, time 90016370, (1075,169), root:(1391,503),
    state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
"   XLookupString gives 1 bytes: (0d) "
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x3c00001,
    root 0x6b2, subw 0x0, time 90027232, (1075,169), root:(1391,503),
    state 0x0, keycode 67 (keysym 0xffbe, F1), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x3c00001,
    root 0x6b2, subw 0x0, time 90027382, (1075,169), root:(1391,503),
    state 0x0, keycode 67 (keysym 0xffbe, F1), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

PropertyNotify event, serial 36, synthetic NO, window 0x3c00001,
    atom 0x150 (_NET_WM_STATE), time 90031184, state PropertyNewValue

FocusOut event, serial 36, synthetic NO, window 0x3c00001,
    mode NotifyNormal, detail NotifyNonlinear

VisibilityNotify event, serial 36, synthetic NO, window 0x3c00001,
    state VisibilityFullyObscured

I don't know if this is important ― that on this keyboard - F1, F2, F3 - are special keys. So just in case it won't work ― maybe we should try this with some other F keys.

User avatar
MochiMoppel
Posts: 1233
Joined: Mon Jun 15, 2020 6:25 am
Location: Japan
Has thanked: 21 times
Been thanked: 437 times

Re: How to use the Function keys without the FN key?

Post by MochiMoppel »

@MrAccident I don't think that F1-F3 are special. They have just different colors on your keyboard. But ysince you mentioned F5, you could additionally also check F5.

In your xev output, I'm only interested in KeyPress event

Code: Select all

KeyPress event, serial 36, synthetic NO, window 0x3c00001,
    root 0x6b2, subw 0x0, time 90027232, (1075,169), root:(1391,503),
    state 0x0, keycode 67 (keysym 0xffbe, F1), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

Question: Pressing which physical key(s) triggers this output? When you press Fn+F1 or just F1?
If this is the Fn+F1 output, what is the output for just F1?
The same then for F5 and Fn+F5

So pressing F1, Fn+F1, F5, Fn+F5 causing which xev KeyPress output? I hope this is cleared now.

BTW; Your F1 key has a bluetooth pictogram and the F5 key looks like copy. Do these top row keys actually work when pressed without Fn?

User avatar
MrAccident
Posts: 279
Joined: Mon Aug 03, 2020 4:29 am
Has thanked: 41 times
Been thanked: 8 times

Re: How to use the Function keys without the FN key?

Post by MrAccident »

@MochiMoppel:

I don't think that F1-F3 are special.
BTW; Your F1 key has a bluetooth pictogram and the F5 key looks like copy. Do these top row keys actually work when pressed without Fn?

Yes. F1 with a long press ― allows to identify the keyboard by Bluetooth; otherwise it doesn't work. That's what I meant by "special"; they allow to attach it to 3 devices. I know that F11 turns the sound off ― like in the ideogram.
This time I've separated the keys:
🔵F5:

Code: Select all

# xev
KeyPress event, serial 36, synthetic NO, window 0x3000001,
    root 0x6b2, subw 0x0, time 116177157, (764,973), root:(820,1047),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

🔵FN-F5:

Code: Select all

# xev
KeyRelease event, serial 33, synthetic NO, window 0x3000001,
    root 0x6b2, subw 0x0, time 116395419, (1272,285), root:(1380,411),
    state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
"   XLookupString gives 1 bytes: (0d) "
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x3000001,
    root 0x6b2, subw 0x0, time 116404257, (1272,285), root:(1380,411),
    state 0x0, keycode 71 (keysym 0xffc2, F5), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x3000001,
    root 0x6b2, subw 0x0, time 116404394, (1272,285), root:(1380,411),
    state 0x0, keycode 71 (keysym 0xffc2, F5), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x3000001,
    root 0x6b2, subw 0x0, time 116416119, (672,518), root:(780,644),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x3000001,
    root 0x6b2, subw 0x0, time 116416870, (672,518), root:(780,644),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x3000001,
    root 0x6b2, subw 0x0, time 116417257, (672,518), root:(780,644),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

FocusOut event, serial 36, synthetic NO, window 0x3000001,
    mode NotifyGrab, detail NotifyAncestor

FocusOut event, serial 36, synthetic NO, window 0x3000001,
    mode NotifyWhileGrabbed, detail NotifyAncestor

VisibilityNotify event, serial 36, synthetic NO, window 0x3000001,
    state VisibilityUnobscured

Expose event, serial 36, synthetic NO, window 0x3000001,
    (0,0), width 178, height 10, count 3

Expose event, serial 36, synthetic NO, window 0x3000001,
    (0,10), width 10, height 58, count 2

Expose event, serial 36, synthetic NO, window 0x3000001,
    (68,10), width 110, height 58, count 1

Expose event, serial 36, synthetic NO, window 0x3000001,
    (0,68), width 178, height 110, count 0

PropertyNotify event, serial 36, synthetic NO, window 0x3000001,
    atom 0x150 (_NET_WM_STATE), time 116421148, state PropertyNewValue

FocusIn event, serial 36, synthetic NO, window 0x3000001,
    mode NotifyWhileGrabbed, detail NotifyAncestor

KeymapNotify event, serial 36, synthetic NO, window 0x0,
    keys:  68  4   0   0   0   0   0   0   1   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

FocusIn event, serial 36, synthetic NO, window 0x3000001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 36, synthetic NO, window 0x0,
    keys:  3   0   0   0   0   0   0   0   1   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeyRelease event, serial 36, synthetic NO, window 0x3000001,
    root 0x6b2, subw 0x0, time 116421520, (259,764), root:(367,890),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x3000001,
    root 0x6b2, subw 0x0, time 116421882, (259,764), root:(367,890),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

FocusOut event, serial 36, synthetic NO, window 0x3000001,
    mode NotifyGrab, detail NotifyAncestor

FocusOut event, serial 36, synthetic NO, window 0x3000001,
    mode NotifyWhileGrabbed, detail NotifyAncestor

VisibilityNotify event, serial 36, synthetic NO, window 0x3000001,
    state VisibilityUnobscured

Expose event, serial 36, synthetic NO, window 0x3000001,
    (0,0), width 178, height 10, count 3

Expose event, serial 36, synthetic NO, window 0x3000001,
    (0,10), width 10, height 58, count 2

Expose event, serial 36, synthetic NO, window 0x3000001,
    (68,10), width 110, height 58, count 1

Expose event, serial 36, synthetic NO, window 0x3000001,
    (0,68), width 178, height 110, count 0

PropertyNotify event, serial 36, synthetic NO, window 0x3000001,
    atom 0x150 (_NET_WM_STATE), time 116424310, state PropertyNewValue

FocusIn event, serial 36, synthetic NO, window 0x3000001,
    mode NotifyWhileGrabbed, detail NotifyAncestor

KeymapNotify event, serial 36, synthetic NO, window 0x0,
    keys:  68  4   0   0   0   0   0   0   1   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

FocusIn event, serial 36, synthetic NO, window 0x3000001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 36, synthetic NO, window 0x0,
    keys:  3   0   0   0   0   0   0   0   1   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeyRelease event, serial 36, synthetic NO, window 0x3000001,
    root 0x6b2, subw 0x0, time 116424557, (399,486), root:(507,612),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

PropertyNotify event, serial 36, synthetic NO, window 0x3000001,
    atom 0x150 (_NET_WM_STATE), time 116476518, state PropertyNewValue

FocusOut event, serial 36, synthetic NO, window 0x3000001,
    mode NotifyNormal, detail NotifyNonlinear

BTW - is it possible to select-all in Terminal?

I'm not using all the F keys; the ones I need are: F2(changes a file's name), F5(Refresh page), F6([rarely, so don't need it as much] selects AdressBar), F11(FullScreen). And I also need the key for Screen-Capture; do you know what it is?

User avatar
MochiMoppel
Posts: 1233
Joined: Mon Jun 15, 2020 6:25 am
Location: Japan
Has thanked: 21 times
Been thanked: 437 times

Re: How to use the Function keys without the FN key?

Post by MochiMoppel »

MrAccident wrote: Mon Jun 19, 2023 4:59 am

🔵F5:

Code: Select all

# xev
KeyPress event, serial 36, synthetic NO, window 0x3000001,
    root 0x6b2, subw 0x0, time 116177157, (764,973), root:(820,1047),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

:o Are you sure that this is what you get when you press F5? As you see it says keycode 64 (keysym 0xffe9, Alt_L) , which is the left "alt" key. If this is what you get when you press F5, what do you get when you press the left "alt" key? Same output?

And I also need the key for Screen-Capture; do you know what it is?

There is none. You'll have to create a keyboard shortcut.

User avatar
MrAccident
Posts: 279
Joined: Mon Aug 03, 2020 4:29 am
Has thanked: 41 times
Been thanked: 8 times

Re: How to use the Function keys without the FN key?

Post by MrAccident »

@MochiMoppel:
I only pasted what started from "KeyPress event". So I'll paste everything in Terminal for F5:

Code: Select all

# xev
Outer window is 0x3000001, inner window is 0x3000002

PropertyNotify event, serial 8, synthetic NO, window 0x3000001,
    atom 0x27 (WM_NAME), time 161446948, state PropertyNewValue

PropertyNotify event, serial 9, synthetic NO, window 0x3000001,
    atom 0x22 (WM_COMMAND), time 161446948, state PropertyNewValue

PropertyNotify event, serial 10, synthetic NO, window 0x3000001,
    atom 0x28 (WM_NORMAL_HINTS), time 161446948, state PropertyNewValue

CreateNotify event, serial 11, synthetic NO, window 0x3000001,
    parent 0x3000001, window 0x3000002, (10,10), width 50, height 50
border_width 4, override NO

PropertyNotify event, serial 14, synthetic NO, window 0x3000001,
    atom 0x143 (WM_PROTOCOLS), time 161446948, state PropertyNewValue

MapNotify event, serial 15, synthetic NO, window 0x3000001,
    event 0x3000001, window 0x3000002, override NO

ConfigureNotify event, serial 18, synthetic NO, window 0x3000001,
    event 0x3000001, window 0x3000001, (0,0), width 178, height 178,
    border_width 0, above 0x2a00038, override NO

ReparentNotify event, serial 18, synthetic NO, window 0x3000001,
    event 0x3000001, window 0x3000001, parent 0xea84ba,
    (4,22), override NO

MapNotify event, serial 18, synthetic NO, window 0x3000001,
    event 0x3000001, window 0x3000001, override NO

VisibilityNotify event, serial 18, synthetic NO, window 0x3000001,
    state VisibilityUnobscured

Expose event, serial 18, synthetic NO, window 0x3000001,
    (0,0), width 178, height 10, count 3

Expose event, serial 18, synthetic NO, window 0x3000001,
    (0,10), width 10, height 58, count 2

Expose event, serial 18, synthetic NO, window 0x3000001,
    (68,10), width 110, height 58, count 1

Expose event, serial 18, synthetic NO, window 0x3000001,
    (0,68), width 178, height 110, count 0

PropertyNotify event, serial 18, synthetic NO, window 0x3000001,
    atom 0x14b (_NET_WM_DESKTOP), time 161446949, state PropertyNewValue

PropertyNotify event, serial 18, synthetic NO, window 0x3000001,
    atom 0x16e (WM_STATE), time 161446949, state PropertyNewValue

PropertyNotify event, serial 18, synthetic NO, window 0x3000001,
    atom 0x150 (_NET_WM_STATE), time 161446949, state PropertyNewValue

PropertyNotify event, serial 18, synthetic NO, window 0x3000001,
    atom 0x148 (_NET_FRAME_EXTENTS), time 161446949, state PropertyNewValue

PropertyNotify event, serial 18, synthetic NO, window 0x3000001,
    atom 0x18c (_NET_WM_ALLOWED_ACTIONS), time 161446949, state PropertyNewValue

ConfigureNotify event, serial 18, synthetic YES, window 0x3000001,
    event 0x3000001, window 0x3000001, (238,256), width 178, height 178,
    border_width 0, above 0x0, override NO

PropertyNotify event, serial 18, synthetic NO, window 0x3000001,
    atom 0x150 (_NET_WM_STATE), time 161446952, state PropertyNewValue

FocusIn event, serial 18, synthetic NO, window 0x3000001,
    mode NotifyNormal, detail NotifyNonlinear

KeymapNotify event, serial 18, synthetic NO, window 0x0,
    keys:  4294967237 0   0   0   16  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   

KeyRelease event, serial 33, synthetic NO, window 0x3000001,
    root 0x6b2, subw 0x0, time 161447041, (1451,344), root:(1689,600),
    state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
"   XLookupString gives 1 bytes: (0d) "
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x3000001,
    root 0x6b2, subw 0x0, time 161450328, (1451,344), root:(1689,600),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

FocusOut event, serial 36, synthetic NO, window 0x3000001,
    mode NotifyGrab, detail NotifyAncestor

PropertyNotify event, serial 36, synthetic NO, window 0x3000001,
    atom 0x150 (_NET_WM_STATE), time 161450331, state PropertyNewValue

FocusOut event, serial 36, synthetic NO, window 0x3000001,
    mode NotifyWhileGrabbed, detail NotifyNonlinear

PropertyNotify event, serial 36, synthetic NO, window 0x3000001,
    atom 0x150 (_NET_WM_STATE), time 161453703, state PropertyNewValue

FocusIn event, serial 36, synthetic NO, window 0x3000001,
    mode NotifyNormal, detail NotifyNonlinear

KeymapNotify event, serial 36, synthetic NO, window 0x0,
    keys:  80  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   

ClientMessage event, serial 36, synthetic YES, window 0x3000001,
    message_type 0x143 (WM_PROTOCOLS), format 32, message 0x141 (WM_DELETE_WINDOW)
# 

Also - before, I probably left it on - while going here and pasting from Terminal ― so maybe it's part of the output.

User avatar
MochiMoppel
Posts: 1233
Joined: Mon Jun 15, 2020 6:25 am
Location: Japan
Has thanked: 21 times
Been thanked: 437 times

Re: How to use the Function keys without the FN key?

Post by MochiMoppel »

@MrAccident You didn't answer my question regarding "alt" key.

I can't make sense of the xev output.
Let's forget xev and try something different and simpler. I created a quick and dirty script that captures only keypress events, nothing else. It doesn't require xev but uses gtkdialog instead. Output format is similar to xev - without the clutter ;)

I would like you to download the attached script, expand it, make it executable and run it.
You will see a small window, asking you to press a key or key combination.
Then please press F5, Fn+F5 , alt (the one left of the spacebar), exactly in this order
I expect that this will generate 3 lines of key codes.

I'm interested in these lines. You can copy them from the window via mouse.
Still I can't promise that all these efforts will result in success, but at least it's worth a try. For "normal" keyboards it's quite easy the change keys. Your keyboard is designed for Win/Mac only, and maybe Logitech means it :lol:

mm_keypress_test.gz
(394 Bytes) Downloaded 45 times
User avatar
MrAccident
Posts: 279
Joined: Mon Aug 03, 2020 4:29 am
Has thanked: 41 times
Been thanked: 8 times

Re: How to use the Function keys without the FN key?

Post by MrAccident »

@MochiMoppel:
Seems like we have a problem:

Code: Select all

state 0x2000 ,keycode 64 (keysym 0xffe9, Alt_L)
state 0x2000 ,keycode 71 (keysym 0xffc2, F5)
state 0x2000 ,keycode 64 (keysym 0xffe9, Alt_L)

Indeed the first and last are the same here. But only here. The actual result of pressing F5 ― is to switch back-&-forth between the open windows in that desktop ―― while the left Alt ― ...is the left Alt.
...Actually I did have to change the keyboard shortcut to switch between the desktops, for F96 ― it wasn't Alt+Number; don't know if it relates. Here's how I did it.

User avatar
MochiMoppel
Posts: 1233
Joined: Mon Jun 15, 2020 6:25 am
Location: Japan
Has thanked: 21 times
Been thanked: 437 times

Re: How to use the Function keys without the FN key?

Post by MochiMoppel »

MrAccident wrote: Thu Jun 22, 2023 2:34 am

@MochiMoppel:
Seems like we have a problem

We? Not me :lol:

Here comes more weird stuff. Ready for some adventure? Based on your keymap you posted earlier, let's turn your funny key into a F5 key. Your test shows that a simple keypress sends a keycode 64 (Alt_L) instead of the expected 71. So let's assign the values of keycode 71 to keycode 64. Expected result: The Alt key will behave like a F5 key, and so would your F5 trouble key. May not work for you, but the good news is that changes are not permanent and everything will be back to normal by running command setxkbmap , restarting X or latest after a reboot.

OK then, try

Code: Select all

xmodmap -e "keycode  64 = F5 F5 F5 F5 F5 F5 XF86Switch_VT_5 F5 F5 XF86Switch_VT_5"

Though my own keymap is different, I tried it ... and the result was surprising. xev (and also my script) report a keypress of the left Alt key as keycode 64 (keysym 0xffc2, F5) , but the Alt key still works as a normal Alt modifier key in combination with other keys, and that's the way the Alt key is supposed to be used. Additionally a single press of the Alt key, normally doing nothing, now acts as a F5 key. Pretty cool, even useful :thumbup:
So maybe your trouble key now acts like F5? That could be a solution.

[Edit] Above code lets Alt behave as normal when used in combination with other keys but always additionally triggers F5 functionality.
What really did the trick for me was using

Code: Select all

xmodmap -e "keycode  64 = F5 F5 F5 F5"

Normal Alt key behavior + F5 functionality only when Alt single pressed.

User avatar
MrAccident
Posts: 279
Joined: Mon Aug 03, 2020 4:29 am
Has thanked: 41 times
Been thanked: 8 times

Re: How to use the Function keys without the FN key?

Post by MrAccident »

@MochiMoppel:

What actually happens is:
🔴 Alt: with other keys - acts as it's suppose to; and in a text-field - makes "~".
🔴 F5: acts as before \ switching between windows; and creates "~" as well.

KeyPress output, after the code:xmodmap -e "keycode 64 = F5 F5 F5 F5 F5 F5 XF86Switch_VT_5 F5 F5 XF86Switch_VT_5", Alt then F5:

Code: Select all

state 0x2000 ,keycode 64 (keysym 0xffc2, F5)
state 0x2000 ,keycode 64 (keysym 0xffc2, F5)

KeyPress output, after the code:xmodmap -e "keycode 64 = F5 F5 F5 F5", Alt then F5:

Code: Select all

state 0x2000 ,keycode 64 (keysym 0xffc2, F5)
state 0x2000 ,keycode 64 (keysym 0xffc2, F5)
Post Reply

Return to “Users”