SdrDx Docs -> keymapping
         Previous <—> Next                  HomeContentsIndex                  Guide

4.32 - Keystroke Remapping

4.32.1 - General

A new installation of SdrDx provides a robust set of keyboard-accessible functions mapped to the keys on the OS X and Windows keyboards in the manner described in the rest of this document.

However, that's just a starting point. You can re-map any function to any key, remove functions from the keyboard set, and create, save and re-load as many of these keyboard configurations as you like. The ability to do this is accessed using Ref — which opens this dialog:


Key re-mapping dialog
OPTALT in these docs refers to the OPT key under OS X and the ALT key under windows.

4.32.2 - Remapping Dialog

4.32.2.1 - Window Close button

Under OS X, the window close button will show a dot in its center if the current function-to-key mapping is not the same as it was when you opened the dialog. This serves as a visual reminder that you have changed something, and may want to click Make Default in order to make the change stick the next time you start SdrDx.

Your options in this regard are threefold:

If you click the close button or press Cancel, the changes you made are discarded for this session (assuming you have not clicked Make Default, in which case your changes won't appear in this session, but they will next time you start SdrDx.)

If you click OK, then your changes are used in this session, but have not been made the default settings, so they will not re-appear the next time you restart SdrDx.

If you Save these mappings under a name other than the default name, then you can reload them later using Load without having to have them as the default settings. You can then use Cancel or the close button without losing your work.

4.32.2.2 - Reset

Reset causes all of the keymappings be set back to standard, which is to say that they will be set up as described in this documentation. If you already have made changes to the key mappings, you might want to use Save (see below) before pressing Reset.

4.32.2.3 - Make Default button

Make Default saves a file named "defaultsdrdxnktx.nkx", which SdrDx looks for on startup, and if found, will load and thereby set itself up with the key mappings contained therein.

4.32.2.4 - Load button

Load lets you load in any saved set of function-to-keyboard mappings, including the default set if you have saved the "defaultsdrdxnktx.nkx" file using Make Default

4.32.2.5 - Save button

Save lets you save the current set of keyboard mappings under any file name. I strongly recommend you use the file extension ".nkx", as that is what the defaults file uses and this way you can see all the settings files if the file dialog filter is set to ".nkx".

4.32.2.6 - Clear button

Clear removes all function-to-key mappings, giving you a "clean slate" to start from in building your own custom keyboard command set.

Don't be worried about trying this — remember that you can always get back to the standard set as described throughout this documentation by pressing Set to Standard, or back to whatever custom setup you had when you opened the dialog by pressing Restore.

Tip: It's always a good idea to Save a particular custom setup before you exit the dialog. That way you can always get it back when you want it. You can easily switch between the standard setup and any custom setup you've saved using Set to Standard and Load.

4.32.2.7 - Restore button

Restore sets the function-to-key mappings back to what it was when you opened the dialog. This "undoes" any changes you have made, similar to pressing Cancel or the dialog close button.

4.32.2.8 - Un-Assign button

Un-Assign can operate in two different fashions.

First, if you select a keystroke from the right-hand list that is assigned to a function, then press Un-Assign, that specific keystroke is reset, that is, it is no longer assigned to that function and is free to re-assign later if you so choose.

Second, if you select a function from the left--hand list, then press Un-Assign, all keystrokes that are assigned that function will be reset. This is useful if you have assigned more than one keystroke to a function and wish them all cleared.

4.32.2.9 - Keyclass checkboxes

Each of the eight checkboxes enables display of that particular class of keys. This can make it easier to choose among keys as candidates for a particular function, or to find mappings you are looking for. You can only map functions from the left list to keys visible in the right list. You can change these settings at any time.

4.32.2.10 - Key help text area

This is the area just above the key list on the right. It displays additional information when a function is selected in the left list.

4.32.2.11 - Functions list

The Functions list shows all of the functions available that can be mapped to keystrokes. In order to map a function to a key, you click on a function in the Functions list first, then on the desired key in the Key Mappings list.



Marker Function Number

To the right of each function is a number in square brackets. That is the function number. It is used with the IPC keyfunc:N command to fire any mapped function via a TCP or UDP message. For instance, Add a Marker is followed by [37], so to do that via UDP or TCP, you send:

    keyfunc:37

4.32.2.12 - Key Mappings list

The Key Mappings list shows all of the key strokes in the classes enabled by the Keyclass checkboxes; In order to map a function to a key, you click on a function in the Functions list first, then on the desired key in the Key Mappings list.

4.32.2.13 - Mapping Instructions, steps 1 and 2

The Mapping Instructions are displayed underneath the left and right lists, and indicate the two simple steps required to map a function to a key:

1: select a function in the Functions list

2: select the desired key in the Key Mappings list

Tip: Why keymapping can be important

Sometimes an OS will "eat" keystrokes that it uses for its own special purposes. The Ref dialog lets you reassign the functions to keys that are still available. Otherwise, these functions would be more or less randomly unavailable under different operating systems.

Tip: There's a bit of a trick with keys that have two or more symbols...

Because of the way Qt works internally, there are invalid keycodes that come up that actually won't do anything. For instance,  1, I never see this key. That's because when you Shift the 1 key, into a !, the internal notification I get is that you pressed  !, which is kind of silly, but there you go. Conversely, there's no such thing, internal to Qt, as an unshifted !.

So for these reasons, these keys don't appear in the key list. When you look for a shifted key that has two different symbols, you need to be looking for the shifted symbol on the key, like  #, rather than  3.

There's more to this as well. Just as you can't type an unshifted # key, you can't type any of the other unshifted modifier combinations for the # symbol either. So no ⇑° # , no ^⇑°# , etc., and the reverse is also true: you can't type any kind of shifted 3.

I hope that's clear. It caught me unaware when I was writing the keyboard handlers, so don't feel bad if it seems opaque or odd to you.

4.32.2.14 - Keystroke Lock Exclusion

When the keyboard lock is on, there may be some keys you don't want locked. For instance, if the phone rings, you may not want to take the time to reach for the mouse or type in an unlock code.   Exclude  provides a means for you to exclude any keystroke from locking. So in the example here, you'd type "mute" into the Filter box, Space --> Mute Audio would show up at the top of the keystroke list, you Left-click it to select it, then check   Exclude . Assuming you exit the dialog with OK, the spacebar will now never be locked during this session with SdrDx. If you'd like to make this permanent, so that this will be so every time you open the SdrDx application, click Make Default before clicking OK. You may also want to refer to the section on Keystroke Locking.

4.32.2.15 - Selected Function box

When you select a function in the Functions list, this box will visually confirm your selection; when that happens, you are ready to select the desired keystroke in the Key Mappings list, or clear all uses of the selected function by pressing Un-Assign.

4.32.2.16 - Filter Box

When you enter text in the Filter box, both the Functions list and the Key Mappings list will be filtered to display only those items that contain the text, along with un-assigned keys. Only those keystrokes that match the Keyclass checkboxes will be displayed. Matching is not case-sensitive, so for example "noise" and "Noise" produce identical results.

Note: Filter searches both the function name and the function description; so for instance, "ring" brings up Toggle Anti-Ringing, because "ring" is contained in Ringing, but it also brings up Sound Card Dialog, because the function description for that contains the word requiring, which in turn contains "ring". Increasing the filter term to "ringing" will eliminate the Sound Card Dialog result, as that word is not present in either the Sound Card Dialog function or its description.
Tip:

Say you enter PPM into the search box. This brings up several functions in the left list, but (in the standard mapping) not much in the right. And because you're in a search, all the keys that are in use, are hidden, so you can't immediately assign to them. So:

If you're looking to assign to already-assigned keys, a neat trick is to use Un-Assign on the keys you plan to map the functions to, then type your search term into the filter box. That way, the freed-up keys will show in the right hand list.



toc    index    guide    changes    keyboard    , previous    . next
Please consider supporting my SdrDx development efforts via a small donation.

         Previous <—> Next                  HomeContentsIndex                  Guide