I mainly use Colemak layout, and here's the problem with the software.
Suppose I bind an 'S' to a key (which in a usual US layout would be 'D' on a keyboard). If, being in a Colemak layout, I press this 'S'-bound key, the keycode sent is the one of the key in Colemak if it was pressed on a US...