Replacing Scroll Lock and Pause / Break

Kono Store

02 Oct 2018, 22:17

Greetings! This is the official Kono Store account. We have a question for you (making this an ambitious first post).

Which keys would you replace Scroll Lock and Pause / Break with?


Image

Scroll Lock and Pause / Break are extant keys with antediluvian origins. They can be reprogrammed, but that doesn't save them from being utterly useless to most people in base keyboard configurations. We want to find out which keys / base layer assignments would best replace them. This would mean new legends on most of our keyboards at some point in the future.

Our media key concept (pictured above for roasting) would leave Print Screen as-is (it still has some use), but we're not opposed to placing it on the function layer by default. The Previous Track function is rarely used, so it wasn't prioritized. Play / Pause would replace Scroll Lock and Next Track would replace Pause / Break on the base layer.

We're not concerned about the rest of the function layer, or keyboards with additional dedicated media keys, as all of that will change on a keyboard-to-keyboard basis. This is primarily a way to make "dead" keys useful without reprogramming (while maintaining backwards compatibility with things like Excel) in standard full size / TKL keyboards.

That said, what do you think?

User avatar
depletedvespene

02 Oct 2018, 22:42

You know what other keys are antediluvian? A-Z and 2-9! (oddly, 0 and 1 are a bit newer). That doesn't mean that, in and of themselves, they're useless.

Scroll Lock still has plenty of usage (try it in Excel), and so does Pause/Break, if you ever open a text console. So, don't "innovate" where you don't actually need to. Also, Print Screen "still has its uses", but even more usage is seen by the combination Alt-Print Screen — moving PrtSc(r) to the Fn layer would make the latter uncomfortable.

Play/Pause? Could be... Next but not Prev? Stinks of incompleteness for no good reason. I would get more usage from volume controls than than those other media keys... but still not as much as I do from the Pause key by itself.

