Ticket #374 (WontFix)Mon Dec 09 21:48:09 UTC 2013
Keyboard doesn't use a default if keyboard unknown
Reported by: | William Harden (2174) | Severity: | Minor |
Part: | Release: | ||
Milestone: | Status | WontFix |
Details by William Harden (2174):
Patch submitted for AppleUK Keyboard.
If you softload IntKey and then use KeyboardConfig to use the new Keyboard, and then reboot, the Boot will fail with ‘Unknown Country’ to the supervisor prompt.
Unknown Country / Territory defaults are set to UK – I would have expected if the Keyboard type is unknown that this would default to UK as well.
Unfortunately I’m not quite sure what is generating the ‘Unknown Country’ error – is it the USB HID code when the keyboard is detected?
Changelog:
Modified by William Harden (2174) Mon, December 09 2013 - 21:50:02 GMT
I should be clear: my submitted patch does not /fix/ the problem, it helps /exhibit/ the problem by providing a softloaded IntKey with a new keyboard.
But the bug would be relevant if the new IntKey was added to the ROM, and then a user (or more likely a developer) then tried to go back to an earlier ROM image.
Modified by Sprow (202) Sun, January 05 2014 - 09:29:28 GMT
- Status changed from Open to WontFix
The ‘Unknown country’ error would come from the KbdSetup obey file output in PreDesk which contains the country name (which in turn selects the keyboard). It, and the *KEYBOARD command both require the country to exist.
While it would in theory be possible to make it not error, you’d then be in a situation where the keyboard is responding as the UK default but the plugin reports that a different one is being chosen.
Since this is rather a contrived error, requiring a developer to muck up loading the IntKey module too late in the boot sequence, or reverting a ROM having selected a non default keyboard, this feels like a no-fix. There are plenty of other things in unstable versions of RISC OS that would also fall into this category: effectively the extra country is equivalent to adding a new command and using it, then reverting to an older version without the command.