It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
avatar
clarry: I don't buy the argument about mechanical keyboards having lower response time. Electrically, there is no need for it to be so. It all boils down to how the controller is programmed. Likewise, there's no reason why a rubber dome key should not last as long as or longer than a mechanical switch. It's a very solid construct, well protected with not much moving parts, and in my experience suffers less from oxidation (which can be an issue with mechanical switches). I have never had a rubber dome keyboard break due to age or excess use, but I have mechanical cherry mx switches that are having contact issues, especially if left unused for some time.

The main difference between a mechanical and rubber dome keyboard is that a rubber dome makes contact -- and signals a key press -- only when you "bottom out." It's not very comfortable for fingers to bottom out, but you might not notice if you're used to it. Mechanical keyswitches generally conduct at a point partway into its travel, and switch design can incorporate a tactile bump at the activation point. You'll also find very linear and very clicky switches.

Why would you not want one? Pretty much price is the only reason I can imagine. Many switches are loud, but I hear there are quieter switches around, and people also mod them with O rings that are supposed to dampen the clackity clack.

Also, choosing the best switch for you might be easier said than done. And IMO not all switches are good. So you might spend more money on swapping switches.

EDIT: attached photo of my current keyboard. It's got kailh box white switches, and it's loud. 200 usd + tax & customs. One day I will build my own keyboard.
My keyboard from circa 2003 does look sort of like that. The main differences are:
* My keyboard is full size with a standard layout, including a numeric keypad.
* The keyboard isn't lit; the only lights are for num/caps/scroll .
* There are multimedia keys (which I never use) at the top of the keyboard.
* (Probably) My keyboard uses a PS/2 connection (it does speak USB, but I'm not sure where the passive adaptor is, and it is actually connected via PS/2 (Yes, my motherboard supports it, which surprised me when I got it).

By pressing the key slowly, I determine that bottoming-out is not necessary; a keystroke is made right before the key reaches its bottom position.

So, how is a mechanical keyboard different from the keyboard I already has? Or is my current keyboard basicallt a mechanical keyboard? (It's certainly different from either my laptop's keyboard or the official Raspberry Pi keyboard, which is more like a laptop keyboard.)
"Mechanical keyboard" is too ambiguous of a term. All keyboards are mechanical, unless you're talking about a virtual keyboard on the screen or touch panel. Among physical keyboards there are different mechanisms though, and the buckling-spring type are well known for being noisier as other posters have mentioned. The other thing that sets them apart is the sharp change in resistance at different points in the key's travel.
I used to think that mechanical keyboards are not worth it, until I got one myself. Now I think they are a major improvement over the membrane and dome-switch keyboards, even over the scissor-switch ones, which are somewhere between them. For gaming, the linear switches are recommended.
avatar
dtgreene: By pressing the key slowly, I determine that bottoming-out is not necessary; a keystroke is made right before the key reaches its bottom position.

So, how is a mechanical keyboard different from the keyboard I already has? Or is my current keyboard basicallt a mechanical keyboard?
You could take it apart and look & see what kind of mechanism it uses. Maybe it is mechanical, maybe it isn't, but usually the activation point in mechanical switches isn't "right before bottoming out", it's much higher up. If it isn't a mechanical, the best way to understand the difference is to try a mechanical keyboard. Or just buy a switch tester and a dozen different switches: https://yushakobo.jp/shop/a0200st-18/

Obviously the switch tester only tells what the siwtches feel like, not how they activate or what the are like to actually type on.
avatar
duallaser: "Mechanical keyboard" is too ambiguous of a term.
I agree it's a silly term, but it has a reasonably well established meaning by this point.
Post edited January 24, 2020 by clarry
Anyone gaming on clicky mechanical keyboards should be banned.

One of the worst decisions you can make. If you are going mechanical for gaming, get linear or at least a non-clicky one.

The main reason for a mechanical keyboard is that it doesn't have a limit of keys that you can press simultaneously (known as N-key rollover) and to eliminate ghosting (a combination of certain key presses can behave as a completely different key being pressed). Cheap rubber domes allow 3-4 presses at best and other presses simply don't register due to the matrix conduit layout on the underlying board.
Post edited January 24, 2020 by idbeholdME
There are mechanical keyboards without NKRO and rubber domes with NKRO.. but usually cheap keyboards aren't NKRO because you need a diode for each key.

I don't see an issue with gaming on clicky switches. And I'm not a fan of linear switches myself.
avatar
clarry: rubber domes with NKRO.. but usually cheap keyboards aren't NKRO because you need a diode for each key.

I don't see an issue with gaming on clicky switches. And I'm not a fan of linear switches myself.
There are but they are very few and far between and the usual ones you see everywhere are not. And if you are going to invest into a better keyboard, you might as well get a mechanical. The key for NKRO is using the PS/2 connector. USB is simply incapable of that.

And If you are OK with the clicking (most likely by using headphones) and live alone, then by all means. But I feel deeply sorry for anyone that has to share a room with someone using clicky keys. Tactile by all means, but the clicking is absolutely distracting from the game.
Post edited January 24, 2020 by idbeholdME
avatar
idbeholdME: There are but they are very few and far between and the usual ones you see everywhere are not. And if you are going to invest into a better keyboard, you might as well get a mechanical. The key for NKRO is using the PS/2 connector. USB is simply incapable of that.
Not true at all, I have USB keyboard with NKRO. They are common.
avatar
clarry: Not true at all, I have USB keyboard with NKRO. They are common.
Then they are using some proprietary communication protocol instead of the usual USB.

EDIT:
So there apparently is a full-speed USB HID mode which can allow NKRO, meaning keyboards which are made to utilize it can do NKRO over USB. But it isn't used often and usually results in the keyboard not showing up in POST and not working in BIOS. So it is possible but unless the manufacturer tampers with this, the usual 6 key rollover limitation from the USB stands.

https://en.wikipedia.org/wiki/USB_human_interface_device_class#Keyboards
Post edited January 24, 2020 by idbeholdME
avatar
clarry: Not true at all, I have USB keyboard with NKRO. They are common.
avatar
idbeholdME: Then they are using some proprietary communication protocol instead of the usual USB.
Yes, they are sticking all the keys into a bitfield instead of stuffing modifiers in a bitfield folllowed by a short array of keycodes. It's a de-facto standard and modern operating systems support this out of the box. (For example, OpenBSD got support 7 years ago: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/usb/Attic/hidkbd.c.diff?r1=1.5&r2=1.6)

Here's the source code for the report descriptor used by my keyboard: https://github.com/qmk/qmk_firmware/blob/master/tmk_core/protocol/usb_descriptor.c#L192
Post edited January 24, 2020 by clarry
avatar
clarry: Yes, they are sticking all the keys into a bitfield instead of stuffing modifiers in a bitfield folllowed by a short array of keycodes. It's a de-facto standard and modern operating systems support this out of the box. (For example, OpenBSD got support 7 years ago: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/usb/Attic/hidkbd.c.diff?r1=1.5&r2=1.6)

Here's the source code for the report descriptor used by my keyboard: https://github.com/qmk/qmk_firmware/blob/master/tmk_core/protocol/usb_descriptor.c#L192
Yeah, did some research and there is a HID mode for USB which allows that. (EDIT above)

But still, most cheap keyboards remain firmly locked in the boot mode HID and the 6 key rollover limitaion.
avatar
idbeholdME: EDIT:
So there apparently is a full-speed USB HID mode which can allow NKRO, meaning keyboards which are made to utilize it can do NKRO over USB. But it isn't used often and usually results in the keyboard not showing up in POST and not working in BIOS. So it is possible but unless the manufacturer tampers with this, the usual 6 key rollover limitation from the USB stands.
A system that follows the USB HID spec (1.11, released in 2001) should request the keyboard to enter boot mode when needed, in which case the keyboard falls back to the boot protocol with 6 key limit. In normal operation, the keyboard is free to use whatever descriptor it likes. Thus, with any modern, properly implemented BIOS an NKRO keyboard will work. For compatibility many USB NKRO keyboards also include a key sequence (or some other mechanism) that you can use during power on to force it into boot mode and disable NKRO, in case you ever have to deal with a broken/legacy BIOS.

The boot mode was only ever intended to support BIOS which might not want to support parsing full USB descriptors. So I believe even the earlier standards also specify this mechanism, but I'm not going to spelunk that far.

Appendix F from HID spec:

The boot and legacy protocols for keyboards in USB allow a system which is not USB-aware (such as PC BIOS or IEEE 1275 boot firmware) to support a USB HID class keyboard without fully supporting all required elements of USB. The Boot/Legacy Protocol does not limit keyboards to this behavior. Instead, it is anticipated that keyboards will support full HID-compatible item-based protocols , as well as boot and legacy protocols.

F.1 Purpose This specification provides information to guide keyboard designers in making a USB Boot/Legacy keyboard. It provides information for developers of the system ROM so that they can use such a keyboard without fully parsing the HIDReport descriptor. The motivation is that while the full HID class capability is enormously rich and complex, it is not feasible to implement the required HIDclass adjustable device driver in ROM. But, operator input may still be required for either boot or legacy support.
Post edited January 24, 2020 by clarry
I have a few more questions:
1. Consider an Intel i5-4670 (the CPU I currently have in my desktop) with integrated graphics, and suppose I have a task that is GPGPU friendly, and have coded it in OpenCL. Will there be any performance improvement for running it on the integrated GPU instead of on the CPU?
2. Consider case 1, only the system's cooling is broken, and the CPU will throttle down to 200-300 MHz, and let's assume the GPU also throttles. (I have verified that my CPU actually does throttle that far on reaching 100 C.) In this case, is it better to run the OpenCL code on the CPU or the GPU?
3. Does there exist any x86 desktop-class hardware that has a device side USB port? (A device side USB port is the type you'd ordinarily find in a device like a keyboard, mouse, flash drive, or printer; this is different from the host side ports normally found on computers.)
avatar
clarry: A system that follows the USB HID spec (1.11, released in 2001) should request the keyboard to enter boot mode when needed, in which case the keyboard falls back to the boot protocol with 6 key limit. In normal operation, the keyboard is free to use whatever descriptor it likes. Thus, with any modern, properly implemented BIOS an NKRO keyboard will work. For compatibility many USB NKRO keyboards also include a key sequence (or some other mechanism) that you can use during power on to force it into boot mode and disable NKRO, in case you ever have to deal with a broken/legacy BIOS.

The boot mode was only ever intended to support BIOS which might not want to support parsing full USB descriptors. So I believe even the earlier standards also specify this mechanism, but I'm not going to spelunk that far.
OK. This leaves me wondering though, why the keyboard I have only supports NKRO over PS/2 and not over USB.
avatar
idbeholdME: The key for NKRO is using the PS/2 connector. USB is simply incapable of that.
Do they still make keyboards and motherboards with PS/2 connectors?

(I was actually surprised that my current computer's motherboard had a PS/2 connection, but since it does, I am definitely using it.)