Quite a bit for you to read!


Yeah, but the FN button behaves differently to Shift, Ctrl and Alt on most laptops. That's because they're emulating a full-sized keyboard at a fairly low level. On the Pyra I believe this will all be handled somehow using software, but it may still be hard to make it a fully detectable key as well as a special modifier. As long as Nikolaus hasn't wired it up not as a full key, it should end up being down to what AtC and his crew can do with it.

I guess this just became a keyboard thread. Everyone run get your pitchforks and torches!

To my understanding, the only key on the Pyra that has any direct interrupt capability is the power button. The left & right versions of Alt, Ctrl, Shift, Fn and Super keys are all modifiers within the keyboard definition.

I like to think of the keyboard as a representation of layers. Each modifier or combinations of modifiers changes the layer that interprets the rest of the keys.

Default layer without modifiers = lower case letters & numbers. Esc, display brightness up User1 and F11 in the attic.
Shift + key = capital letters and the symbols paired to the numbers. Display brightness down in the attic.
Fn + key = the lower case versions of the alternate language labels printed in orange or the symbols printed in orange and the numbers become F1-F10. F12 in the attic. Fn+brightness key = keyboard backlight up.
Fn+shift+key = the upper case versions of the alternate language labels printed in orange. Keyboard backlight down in the attic.

This leaves a -lot- of room for user defined keyboard shortcuts. Each modifier on/off combination results in an additional layer being exposed, but several are generally combined to give the same function. If the user chooses, these can be split to expose more layers, but I'm not sure why they would want or need to. With the left/right versions, one is keyed to the shoulder and the other is present on the keyboard area.

*Left shift, Right shift = shift layer
*Left Fn, Right Fn = Fn layer
*Either shift + Either Fn = Shift+Fn layer
*Alt and Ctrl + key is a fairly common use within programs and OS uses even though they are in essence modifiers in their own right.
*Super, aka the 'Pyra' key has left/right versions - but is a bit special. One is on the keyboard, the other is the keyboard lid switch. This means that if you/we/users choose, the lid closing can apply 'Super' to the shoulder buttons so that they can be used for lid-closed selection. Example, play/pause, next track, previous track, etc. Additional functions per shoulder could be attained by either chording (pushing more than one at a time) shoulder buttons or short/long or single/double clicks.
*Hypothetically a person without crazy hand dexterity could chord shift, ctrl, alt, Fn on the shoulders AND press super between the nubs on the keyboard and while holding those press a key that they have tied to something in the keyboard definition.
*Hypothetically a person with crazy hand dexterity and maybe a friend to help push buttons could chord left shift, right shift, left ctrl, right ctrl, left alt, right alt, left Fn, right Fn, super between the nubs and use a magnet to fool the lid switch's hall monitor and while holding those keys press a key that they have tied to do something truly special in the keyboard definition on the 1024th keyboard layer. Two shifts 2*2, Two ctrl *2*2, Two alt *2*2, Two Fn *2*2, Two Super *2*2 = 2^10 = 1024. The number of hypothetically definable key press actions is 1024 * the count of the non-modifier non power keys on the unit. Someone else can count them.

There was a metric shit ton of thought put into the keyboard, it's layout, flexibility, capability AND surface usage simplicity. You don't really need to know or understand the above permutations because if you speak English, German or French, what you're likely to make use of is all visually represented and easily accessible. But if you really do need to map a few hundred thousand keyboard shortcuts, that shouldn't be a problem either.
 
Last edited:
Yeah, but on most laptops, the FN key behaviour isn't handled in xmodmap or wherever it is you define keyboard modifiers. It's handled either in hardware on in the BIOS I think, so it actually send a different key code to the OS when you press it and an affected key at the same time. For genuine modifiers like shift and ctrl, the system sends a shift keycode and the code for the other key and lets the OS decode it. I've just run xev on this laptop, and can confirm that 'z' sends a z down and up, 'Z' sends a shift down, Z down, Z up and shift up, while '<' (fn+z on this mapping) just reports < down and up. It doesn't notify that FN has been pressed - that's all handled transparently by something that X doesn't know about.

My Pandora doesn't have xev installed, and is not online at the moment, so I can't test the same there.

Edit: The wiki suggests the FN keys on the Pyra will have explicit keycodes, namely 125 and 126 (left and right Meta respectively), so it should be a doddle for games to detect those keys, and as long as ATC/ED have got the keymappings working it'll work as a function key modifier too.
 