IMNAAHO, it is best to not mess with the standard, as it WILL limit your sales capability. And who is to say that other vendors might decide to replace the supranav keys the exact same things as you decide on, and not with OTHER stuff (based on another survey's differing result)? Nope, bad idea.

Kono Store

02 Oct 2018, 23:25

Scroll Lock still has plenty of usage (try it in Excel), and so does Pause/Break, if you ever open a text console.
Does Scroll Lock need to be on the base layer for Excel?
How much of the general public sits down on their PC to whip up lengthy Excel Spreadsheets?
How many common programs other than Excel support Scroll Lock?

Office users, of course, would still have access to it via the Fn layer (or could reprogram the keyboard if applicable). What if that person listens to music while doing data entry or daily tasks (as some of our staff does)? The same questions apply to the Pause / Break command. It provides utility for a very small subset of users — the general public doesn't open text consoles.

It's a question about what makes the most sense for the most people. Programmers and power users tend to purchase our open source keyboards and remap everything — this would be for people who don't worry about those two keys at all in their daily PC usage (a vast majority, as far as we know).

We're also starting to market some less-programmable keyboards from partner brands that this feature would sync with. They're primarily meant for gamers, media consumers, and general computer users. Not necessarily office workers or power users.
... moving PrtSc(r) to the Fn layer would make the latter uncomfortable.
Which is part of why we didn't suggest it in this concept.
Next but not Prev? Stinks of incompleteness for no good reason.
We rarely use the Previous Track functionality, but often skip forward several tracks. If you don't think that's a good reason, cool.
I would get more usage from volume controls than than those other media keys...
Dedicated volume keys were considered, but those tend to get bound elsewhere (Page Up / Down, Arrows, et cetera). Sometimes people have separate amplifiers or monitor speakers with discrete controls as well. Regardless, if something important comes up that requires one's attention / hearing, it makes sense to pause rather than reduce the volume.
Nope, bad idea.
We aren't necessarily convinced that it's a bad idea yet, though your points are valid in certain use cases for a certain demographic.

User avatar
depletedvespene

02 Oct 2018, 23:40

Kono Store wrote:
Scroll Lock still has plenty of usage (try it in Excel), and so does Pause/Break, if you ever open a text console.
Does Scroll Lock need to be on the base layer for Excel?
No, it doesn't (and if you check out my designs for compact keyboards, you'll see I'm not shy of moving it to a secondary position) — but it doesn't mean it can be omitted as is.
Kono Store wrote: How much of the general public sits down on their PC to whip up lengthy Excel Spreadsheets?
How many common programs other than Excel support Scroll Lock?
How much of the general public uses the '_' or the '~' characters? Or the F7 key? Scroll Lock is an important part of navigation on ANY program that presents a "window" over a large area (the spreadsheet, in the case of Excel). It HAS been somewhat forgotten by some people, but the feature is still there, and it's still more comfortable than the window scrolling bars.

Kono Store wrote:
Next but not Prev? Stinks of incompleteness for no good reason.
We rarely use the Previous Track functionality, but often skip forward several tracks. If you don't think that's a good reason, cool.
... and as things happen, I am more of a rewinder. Yes, I am a git stuck living in the past. :?

Kono Store wrote:
Nope, bad idea.
We aren't necessarily convinced that it's a bad idea yet, though your points are valid in certain use cases for a certain demographic.
That's the point, ultimately: unless you decide to explicitly cater to a specific niche of customers, you DO need something that appeals to the largest possible demographic... and that means NOT cutting functionality that's expected to be in place already, to begin with, whether "certain demographics" don't "frequently" use it...

Of course, it's ultimately not my money that is being put at risk here, but I seriously think that vendor-specific "standards bending" is very very rarely a good idea.

User avatar
Niko1U

02 Oct 2018, 23:47

i reprogramed it to be a "mute mic" button, so i can see the indicator light when im muted

User avatar
PlacaFromHell

02 Oct 2018, 23:59

And what about just add some kind of layer toggled by a key combination or something like an AT/XT switch? Still more easy than program each key again or have a modifier. Think about it, if you gonna use Excel or a similar program you can just switch the keyboard to his "normal" mode and then go back to "Kono badass layout" when you end.

Kono Store

03 Oct 2018, 00:03

i reprogramed it to be a "mute mic" button, so i can see the indicator light when im muted
That's a great idea! Kira will have the capability to do that sort of thing with its Lock LEDs.
How much of the general public uses the '_' or the '~' characters?
Actually, more than you might think. Usernames, passwords, and ~anime lovers~ or approximators (~100 things) all whip out those symbols with more regularity than the Pause / Break key gets pressed. Scroll Lock may live on in offices with greater frequency — we don't have the raw data to speak to that.
Or the F7 key?
There's a reason why White/NightFoxes delete the F Row. :)
... that means NOT cutting functionality that's expected to be in place already, to begin with...
We're not cutting it, though. We're just considering its movement to a different layer such that more useful keys, to the majority of users, can be surfaced.

How will innovation happen if standards aren't bent? If experiments aren't run? We're not going to push a full alternative layout (there's a reason why we're still stuck with QWERTY), but someone has to try new things.

If everyone shoots this idea down hard we'll drop it pretty quickly. That doesn't appear to be the case so far, though. Most people on other forums are pushing for a Print Screen removal and volume keys as well.

User avatar
depletedvespene

03 Oct 2018, 00:14

Kono Store wrote: How will innovation happen if standards aren't bent? If experiments aren't run? We're not going to push a full alternative layout (there's a reason why we're still stuck with QWERTY), but someone has to try new things.
Please DO run all the experiments you want — we all do them (see my posting history for some of my wacky ideas). What makes me uncomfortable is how many of those are run "in production" with little thought behind them (instead of planning a series of prototypes), and how many times standards are bent for no other reason than cheapening a product (see the post I'll be writing tonight, which ties to this!). And that's before the aggravating factor of each "shop" doing its own thing without caring what others are doing.

I have to acknowledge that I maaaaaaaaaaaaay have been sliiiiiiiightly over-confrontational on my first reply; then again, I use Scroll Lock daily, and the current fashion of calling it useless irks me. And don't get me started on the Ins key!!! :mrgreen:

User avatar
Muirium
µ

03 Oct 2018, 14:26

Maaaaaaaay have been!

As a Mac / iOS guy, I’ve only a faint idea what Scroll Lock and its pals are supposed to do. The answer is nothing on the Mac: that block of three keys reports as F13-15. I remap them in the system to volume controls, then forget to use them as I’m so used to the HHKB trio of fn+A,S,D.

Anyway, programmability is the deepest, most fulfilling way to tackle this stuff: let the user decide. But what about the uninterested and newcomers? Well, there is a case for giving them something more modern. But there’s also a case against it. Maybe split the difference with a DIP switch beneath the keyboard, and a wee set of supplemental caps included in the box, as Topre does?

User avatar
depletedvespene

03 Oct 2018, 14:41

Believe it or not, I ain't too fond of DIP switches on the back of the keyboard. Fn chords are best for this matter, IMMNAAHO. If we're at this, a case could be made of making the entire nav area (nav cluster + the three supranav keys) subject to one of two modes — mode 0 would be the traditional one (arrows, Del, Ins, HUDE and PrtScr / Scroll Lock / Pause) and mode 1 would be the "media keys" one (something like volume controls on the supranavs and play/pause/rew/ff on the hude keys). And pressing any of these keys with Fn would activate whatever functionality on the alternate mode, to keep as much functionality readily available as possible.

But that would mean adding a new led light indicator... and that's not "hip" these days, is it?

samuelcable

03 Oct 2018, 14:43

I'm not the biggest Apple fan but one of the best ideas on the AEK was to put f13 f14 and f15 on those keys and kept the original keys on a function layer. I've been wanting to recreate this on a custom cherry board when I get more money

User avatar
Muirium
µ

03 Oct 2018, 15:02

As far as I understand, the AEK has no function layer. I think what Apple did was just put both legends on those keys!

Image

The idea seemed to be just to let software choose how to interpret them. Same story for the vestigial Num Lock and Scroll Lock keys and indicators. The Mac would not light those, at least when running Mac software.

Where my knowledge runs dry is quite what software ever was supposed to actually use them. Apple wasn’t in the business of making PC compatible keyboards—ADB was not XT, AT or PS/2 compatible—yet here they were shadowing IBM’s legends. Something about DOS compatibility cards perhaps?


@Depleted: I’m not big on DIP switches either. I gladly surrendered them—and the rink-a-dink USB hub—in my HHKB here when I upgraded it to fully programmable USB + Bluetooth. Why settle for a handful of binary choices when you can have control the like of this?

But! Progammable keyboards are the deep end of the pool. A wee handful of DIP switches, with simple to grasp explanations for each, is the shallow end, for beginners. Besides, a manufacturer can afford to bundle the extra handful of caps required by a few choices they’ve defined in those switches. But the deep programmability Hasu’s put inside my HHKB raises the available options exponentially!

I’d suggest putting both features into a keyboard. DIP switches for the custom-curious, and a programmable firmware for the experienced among us. Indeed, those switches could serve as inputs to the programmable controller so we can even devise our own uses for them beyond the defaults. Programmability is powerful that way, but don’t forget it is also daunting!

User avatar
depletedvespene

03 Oct 2018, 15:21

Muirium wrote: But! Progammable keyboards are the deep end of the pool. A wee handful of DIP switches, with simple to grasp explanations for each, is the shallow end, for beginners.
And, indeed, for beginners, a few Fn chords are slightly shallower and more accessible (again, IMNAAHO)... and cheaper for manufacturers, too (!).
Muirium wrote: Besides, a manufacturer can afford to bundle the extra handful of caps required by a few choices they’ve defined in those switches. But the deep programmability Hasu’s put inside my HHKB raises the available options exponentially!
Blanks and a Sharpie. Or clear keycaps and small pieces of paper. And, critically, access to someone who CAN do nice-looking lettering (i.e.: not me). :mrgreen:
Muirium wrote: I’d suggest putting both features into a keyboard. DIP switches for the custom-curious, and a programmable firmware for the experienced among us. Indeed, those switches could serve as inputs to the programmable controller so we can even devise our own uses for them beyond the defaults. Programmability is powerful that way, but don’t forget it is also daunting!
Keyboard reprogramming is fun, and so is layouting (see my posting history) I could be doing that all day... (oh wait, these days, that's indeed what I'm doing!).

Anyway, Scroll Lock is an important key. ;)

samuelcable

03 Oct 2018, 15:24

Muirium wrote: As far as I understand, the AEK has no function layer. I think what Apple did was just put both legends on those keys!

Image

The idea seemed to be just to let software choose how to interpret them. Same story for the vestigial Num Lock and Scroll Lock keys and indicators. The Mac would not light those, at least when running Mac software.

Where my knowledge runs dry is quite what software ever was supposed to actually use them. Apple wasn’t in the business of making PC compatible keyboards—ADB was not XT, AT or PS/2 compatible—yet here they were shadowing IBM’s legends. Something about DOS compatibility cards perhaps?


@Depleted: I’m not big on DIP switches either. I gladly surrendered them—and the rink-a-dink USB hub—in my HHKB here when I upgraded it to fully programmable USB + Bluetooth. Why settle for a handful of binary choices when you can have control the like of this?

But! Progammable keyboards are the deep end of the pool. A wee handful of DIP switches, with simple to grasp explanations for each, is the shallow end, for beginners. Besides, a manufacturer can afford to bundle the extra handful of caps required by a few choices they’ve defined in those switches. But the deep programmability Hasu’s put inside my HHKB raises the available options exponentially!

I’d suggest putting both features into a keyboard. DIP switches for the custom-curious, and a programmable firmware for the experienced among us. Indeed, those switches could serve as inputs to the programmable controller so we can even devise our own uses for them beyond the defaults. Programmability is powerful that way, but don’t forget it is also daunting!
OH I'm sorry I misunderstood it, but I still think putting those keys on a function layer with the extra f keys there is a good idea. I

User avatar
Muirium
µ

03 Oct 2018, 15:34

depletedvespene wrote: Keyboard reprogramming is fun, and so is layouting (see my posting history) I could be doing that all day... (oh wait, these days, that's indeed what I'm doing!).
Indeed. I try not to overdo it on the base layer—what the keyboard types without any Fn layer keys pressed. This HHKB, for instance, is such a nice layout out the box that I’ve barely customised it at all. My one alteration is a macro: LGUI + Esc = LGUI + backquote. That one’s killer for switching between windows inside the same app, and I have it on every 60%.

Where reprogrammability really kicks in for me is when adapting vintage boards to modern use. Those often don’t have enough modifiers, at least in the right places, so you have to get crafty. Not a problem for something made in this day and age, of course.

spongebob1981

03 Oct 2018, 17:38

I'm a Sys Admin and I used the pause/break key VERY sparingly in my career.

But those times where quite important. Finding out my keyboard does not have them right at those times is a sure ticket for the dumpster.

Granted: I belong in a super slim sliver of demographics, but just FYI. And "at work" I would not use a keyboard with dedicated media keys. Or layers, now that we are speaking of it.

User avatar
vometia
irritant

03 Oct 2018, 17:56

I'm going out on a limb and thinking that the pause key is the single one I've never had occasion to use. Yet its best use is exactly as it says, but not what it does: to pause whatever I'm playing. I'm thinking of music because it would be some sort of dark art if it actually applied to videos and games as well. But music would be enough. So if pause would pause my music that would actually be rather useful.

User avatar
vometia
irritant

03 Oct 2018, 18:00

spongebob1981 wrote: I'm a Sys Admin and I used the pause/break key VERY sparingly in my career.
I've used break very often on LK201 keyboards but not on PC ones. I'm not sure if they ever correspond. Then again I'm also reminded of SysReq on a 3270 keyboard (which I'm guessing the PS/2 one is supposed to duplicate) and asking one of the mainframe beards what it does. The answer was pretty much "guess!" By which I don't mean he thought I should know what it does, just that what it does is fairly arbitrary. I think ours shunted the terminal session to... er... whatever it was that VTAM did to allow you to attempt to argue with it.

