Question: fully programmable?

User avatar
Eszett

24 Mar 2014, 10:06

Hi! I’ve got a newbie question. What can I expect when I read about “fully programmable”, e. g. with a Ducky. Does it mean I can remap everything to everything? Where are the limitations? Is it possible for example to reprogram the combination [RWin] & [Shift] & [e] to invoke “ę”? Can I truly deactivate keys, as the win key? As you know I can’t deactivate the win key with AutoHotkey properly, since [Win] & [l] still invokes the login screen. AutoHotkey simply can’t get into lowlevel remapping. Does reprogramming can?

User avatar
Halvar

24 Mar 2014, 10:43

I can't tell you what the ducky software can do, maybe someone else can.

There's a fundamental limitation in what you can do in the keyboard though. Basically, whatever you do on the board, to the PC a keyboard will always look like a keyboard. What I mean by that is:
  • you can make a key look like another key or deactivate a key (such as the Windows or Caps Lock key -- that should not be a problem at all).
  • you can make a keypress look like a sequence of keypresses
  • you can make a sequence of keypresses look like a single keypress
  • you can make a key or a sequence of keypresses look like a key that isn't present on you keybord, like e.g. media keys.
What you can't do in the keyboard is e.g. add a character that is not present in the national layout set in your OS. If you have "US ANSI" set as you keyboard mapping in the OS, there'll be no way to program the keyboard to create characters like ęàeâöäüß. For that you need to add them to the layout on the OS side.

As I said, ymmv with Ducky's firmware. Maybe some companies also give you a software component that allows you to set the mapping on the OS side, but this will only work for their supported OSes (i.e. probably Windows).
Last edited by Halvar on 24 Mar 2014, 11:19, edited 1 time in total.

User avatar
Muirium
µ

24 Mar 2014, 11:07

Which Ducky? The only one I've heard mention of being programmable was the Ducky Mini: a modified Poker II. Certainly the Shine 3 that I have is 0% programmable. (Only its LED patterns are customisable.)

The way I'd suggest getting the real programmable keyboard that you want is via a Teensy running Soarer's Converter or Hasu's firmware. Either converting a PS/2 keyboard or using a custom controller daughterboard on a Filco or the like.

User avatar
Eszett

25 Mar 2014, 04:07

Muirium, probably I’ve read this about the Ducky Mini, yes. I’m pondering modding my Filco (Majestouch TLK) with a Teensy. But on the other hand, I fear the KB will get buggy afterwards :-(

User avatar
Kurk

25 Mar 2014, 07:47

Modding a Teensy into a Filco can be difficult. Why not go for one of bpiphany's custom controllers (for Filco TKL: HID Liberation Device (old) or a Pegasus Hoof(new))?
Although it's an older thread, he might still have some spares:
http://deskthority.net/marketplace-f11/ ... t6193.html

User avatar
Muirium
µ

25 Mar 2014, 09:51

Bpiphany's replacement controllers are indeed what I was on about. They plug right on in. One of the good things about a Filco, or indeed the other keyboards he supports. (None of which I have… aw!)

davkol

25 Mar 2014, 17:35

There's a way to send Unicode, but I've never really tried it, and it's platform-dependent anyway.

User avatar
Muirium
µ

25 Mar 2014, 19:08

The USB HID spec really needs updated for this sort of thing. Unicode is the language of the world!

(And if it has been already, manufacturers, the OS makers, and us lot need to adopt it.)

User avatar
ne0phyte
Toast.

25 Mar 2014, 19:14

Muirium wrote:The USB HID spec really needs updated for this sort of thing. Unicode is the language of the world!

(And if it has been already, manufacturers, the OS makers, and us lot need to adopt it.)
But only as an addition/optional mode.
The way it is makes it possible to have the mapping 100% software-side and it would be much better if there was a way for the keyboard to supply the keymap used by the operating system than to send unicode symbols directly.

davkol

25 Mar 2014, 20:26

All Unicode implementations aren't created equal. Yes, Microsoft, I'm talking about you.

jacobolus

25 Mar 2014, 20:36

I’ve had good success sending Alt + numpad numbers to input Unicode symbols on Windows. I set my father up with a keyboard which, even when set to a US layout from the computer side, is still easy to type Spanish accents with, using the ` key as a combined modifier/character with hasu’s tmk_keyboard firmware. [On Apple’s M0116 keyboard, the ` key is in a great spot to be a modifier.]