Last edited:
Yeah, but on most laptops, the FN key behaviour isn't handled in xmodmap or wherever it is you define keyboard modifiers. It's handled either in hardware on in the BIOS I think, so it actually send a different key code to the OS when you press it and an affected key at the same time. For genuine modifiers like shift and ctrl, the system sends a shift keycode and the code for the other key and lets the OS decode it. I've just run xev on this laptop, and can confirm that 'z' sends a z down and up, 'Z' sends a shift down, Z down, Z up and shift up, while '<' (fn+z on this mapping) just reports < down and up. It doesn't notify that FN has been pressed - that's all handled transparently by something that X doesn't know about.

My Pandora doesn't have xev installed, and is not online at the moment, so I can't test the same there.

To my understanding, the Pyra and Pandora don't really have much to compare to the BIOS on an X86 laptop. The SoC looks for the uboot which gives it instructions on where to go to find an OS. The OS boots and overlays the key press values with the results from a definition table. The keys themselves are not sending, "I'm shift and I was pressed". Rather, "I am key <9E080F4A> (or whatever it actually is from the keyboard) and I was pressed," to which the OS definitions table translates to "Shift pressed". That is then interpreted through the Gnu/Linux system's HID layer.

Yes, this means that the keyboard itself doesn't really have any hard coded idea of what the labels on the keys are (with exception of the power button of course). If you really want to re-code shift+L to be % on your Pyra and know where and how to edit the definitions file, you should be able to make that happen. I seem to recall ED stating that he had mapped the symbols on the keymat already. So, something exists and someday we can play with it - when we have Pyras to play with - which is something I'm really looking forward to.
 
The keys themselves are not sending, "I'm shift and I was pressed".

i read this as "I'm shift and I'm impressed," which is coincidentally what no one else ever said about keyboard threads :D.

i'm excited about a software level Fn key, as i wish i could program other key combinations with fn keys on my laptop.

funkeymonkey will come in handy for that.
 
Whoa! Keyboard thread!

Yes - grab your pitchforks, torches, party hats and noise makers!

Quick - someone post up a picture of the -final- keyboard layout then 50 people with no background information on why it is as it is comment on it and state how wrong it is!

Seriously - lets not do that. I really was trying to answer questions asked and do not want to re-hash every minute detail of a bunch of labels printed on an electrically conductive rubber mat to be covered in clear plastic tops. It has been covered in painstaking detail by a collection of very smart and highly opinionated individuals with use cases both broad and narrow in several thousand permutations and is the result of thousands of posts in dozens and dozens of threads and the outcome is very, very good.
 
Whoa! Keyboard thread!
ZXLTT.gif
 
and the outcome is very, very good
Yes... for us Hispanics... we need the Ñ and we get.... nothing!
Yes... for us Brits we need the £ and we get... nothing! (and now the Europeans try to swindle us when we want to negotiate fair trade agreements)
Yes... for us Chinese.... nevermind... GPD-Win is a national product.

FunkeyMonkey... we need you (and the programmable keys...)

They should have made the Pandora 30 cm wide... so all keys could fit! (of course, with a bigger battery to be able to light every key)

/tongue-in-cheeck
 
Yes... for us Hispanics... we need the Ñ and we get.... nothing!
Yes... for us Brits we need the £ and we get... nothing! (and now the Europeans try to swindle us when we want to negotiate fair trade agreements)
Yes... for us Chinese.... nevermind... GPD-Win is a national product.

FunkeyMonkey... we need you (and the programmable keys...)

They should have made the Pandora 30 cm wide... so all keys could fit! (of course, with a bigger battery to be able to light every key)

/tongue-in-cheeck

Layouts were considered that would have provided the capability to key every letter in every alphabet that uses Latin based alphabets causing the English only speakers freak out and threaten boycott even though English characters were clear and all on the top layer.

We still have a compose key, though, so getting to the character output for most languages is pretty straight forward. Plus, if the end user wants, they can simply remap the visual characters they won't use so that they return the characters they do use. The two won't match visually of course, but it's a pretty simple thing to get used to.

Some very wild designs made it as far as the final round. The end result is a bit of a hybrid of the highest ranked results from here:
https://pyra-handheld.com/boards/threads/keymat-layout-the-final-poll.76143/#post-1347936

I am quite fond of layout 6 myself. A tiny bit of it survived into the final layout - the brightness button.
Layout 7 was my 2nd favorite and it wound up being the core of the final layout.

You will notice that several of the layouts have many very similar features. This is because there was an intense cross pollination of ideas and an evolutionary process of killing and eating the young off bad ideas. The end result is truly from extensive pit fighting with knives collaboration.