User avatar
Muirium
µ

03 Oct 2018, 18:10

The USB keyboard spec does have dedicated media keys, including Play/Pause (0xE8). Quite distinct from Pause (0x48). This is the palette of keys a USB keyboard can choose from:

Code: Select all

/**
 * USB HID Keyboard scan codes as per USB spec 1.11
 * plus some additional codes
 * 
 * Created by MightyPork, 2016
 * Public domain
 * 
 * Adapted from:
 * https://source.android.com/devices/input/keyboard-devices.html
 */

#ifndef USB_HID_KEYS
#define USB_HID_KEYS

/**
 * Modifier masks - used for the first byte in the HID report.
 * NOTE: The second byte in the report is reserved, 0x00
 */
#define KEY_MOD_LCTRL  0x01
#define KEY_MOD_LSHIFT 0x02
#define KEY_MOD_LALT   0x04
#define KEY_MOD_LMETA  0x08
#define KEY_MOD_RCTRL  0x10
#define KEY_MOD_RSHIFT 0x20
#define KEY_MOD_RALT   0x40
#define KEY_MOD_RMETA  0x80

/**
 * Scan codes - last N slots in the HID report (usually 6).
 * 0x00 if no key pressed.
 * 
 * If more than N keys are pressed, the HID reports 
 * KEY_ERR_OVF in all slots to indicate this condition.
 */

