How to bind F13-F24 keys to the 12 side buttons on Razer Naga?

I'm trying to use the Razer Synapse configuration app to bind the 12 number buttons send extra F keys from the 13..24 range, but I'm not having any progress. When I'm in the right menu, I can press F1 through F12 on my keyboard (or onboard keyboard) as usual, and it registers and works fine.

But because I don't have any real F13+ keys, I'm using AutoHotKey to send them virtually, and that doesn't work. If I try to send keys within F1..F12 range or any other common key, it works, so the AHK script is working, which means the Synapse software doesn't seem to want to accept F13..F24 keys.

Just for reference, I'm using A:: Send {F10} autohotkey script code with different numbers, there's nothing complicated about it.

Is there a way to bind the side buttons to F13-F24 keys? Maybe somehow without the Synapse app or by editing some of its config files and uploading the custom configuration into the mouse manually?


Solution 1:

I made a script that adds a toggle for the F13+ keys using AutoHotKey. When you run the script you have the option to press WinKey + z to toggle it on or off, replacing the existing F1 to F12 keys with F13 to F24 when toggled on. I thought this may be the easiest way to make it work.

on = 0

#z::
if on = 0
{
    on = 1
    tooltip, F13+ Script on.
    sleep 1000
    tooltip,
    Return
} 
else 
{
    on = 0
    tooltip, F13+ Script off.
    sleep 1000
    tooltip,
    Return
}

F1::
if on = 1
{
    tooltip, using key as F13.
    Sleep, 1000
    Send {F13}
    sleep 100
    tooltip,
    Return
}

F2::
if on = 1
{
    tooltip, using key as F14.
    Sleep, 1000
    Send {F14}
    sleep 100
    tooltip,
    Return
}

F3::
if on = 1
{
    tooltip, using key as F15.
    Sleep, 1000
    Send {F15}
    sleep 100
    tooltip,
    Return
}

F4::
if on = 1
{
    tooltip, using key as F16.
    Sleep, 1000
    Send {F16}
    sleep 100
    tooltip,
    Return
}

F5::
if on = 1
{
    tooltip, using key as F17.
    Sleep, 1000
    Send {F17}
    sleep 100
    tooltip,
    Return
}

F6::
if on = 1
{
    tooltip, using key as F18.
    Sleep, 1000
    Send {F18}
    sleep 100
    tooltip,
    Return
}

F7::
if on = 1
{
    tooltip, using key as F19.
    Sleep, 1000
    Send {F19}
    sleep 100
    tooltip,
    Return
}

F8::
if on = 1
{
    tooltip, using key as F20.
    Sleep, 1000
    Send {F20}
    sleep 100
    tooltip,
    Return
}

F9::
if on = 1
{
    tooltip, using key as F21.
    Sleep, 1000
    Send {F21}
    sleep 100
    tooltip,
    Return
}

F10::
if on = 1
{
    tooltip, using key as F22.
    Sleep, 1000
    Send {F22}
    sleep 100
    tooltip,
    Return
}

F11::
if on = 1
{
    tooltip, using key as F23.
    Sleep, 1000
    Send {F23}
    sleep 100
    tooltip,
    Return
}

F12::
if on = 1
{
    tooltip, using key as F24.
    Sleep, 1000
    Send {F24}
    sleep 100
    tooltip,
    Return
}