Several features from other popular layouts were incorporated into it via 6ish people hashing it out in super secret behind the scenes private mail threads that should be sealed for all time with a basilisk and a very hungry vampiric platypus guarding the door.

I'm sure if someone wrote a thousand page saga of the keyboard layout evolution and the written combat involved, six people might read it.

Now we need another 5-6 new news threads to bury this for eternity - or until someone asks about a feature or capability again.
 
in other news i finally figured out how to run parallel calculations (albeit embarrassingly) in C/c++.

(i assume this post is at least as on topic as keyboard layout discussions ;))
 
I would like to draw attention to the Chinese ideograph , meaning "discuss". It contains the ideograph for "to speak" to the left, and on the right side, there's two flames.

I think it's safe to say that some things never changes.

Ahem...
$_58.JPG


Oh yeah... Handheld, not notebook. Wish I had bought one of these new in the early 90s when I had a chance.
timg

That one is more likely Japanese, but hey, Chinese website origin - I can't quite read the pictographs.
 
Ahem...


Oh yeah... Handheld, not notebook. Wish I had bought one of these new in the early 90s when I had a chance.

That one is more likely Japanese, but hey, Chinese website origin - I can't quite read the pictographs.
Holy jesus, that's a lot of combos.
 
Ahem...

Oh yeah... Handheld, not notebook. Wish I had bought one of these new in the early 90s when I had a chance.
timg

That one is more likely Japanese, but hey, Chinese website origin - I can't quite read the pictographs.

The Palm Top PC 100 was a small, Japanese-only x86 PC that weighed a mere 715 grams. It packed a 33MHz 486 CPU, 4MB of ram, 4MB of onboard flash storage, an integrated soundcard and speakers, a 4.7-inch 256-color display at 640-by-480 resolution, and a compact keyboard into a tiny package that you could fold up and place in the palm of your hand. It accepted expansion via a PCMCIA slot, and one could optionally purchase a separate 3.5-inch floppy drive to sit under the PC 110 that was as big as the computer itself.

http://au.pcmag.com/desktop-reviews/42890/gallery/the-strange-world-of-japanese-ibm-pcs?p=2
 
The Palm Top PC 100 was a small, Japanese-only x86 PC that weighed a mere 715 grams. It packed a 33MHz 486 CPU, 4MB of ram, 4MB of onboard flash storage, an integrated soundcard and speakers, a 4.7-inch 256-color display at 640-by-480 resolution, and a compact keyboard into a tiny package that you could fold up and place in the palm of your hand. It accepted expansion via a PCMCIA slot, and one could optionally purchase a separate 3.5-inch floppy drive to sit under the PC 110 that was as big as the computer itself.

http://au.pcmag.com/desktop-reviews/42890/gallery/the-strange-world-of-japanese-ibm-pcs?p=2
Woah maybe it can run Doom
 
It also was convinced to run a wide variety of OS platforms:
http://www.basterfield.com/pc110/pc110idx.htm

There were some successes with running Linux on them, but those links are long since dead.

Here is a more complete spec list:
http://www.basterfield.com/pc110/whatisit.htm

The device had an interesting collection of storage options.
*4MB (yes MB) of onboard flash.
*A 2 Type II / 1 Type III PCMCIA sot. PCMCIA cards are physically gigantic by today's standards. There are adapters to put CF and/or SD cards into PCMCIA slots, so, with the right adapters it could theoretically handle, very slowly, two 512GB SDXC cards.
*Pico/Mini Flash card slot. Good luck ever finding a card to fit this very short lived and unobtanium standard. It was about the physical size of a modern SD card. I understand that it was a bootable media.
*A docking station with a floppy drive in it.

Note that it predates USB existing. It predates WiFi. It predates Bluetooth.
It has a wired modem compatible with the Japanese phone networks of the time WITH voice capabilities to use it as a wired phone answering machine and speakerphone.

Stereo speakers.

Getting data on/off this thing today is pretty much by physical media or, if you have a docking station, potentially through the RS-232 serial port that only exists when docked.

Back in 1996 I had the opportunity to buy a brand new one for $1400 and passed on it. That is $2200 or so in today's money. I see this machine as the spiritual predecessor of the Pandora and now Pyra. Super compact, clamshell, LOTS of storage options for it's time.

The last time I saw one on Ebay was about 6 years ago. It went for right at $950. The floppy dock port replicator sold separately got $450.
 
Back
Top