#define KEY_NONE 0x00 // No key pressed
#define KEY_ERR_OVF 0x01 //  Keyboard Error Roll Over - used for all slots if too many keys are pressed ("Phantom key")
// 0x02 //  Keyboard POST Fail
// 0x03 //  Keyboard Error Undefined
#define KEY_A 0x04 // Keyboard a and A
#define KEY_B 0x05 // Keyboard b and B
#define KEY_C 0x06 // Keyboard c and C
#define KEY_D 0x07 // Keyboard d and D
#define KEY_E 0x08 // Keyboard e and E
#define KEY_F 0x09 // Keyboard f and F
#define KEY_G 0x0a // Keyboard g and G
#define KEY_H 0x0b // Keyboard h and H
#define KEY_I 0x0c // Keyboard i and I
#define KEY_J 0x0d // Keyboard j and J
#define KEY_K 0x0e // Keyboard k and K
#define KEY_L 0x0f // Keyboard l and L
#define KEY_M 0x10 // Keyboard m and M
#define KEY_N 0x11 // Keyboard n and N
#define KEY_O 0x12 // Keyboard o and O
#define KEY_P 0x13 // Keyboard p and P
#define KEY_Q 0x14 // Keyboard q and Q
#define KEY_R 0x15 // Keyboard r and R
#define KEY_S 0x16 // Keyboard s and S
#define KEY_T 0x17 // Keyboard t and T
#define KEY_U 0x18 // Keyboard u and U
#define KEY_V 0x19 // Keyboard v and V
#define KEY_W 0x1a // Keyboard w and W
#define KEY_X 0x1b // Keyboard x and X
#define KEY_Y 0x1c // Keyboard y and Y
#define KEY_Z 0x1d // Keyboard z and Z

