Your "Options Assign" looks good on its surface but it has one outstanding
weakness. It is not customizable for the different editor windows.
What might make for a good keyboard shortcut in the schematic editor would
not necessarily be very intuitive in the PCB window. You should make it so
that the user can assign a different meaning to one particular key
combination for the different editor windows.
For instance I might want C+R to be "Route" in the PCB editor but that would
have no meaning in any other editor window. Then if I then wanted C+R to be
"Route" in the PCB editor
and C+R to be "Redo" in the schematic editor, it is not possible with your
current implementation.