arossdotme has quit [Remote host closed the connection]
xiangfu has joined #qi-hardware
arossdotme has joined #qi-hardware
rjeffries_ has joined #qi-hardware
rjeffries_ has quit [Remote host closed the connection]
rjeffries has quit [Ping timeout: 244 seconds]
arossdotme has quit [Ping timeout: 276 seconds]
arossdotme has joined #qi-hardware
xiangfu has quit [Remote host closed the connection]
wolfspraul has joined #qi-hardware
<eintopf>
wpwrak: what do you plan to do? bring atusb mainline?
<whitequark>
wpwrak: keyboard layouts
<whitequark>
oh
<whitequark>
as in, there can be more than one keyboard layout
pcercuei has joined #qi-hardware
fengling has quit [Quit: WeeChat 1.1.1]
fengling has joined #qi-hardware
fengling has quit [Ping timeout: 245 seconds]
fengling has joined #qi-hardware
archang has quit [Ping timeout: 245 seconds]
archang has joined #qi-hardware
jwhitmore has joined #qi-hardware
jwhitmore has quit [Ping timeout: 245 seconds]
jwhitmore has joined #qi-hardware
atommann has quit [Ping timeout: 276 seconds]
<wpwrak>
eintopf: no, i'm just fixing a few things i found in anelok. anelok uses the core stack from ben-wpan
<eintopf>
ok
<wpwrak>
whitequark: yes, like pressing "Z" on a german keyboard yielding "Y" if the system uses the US keymap. USB HID is basically problem-compatible with PS/2
<whitequark>
wpwrak: and what exactly do you suggest? the chip knowing what's on keycaps?
<whitequark>
that would mean that if something doesn't come with RU layout, there's no way to enable it, as well as added communication (complexity) between OS and kbd
<eintopf>
I use in germany the us keylayout, always funny if somebody try and try again to input his/her passwort with my account settings.
<eintopf>
it's easier to write brackets
<wpwrak>
whitequark: there are many possibilities how this could be done right, e.g.,
<wpwrak>
- the keyboard could send the codes that correspond to what's on the keycaps, but your can override things in the host if you want,
<wpwrak>
- the keyboard could have a "raw" and a "translated" mode, so you can choose between both models,
<wpwrak>
- the keyboard could have a USB descriptor with the translation table and the host could then just use this as a basis.
<wpwrak>
and if the keyboard just sent the correct code, there would be no communication overhead. in any case, HID is rather complex, so adding a new setting or such wouldn't really make a difference in the overall copmlexity
<whitequark>
the keyboard still has to be informed about the layout...
<wpwrak>
that's a factory setting
<whitequark>
about the /selected/ layout
<wpwrak>
would solve 99.9% of all uses. for the 0.1%, people could just get some utility to "hack" the keyboard
<whitequark>
for, you know, everyone except 200m or so people in the anglosphere
<whitequark>
no, *your* use case is the minority one
<wpwrak>
no, the keyboard would just send the code that corresponds to what's on the keycap
<whitequark>
there are more than one symbol on the keycap
<whitequark>
sometimes more than two.
<wpwrak>
well, mix in the modifiers
<whitequark>
what?
<wpwrak>
or have that information in the translation table
<wpwrak>
so you have keyboard with multiple alternative layouts, all printed on the keycaps ?
<whitequark>
obviously
<whitequark>
most people (on the planet) do
<whitequark>
you switch between them by using alt+shift or such
<wpwrak>
well, it's still a modifier then
<whitequark>
it's not a fixed modifier
<wpwrak>
RU-lock or whatever :)
<wpwrak>
and i guess you have some override that switches to the respective other layout for a single keypress ? e.g., if your mode is US, Y sends Y, and AltGr-Y sends H.
<wpwrak>
btw, the QWEYTY us funny. nicely illustrates the confusion :)
<whitequark>
no, there is no override
<wpwrak>
that must suck sometimes
<whitequark>
not a problem in practice
<whitequark>
the weirdly changing layout on numeric keys is, but the fix is not to add one-off modeswitch
<wpwrak>
anyway, yet another option would be for the keyboard just to announce a layout code. in case a table is just too much work. so you'd still send key codes but at least the host would know what's printed in the keycaps and could select a suitable layout.
<whitequark>
yeah, that would make sense
<whitequark>
and would be completely trivial to add
<wpwrak>
though a table would be more flexible. and the usb folks *love* tables. the more, the merrier :)
<wpwrak>
they actually almost added such a code: there is a "country" field in the HID descriptor, but a) it only knows about a few countries, most of which having only one layout, thus not working for anything not totally mainstream, and b) setting it to something meaningful is kinda optional
<whitequark>
there is no mapping between countries and layouts
<wpwrak>
e.g., my HHKB (US layout) happily identifies itself as "Japan (Katakana)"
<wpwrak>
well, there kinda used to. at least if you consider the original IBM keyboards as the reference :)
<wpwrak>
and they have codes for variations inside the same country, e.g., switzerland has a french and a german version
<whitequark>
there is no mapping between (physical location) and (what is painted on keys)
<whitequark>
is it more clear now?
<wpwrak>
you mean based on country ? i would expect that even in russia there is. maybe a few major variants, but i guess when you visit a friend you won't be faced with a completely different layout
<whitequark>
you just introduced another completely unnecessary and flawed step
<whitequark>
instead of manufacturing a keyboard with language X on keycaps, you suggest manufacturing a keyboard for some chinese dude's idea of what's used in country X
<wpwrak>
of course, with laptops and other more creative layouts, the whole concept of "standard" layouts collapses. but then you usually don't get a driver with the perfect position-to-symbol (or function) mapping, but you get a controller that makes it look like a common layout. hence my idea for a table: stop the madness :)
<wpwrak>
there's no straight mapping for "language" either :)
<wpwrak>
e.g., swiss-german != german, swiss-french != french, canadian-french != swiss-* and != french
<wpwrak>
but then spanish is probably pretty close to the "country" of "latin america"
<wpwrak>
and it's anyone's guess what language they speak in "International (ISO)" ;-)
<wpwrak>
so if you wanted a single code, you'd probably need a registry. or spread it out by making this per vendor. but that would have its own set of problems.
<whitequark>
yes, there should be a registry
<whitequark>
then you could create the xorg mappings using sed, instead of dark magic and collecting lost souls or whatever
<wpwrak>
of course, USB-IF would probably want to see some kilodollars for an entry ...
<whitequark>
making a keyboard requires injection molding
<whitequark>
a few k$ is nothing compared to it
<wpwrak>
yes, for homo economicus, there would be no question. but ... :)
<whitequark>
and if you don't make your keyboards in bulk, you probably shouldn't invent your own layout
<whitequark>
there are too many already
jwhitmore has quit [Ping timeout: 246 seconds]
jwhitmore has joined #qi-hardware
jwhitmore has quit [Remote host closed the connection]
rjeffries has joined #qi-hardware
pcercuei has quit [Ping timeout: 256 seconds]
mth_ has joined #qi-hardware
mth has quit [Write error: Broken pipe]
mth_ is now known as mth
nicksydney has quit [Quit: No Ping reply in 180 seconds.]