bug 918592 - refactor logic so that we use values from settings first, fallback to support.json contents if available.

r=qDot
Merge pull request #12348 from nullaus/bug918592-support-json

bug 918592 - refactor logic so that we use values from settings first, f...
Bug 918602 - Give keyboard keys 'key' role.