#define KEY_1 0x1e // Keyboard 1 and !
#define KEY_2 0x1f // Keyboard 2 and @
#define KEY_3 0x20 // Keyboard 3 and #
#define KEY_4 0x21 // Keyboard 4 and $
#define KEY_5 0x22 // Keyboard 5 and %
#define KEY_6 0x23 // Keyboard 6 and ^
#define KEY_7 0x24 // Keyboard 7 and &
#define KEY_8 0x25 // Keyboard 8 and *
#define KEY_9 0x26 // Keyboard 9 and (
#define KEY_0 0x27 // Keyboard 0 and )

#define KEY_ENTER 0x28 // Keyboard Return (ENTER)
#define KEY_ESC 0x29 // Keyboard ESCAPE
#define KEY_BACKSPACE 0x2a // Keyboard DELETE (Backspace)
#define KEY_TAB 0x2b // Keyboard Tab
#define KEY_SPACE 0x2c // Keyboard Spacebar
#define KEY_MINUS 0x2d // Keyboard - and _
#define KEY_EQUAL 0x2e // Keyboard = and +
#define KEY_LEFTBRACE 0x2f // Keyboard [ and {
#define KEY_RIGHTBRACE 0x30 // Keyboard ] and }
#define KEY_BACKSLASH 0x31 // Keyboard \ and |
#define KEY_HASHTILDE 0x32 // Keyboard Non-US # and ~
#define KEY_SEMICOLON 0x33 // Keyboard ; and :
#define KEY_APOSTROPHE 0x34 // Keyboard ' and "
#define KEY_GRAVE 0x35 // Keyboard ` and ~
#define KEY_COMMA 0x36 // Keyboard , and <
#define KEY_DOT 0x37 // Keyboard . and >
#define KEY_SLASH 0x38 // Keyboard / and ?
#define KEY_CAPSLOCK 0x39 // Keyboard Caps Lock