User avatar
Muirium
µ

25 Mar 2014, 20:51

This one? So it is!

Image

Those Alt codes are just a horrendous idea, like Windows is still in the 70s or something. Absolutely the kind of task macros were made for!

User avatar
Halvar

25 Mar 2014, 21:10

@jacobulus: Thanks, it's a good idea to use the Alt codes for keyboard programming (as long as you're using Windows).

I don't see how Alt codes are a "horrendous idea". They're as old as MS-DOS and an additional way to enter any character that the national keyboard layout doesn't support. Has helped me a few times.

I didn't know yet that Unicode was also possible, I always thought only OEM and Windows-1252 (Latin-1) would work.

http://www.irongeek.com/alt-numpad-asci ... chart.html

User avatar
Muirium
µ

25 Mar 2014, 22:09

Well, I'm coming from an ISO-UK perspective. Our layout here has next to nothing on Alt Gr at all. (Indeed I really wonder why we don't just use ANSI-US with a £ sign.) So when I was learning German (poorly) at high school, I fooled around on Windows to see how to type in umlauts and such. Alt+ inscrutable numbers was the only way. An old classmate of mine from back then still likes to use Héävy Mêtål style diacriticals and has the codes memorised for gaming purposes. It seems horrendously archaic!

Meanwhile there's always been diacritical dead keys on the Mac, and Apple recently added this when you hold down a letter:
Screen Shot 2014-03-25 at 09.08.23 pm.png
Screen Shot 2014-03-25 at 09.08.23 pm.png (21.2 KiB) Viewed 7564 times
(Retina screenshots are loud!)

jacobolus

28 May 2014, 01:10

Muirium wrote:Meanwhile there's always been diacritical dead keys on the Mac, and Apple recently added this when you hold down a letter:
Screen Shot 2014-03-25 at 09.08.23 pm.png
The standard key layout on a Mac is great, but this 'hold the letter down and get a little popup' thing is IMO a shitty solution, which makes sense on iOS touchscreen keyboards but is quite terrible for a traditional computer OS / input devices:
  • It requires the use of number keys to disambiguate items, which take some finger reaching and are typically less accurate for people than letter keys;
  • It requires a substantial slowdown to type one of these characters, because as far as I can tell the delay is mandatory;
  • It changed the behavior of held down letter -> repeat the letter which has been standard for decades, so that now letter keys don’t do repeat, but random symbols do, a behavior I find annoyingly inconsistent (personally I’d rather have some better mechanism for key repeat than holding down a key, but the behavior should at least be consistent;
  • There’s no way to learn the proper shortcut for a symbol from the little popup, so it doesn’t encourage any kind of mastery of the system... it’s a tool designed only for shallow/beginner use cases;
  • It’s not an open mechanism that can be extended by end-users... there are a built-in set of little shortcuts predefined by the OS vendor, so if I have my own symbol I want to add, I’m out of luck.

User avatar
Muirium
µ

28 May 2014, 03:18

All true. I learned the dead keys in my first ten years on OS X before these new shortcuts were introduced, so I seldom use those. They still have it all over Alt+XXXX codes, though…

I anticipated being annoyed by the absence of auto repeat, now that holding down keys means something else. But as the only keys I ever hold down in anger are the arrow keys and backspace, it's been a non issue; those still behave as they always did. Something about holding down a to type aardvark never did catch on with me. I think it's the doubt that I'd get two a's instead of three or more. It's easier to just type!

Findecanor

28 May 2014, 14:25

Code: Select all

/********************************************
 *  Auto-repeat is quite useful             *
 *  when writing box comments in C code     *
 *******************************************/

User avatar
webwit
Wild Duck

28 May 2014, 14:51

Reminds me of the Fingerworks Touchstream cursor keys. This is a swipe movement, if I remember correctly two fingers on the board and directional movement, or something similar. Now the nice thing is, if you swipe faster, the cursor moves faster. It was really useful. I'd love to see the mechanical equivalent, i.e. you press down a key, it uses standard auto-repeat, and when you press harder, it increases speed. Unfortunately key switches don't work that way.

User avatar
7bit

28 May 2014, 15:06

Should be doable with a switch mounted on top of a switch.
:mrgreen:

No auto-repeat? Just add a REPEAT key!
:cool:

Don't waste your time! Order your REPEAT key today:
REPEAT-key order site
:evilgeek:

User avatar
Icarium

28 May 2014, 15:11

webwit wrote:Reminds me of the Fingerworks Touchstream cursor keys. This is a swipe movement, if I remember correctly two fingers on the board and directional movement, or something similar. Now the nice thing is, if you swipe faster, the cursor moves faster. It was really useful. I'd love to see the mechanical equivalent, i.e. you press down a key, it uses standard auto-repeat, and when you press harder, it increases speed. Unfortunately key switches don't work that way.
I rememeber somebody cutting off the bottom of cherry mx switches and putting little microswitches there giving them a second actuation point when bottoming out. :)

