@IsaacMoses that could get in the way on some sites, as Hod noted. @HodofHod, does the structure allow for personalized whitelists and/or an "everywhere" option? I ask because you have settings at all (for layout), not to request a messy feature. :-)
@MonicaCellio Kinda, but not really. A userscript has to declare what sites it wants to run on in the top of the file. Right now, that's limited to MY, BH, HB, and Chat. If someone wanted it to run anywhere, they could modify the declaration to include all sites (@match http://*/* )
Problem is, the keyboard was developed on SE, and running it elsewhere may cause CSS or JS conflicts, it may put the button in weird locations (e.g., on jsfiddle.net).
...and other things that I can't think of right now. I tried it on a few sites just now, and it looks like it would at least need some CSS tweaking before it could be used elsewhere.
@HodofHod oh right! I should have remembered that. I agree that you shouldn't make it global (I sure don't want to deal with those conflicts), and there's a way for people who want a global script to do that so I think we're good.
@MonicaCellio So I had turned it on for everywhere just to see what it looked like, and then forgot to turn it off. It does some seriously wacky things on any website that uses classes named "row" or "first" through "fifth". I should probably fix those anyway. Wouldn't want it to conflict with any SE changes/subpages, or anyone elses userscripts.
@HodofHod laugh Yeah, that's probably for the best. Maybe namespace it all, so to speak (I know JS doesn't really have namespaces, but there's no reason you can't name your public-facing names things like kbd.hebrew.row, or whatever.
@HodofHod yeah, whenever. :-) You might want to think of a single prefix for all your entities (if there are multiple layers after that that's fine); that way if you ever do find a collision, it's easy to make one global change to that prefix. (Defensive programming - it's not just for coworkers any more. :-) )
@HodofHod basically the stuff you can type on a regular keyboard without weird control sequences or the like. You know, the stuff programmers like 'cause it's easy and fast. :-)