#define KEY_F1 0x3a // Keyboard F1
#define KEY_F2 0x3b // Keyboard F2
#define KEY_F3 0x3c // Keyboard F3
#define KEY_F4 0x3d // Keyboard F4
#define KEY_F5 0x3e // Keyboard F5
#define KEY_F6 0x3f // Keyboard F6
#define KEY_F7 0x40 // Keyboard F7
#define KEY_F8 0x41 // Keyboard F8
#define KEY_F9 0x42 // Keyboard F9
#define KEY_F10 0x43 // Keyboard F10
#define KEY_F11 0x44 // Keyboard F11
#define KEY_F12 0x45 // Keyboard F12

#define KEY_SYSRQ 0x46 // Keyboard Print Screen
#define KEY_SCROLLLOCK 0x47 // Keyboard Scroll Lock
#define KEY_PAUSE 0x48 // Keyboard Pause
#define KEY_INSERT 0x49 // Keyboard Insert
#define KEY_HOME 0x4a // Keyboard Home
#define KEY_PAGEUP 0x4b // Keyboard Page Up
#define KEY_DELETE 0x4c // Keyboard Delete Forward
#define KEY_END 0x4d // Keyboard End
#define KEY_PAGEDOWN 0x4e // Keyboard Page Down
#define KEY_RIGHT 0x4f // Keyboard Right Arrow
#define KEY_LEFT 0x50 // Keyboard Left Arrow
#define KEY_DOWN 0x51 // Keyboard Down Arrow
#define KEY_UP 0x52 // Keyboard Up Arrow

#define KEY_NUMLOCK 0x53 // Keyboard Num Lock and Clear
#define KEY_KPSLASH 0x54 // Keypad /
#define KEY_KPASTERISK 0x55 // Keypad *
#define KEY_KPMINUS 0x56 // Keypad -
#define KEY_KPPLUS 0x57 // Keypad +
#define KEY_KPENTER 0x58 // Keypad ENTER
#define KEY_KP1 0x59 // Keypad 1 and End
#define KEY_KP2 0x5a // Keypad 2 and Down Arrow
#define KEY_KP3 0x5b // Keypad 3 and PageDn
#define KEY_KP4 0x5c // Keypad 4 and Left Arrow
#define KEY_KP5 0x5d // Keypad 5
#define KEY_KP6 0x5e // Keypad 6 and Right Arrow
#define KEY_KP7 0x5f // Keypad 7 and Home
#define KEY_KP8 0x60 // Keypad 8 and Up Arrow
#define KEY_KP9 0x61 // Keypad 9 and Page Up
#define KEY_KP0 0x62 // Keypad 0 and Insert
#define KEY_KPDOT 0x63 // Keypad . and Delete

#define KEY_102ND 0x64 // Keyboard Non-US \ and |
#define KEY_COMPOSE 0x65 // Keyboard Application
#define KEY_POWER 0x66 // Keyboard Power
#define KEY_KPEQUAL 0x67 // Keypad =

#define KEY_F13 0x68 // Keyboard F13
#define KEY_F14 0x69 // Keyboard F14
#define KEY_F15 0x6a // Keyboard F15
#define KEY_F16 0x6b // Keyboard F16
#define KEY_F17 0x6c // Keyboard F17
#define KEY_F18 0x6d // Keyboard F18
#define KEY_F19 0x6e // Keyboard F19
#define KEY_F20 0x6f // Keyboard F20
#define KEY_F21 0x70 // Keyboard F21
#define KEY_F22 0x71 // Keyboard F22
#define KEY_F23 0x72 // Keyboard F23
#define KEY_F24 0x73 // Keyboard F24