User avatar
Muirium
µ

28 May 2014, 16:15

That's one hell of a mod. Especially if they actually got it back in a keyboard…

davkol

28 May 2014, 16:35

Or the IR sensor design that's being crowd-funded...

User avatar
Icarium

28 May 2014, 16:52

davkol wrote:Or the IR sensor design that's being crowd-funded...
Link?! :)
Muirium wrote:That's one hell of a mod. Especially if they actually got it back in a keyboard…
It was a completely custom board for creating electronic music iirc.

EDIT: It was quite a bit of trouble but for you I found it: http://www.youtube.com/watch?v=KfjEYu79J-4#t=67

davkol

28 May 2014, 17:40


User avatar
Muirium
µ

28 May 2014, 17:47

Icarium wrote:
Muirium wrote:That's one hell of a mod. Especially if they actually got it back in a keyboard…
It was a completely custom board for creating electronic music iirc.

EDIT: It was quite a bit of trouble but for you I found it: http://www.youtube.com/watch?v=KfjEYu79J-4#t=67
Nice hack! I can see it being more useful for keyboard logic, like Webwit said, than piano input: as bottoming out is necessary to trigger any note, while velocity sensitive music keyboards measure their lower input at the travel midpoint or thereabouts. I think.

User avatar
lowpoly

28 May 2014, 18:11

Shouldn't that also be possible with a decent capacitive design?

User avatar
Muirium
µ

28 May 2014, 18:55

Should be. I'm not sure how musical keyboards actually work, perhaps some of them use cap sense or Hall effect too. The challenge is they have to track multiple keys in motion simultaneously, and get their velocities right. Midi has 128 levels.

User avatar
Grendel

28 May 2014, 21:22

Muirium wrote:Meanwhile there's always been diacritical dead keys on the Mac, and Apple recently added this when you hold down a letter:
Screen Shot 2014-03-25 at 09.08.23 pm.png
(Retina screenshots are loud!)
Solution here 8-)

User avatar
Muirium
µ

28 May 2014, 21:33

But I donnnnnnnnnnnnnn't want thaaaaaat!

@Fin: aren't there macros for that sort of thing in your text editor? Been a while since I coded, but I recall being able to wrap a selection with those, corners and all. Probably BBEdit.

jacobolus

28 May 2014, 21:40

Personally I plan to add a trackball or scroll wheel to my keyboard, and use it for repeating keys. Type the key and then spin the scroll wheel for repeat; or spin the wheel the other way for undo (or maybe backspace).

As for fancy block comments, I can do that with the "insert comment banner" snippet in TextMate, or make my own snippet that looks like whatever I want. Manually typing out a bunch of asterisks in a common pattern over and over sounds terrible, key repeat or no key repeat.

Post Reply

Return to “Keyboards”