#define KEY_OPEN 0x74 // Keyboard Execute
#define KEY_HELP 0x75 // Keyboard Help
#define KEY_PROPS 0x76 // Keyboard Menu
#define KEY_FRONT 0x77 // Keyboard Select
#define KEY_STOP 0x78 // Keyboard Stop
#define KEY_AGAIN 0x79 // Keyboard Again
#define KEY_UNDO 0x7a // Keyboard Undo
#define KEY_CUT 0x7b // Keyboard Cut
#define KEY_COPY 0x7c // Keyboard Copy
#define KEY_PASTE 0x7d // Keyboard Paste
#define KEY_FIND 0x7e // Keyboard Find
#define KEY_MUTE 0x7f // Keyboard Mute
#define KEY_VOLUMEUP 0x80 // Keyboard Volume Up
#define KEY_VOLUMEDOWN 0x81 // Keyboard Volume Down
// 0x82  Keyboard Locking Caps Lock
// 0x83  Keyboard Locking Num Lock
// 0x84  Keyboard Locking Scroll Lock
#define KEY_KPCOMMA 0x85 // Keypad Comma
// 0x86  Keypad Equal Sign
#define KEY_RO 0x87 // Keyboard International1
#define KEY_KATAKANAHIRAGANA 0x88 // Keyboard International2
#define KEY_YEN 0x89 // Keyboard International3
#define KEY_HENKAN 0x8a // Keyboard International4
#define KEY_MUHENKAN 0x8b // Keyboard International5
#define KEY_KPJPCOMMA 0x8c // Keyboard International6
// 0x8d  Keyboard International7
// 0x8e  Keyboard International8
// 0x8f  Keyboard International9
#define KEY_HANGEUL 0x90 // Keyboard LANG1
#define KEY_HANJA 0x91 // Keyboard LANG2
#define KEY_KATAKANA 0x92 // Keyboard LANG3
#define KEY_HIRAGANA 0x93 // Keyboard LANG4
#define KEY_ZENKAKUHANKAKU 0x94 // Keyboard LANG5
// 0x95  Keyboard LANG6
// 0x96  Keyboard LANG7
// 0x97  Keyboard LANG8
// 0x98  Keyboard LANG9
// 0x99  Keyboard Alternate Erase
// 0x9a  Keyboard SysReq/Attention
// 0x9b  Keyboard Cancel
// 0x9c  Keyboard Clear
// 0x9d  Keyboard Prior
// 0x9e  Keyboard Return
// 0x9f  Keyboard Separator
// 0xa0  Keyboard Out
// 0xa1  Keyboard Oper
// 0xa2  Keyboard Clear/Again
// 0xa3  Keyboard CrSel/Props
// 0xa4  Keyboard ExSel

// 0xb0  Keypad 00
// 0xb1  Keypad 000
// 0xb2  Thousands Separator
// 0xb3  Decimal Separator
// 0xb4  Currency Unit
// 0xb5  Currency Sub-unit
#define KEY_KPLEFTPAREN 0xb6 // Keypad (
#define KEY_KPRIGHTPAREN 0xb7 // Keypad )
// 0xb8  Keypad {
// 0xb9  Keypad }
// 0xba  Keypad Tab
// 0xbb  Keypad Backspace
// 0xbc  Keypad A
// 0xbd  Keypad B
// 0xbe  Keypad C
// 0xbf  Keypad D
// 0xc0  Keypad E
// 0xc1  Keypad F
// 0xc2  Keypad XOR
// 0xc3  Keypad ^
// 0xc4  Keypad %
// 0xc5  Keypad <
// 0xc6  Keypad >
// 0xc7  Keypad &
// 0xc8  Keypad &&
// 0xc9  Keypad |
// 0xca  Keypad ||
// 0xcb  Keypad :
// 0xcc  Keypad #
// 0xcd  Keypad Space
// 0xce  Keypad @
// 0xcf  Keypad !
// 0xd0  Keypad Memory Store
// 0xd1  Keypad Memory Recall
// 0xd2  Keypad Memory Clear
// 0xd3  Keypad Memory Add
// 0xd4  Keypad Memory Subtract
// 0xd5  Keypad Memory Multiply
// 0xd6  Keypad Memory Divide
// 0xd7  Keypad +/-
// 0xd8  Keypad Clear
// 0xd9  Keypad Clear Entry
// 0xda  Keypad Binary
// 0xdb  Keypad Octal
// 0xdc  Keypad Decimal
// 0xdd  Keypad Hexadecimal

#define KEY_LEFTCTRL 0xe0 // Keyboard Left Control
#define KEY_LEFTSHIFT 0xe1 // Keyboard Left Shift
#define KEY_LEFTALT 0xe2 // Keyboard Left Alt
#define KEY_LEFTMETA 0xe3 // Keyboard Left GUI
#define KEY_RIGHTCTRL 0xe4 // Keyboard Right Control
#define KEY_RIGHTSHIFT 0xe5 // Keyboard Right Shift
#define KEY_RIGHTALT 0xe6 // Keyboard Right Alt
#define KEY_RIGHTMETA 0xe7 // Keyboard Right GUI

#define KEY_MEDIA_PLAYPAUSE 0xe8
#define KEY_MEDIA_STOPCD 0xe9
#define KEY_MEDIA_PREVIOUSSONG 0xea
#define KEY_MEDIA_NEXTSONG 0xeb
#define KEY_MEDIA_EJECTCD 0xec
#define KEY_MEDIA_VOLUMEUP 0xed
#define KEY_MEDIA_VOLUMEDOWN 0xee
#define KEY_MEDIA_MUTE 0xef
#define KEY_MEDIA_WWW 0xf0
#define KEY_MEDIA_BACK 0xf1
#define KEY_MEDIA_FORWARD 0xf2
#define KEY_MEDIA_STOP 0xf3
#define KEY_MEDIA_FIND 0xf4
#define KEY_MEDIA_SCROLLUP 0xf5
#define KEY_MEDIA_SCROLLDOWN 0xf6
#define KEY_MEDIA_EDIT 0xf7
#define KEY_MEDIA_SLEEP 0xf8
#define KEY_MEDIA_COFFEE 0xf9
#define KEY_MEDIA_REFRESH 0xfa
#define KEY_MEDIA_CALC 0xfb

#endif // USB_HID_KEYS
Just look at the very last ones for a chuckle! Can’t say I’ve a use for many of those, either. They’re either key combos I know by heart, or they’re purposefully useless. But they are all at your disposal when programming a keyboard.

User avatar
depletedvespene

03 Oct 2018, 18:17

Never mind 0xf9... it doesn't cease to amaze me that there's full support for a hexapad and a calculator (and more) on the keypad. And they laughed at me for wanting to expand the numpad to a 7×4 cluster!

Hey, Kono Store, want to do something QUITE MORE memorable than yet another run-of-the-mill TKL? :mrgreen:

Kono Store

03 Oct 2018, 22:39

We're likely going to use Print Screen, Vol -, and Vol +. Those seem to be the most-demanded options from each forum.

They're also the best options in terms of cross-OS compatibility based on what Jacob / HaaTa had to say.

As for the the QUITE MORE memorable option, perhaps someday! Whip up a concept and send it to support@kono.store.

User avatar
Laser
emacs -nw

03 Oct 2018, 22:47

Muirium wrote: Just look at the very last ones for a chuckle! Can’t say I’ve a use for many of those, either. They’re either key combos I know by heart, or they’re purposefully useless. But they are all at your disposal when programming a keyboard.
The "coffee" key is an interesting one :) From what I've searched (it's new to me ...), it's supposed to activate the screensaver (have a break, have a coffee, leave the computer). Now I have make my QMK keyboards generate this code :P who knows, in the future, they could even make coffee for me! :mrgreen:

Post Reply

Return to “Keyboards”