Author Topic: The SpaceFN layout: trying to end keyboard inflation  (Read 78079 times)

0 Members and 2 Guests are viewing this topic.

Offline wuqe

  • Posts: 105
  • Location: WA, USA
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #150 on: Tue, 07 October 2014, 13:27:49 »
may bad queston
this is effective in ergdox/split keyboard?

Yes, but I prefer to still gave space its own key. I have a Fn key right next to the space, though, so it acts a lot like SpaceFn but doesn't get confused when I'm typing. From left to right, my four 2x buttons are: backspace, shift, Fn, space. Works great!

Offline spiceBar

  • Thread Starter
  • Posts: 979
    • ChessTiger.com
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #151 on: Mon, 27 October 2014, 18:19:12 »

I don't think the keymap_spacefn.c file would be the problem. This file essentially defines two data arrays that are used by the firmware to associate received scancodes to scancodes that must be output. If the TMK software, as modified to drive the USB-USB converter, is still basically the same at its core, the keymap_spacefn.c file should work as it is.

Do you know a little bit about the Leonardo Arduino and the USB host? Does the host simply piggyback on the main board? Does it have to be soldered? What is the width of the assembly? I'm trying to find out if we could easily fit this stuff inside a keyboard case, assuming we can get it to work.

I don't know anything about the Leonardo Arduino and USB host on a technical level. I did buy both on eBay, before looking closely at the TMK firmware, and with shipping to US included and a microUSB->USB cable they go for $22. There is no soldering required, you basically plug them together, which took me a minute because I was really cautious but it could be done in five seconds. It is way too big to fit in a keyboard case, at least of any keyboard that I've ever seen. It is 1.125"x2.125"x2.75". I see it sitting on my desk behind my computer in a small box (when I run into a product with the right dimensions). So no good for a portable setup, but perfectly fine for testing out SpaceFN or a desktop setup. You plug your USB keyboard into the USB host and you plug the microUSB->USB cable that came with the Leonardo into your computer. I think we could have TMK firmware precompiled with SpaceFN so placing that firmware on the Leonardo could be a few more minutes.

The USB->USB TMK firmware is limited to HID mode and from what I gather would require quite some work to overcome this. Unfortunately I don't really know what exactly the limitations of HID mode are. I gather it prevents using keys as a mouse but I'm not sure if it also means media keys don't work or what else. If it's only mouse and media keys that don't work, I think this is fine, since I see this really as being an easy and affordable way for people to see if they like SpaceFN with a good implementation of the software. If they decide they like it then they go put in the extra money and time to come up with a better solution.

As for the TMK software, I have compiled the USB->USB converter and installed it on the Leonardo, and it appeared to work fine in the few minutes I used it. The problem, from what I can tell, is that the USB->USB TMK software was written before the spacefn keymaps were created and perhaps before some refactoring of the tmk source code, so I think it needs a slight update in order for the keymap_spacefn.c to be used. Unfortunately I don't know C so I haven't been able to do this update. I'm hoping by talking about it someone else will :)

edit: it's microUSB not miniUSB.

I have received all the required hardware (the Leonardo and the USB host card) a few days ago, and managed to compile and install the default TMK firmware.

I works. I have a keyboard attached to the USB card on one side, and the Leonardo attached to a PC. The keys are translated as expected, but I'm using the default layout provided with the firmware. It's not SpaceFN yet.

It's true that the hardware requires absolutely no knowledge of electronics. There are two cards that you need to plug into each other carefully, and you are done.

80944-0
    The Leonardo Arduino (bottom) and the USB host shield rev. 2.0.1 (top).
    The PC connects to the micro USB port on the bottom card.
    The keyboard connects to the standard USB port on the top.
    The big black power connector is not used.

Now I need to find some time to adapt the SpaceFN layout for this USB to USB converter. I hope to do better than that and add a few features to SpaceFN.

For example I want to add a "browser mode", that would allow you to navigate without having to hold space. It would be very comfortable when you are just reading pages in your internet browser, or in a PDF reader for example.


« Last Edit: Mon, 27 October 2014, 18:23:50 by spiceBar »

Offline pharaoh

  • Posts: 40
  • Location: Nj
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #152 on: Tue, 28 October 2014, 13:43:30 »
Quote
Good ideas never die!
  http://www.keyboardco.com/keyboard/matias-half-keyboard-single-handed-keyboard.asp
  http://www.keyboardco.com/keyboard/matias-half-qwerty-508-keyboard.asp

All credit goes to Matias, who actually pointed out earlier to me that he had worked on the idea of space as a dual-role modifier a long time ago.


gosh that half keyboard is expensive  :-[  It'd be really fun to try out.


On topic of the SpaceFN, I love it and It'd be neat to have a custom spacebar/fn key
hhkb type-s| jd40 | jd45 | keycool87

Offline wuqe

  • Posts: 105
  • Location: WA, USA
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #153 on: Wed, 29 October 2014, 12:51:28 »
...For example I want to add a "browser mode", that would allow you to navigate without having to hold space. It would be very comfortable when you are just reading pages in your internet browser, or in a PDF reader for example.

I have something like this in my TMK-powered Ergodox, using the "tap toggle" thing that's already built in. If I tap my Fn key twice, it holds on that layer until I double tap again. (By default, you have to tap five times, which is more foolproof but tough for daily usage.)

Offline Leimi

  • Posts: 21
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #154 on: Sat, 01 November 2014, 15:04:10 »

I have received all the required hardware (the Leonardo and the USB host card) a few days ago, and managed to compile and install the default TMK firmware.

I works. I have a keyboard attached to the USB card on one side, and the Leonardo attached to a PC. The keys are translated as expected, but I'm using the default layout provided with the firmware. It's not SpaceFN yet.

It's true that the hardware requires absolutely no knowledge of electronics. There are two cards that you need to plug into each other carefully, and you are done.

(Attachment Link)
    The Leonardo Arduino (bottom) and the USB host shield rev. 2.0.1 (top).
    The PC connects to the micro USB port on the bottom card.
    The keyboard connects to the standard USB port on the top.
    The big black power connector is not used.

Now I need to find some time to adapt the SpaceFN layout for this USB to USB converter. I hope to do better than that and add a few features to SpaceFN.

For example I want to add a "browser mode", that would allow you to navigate without having to hold space. It would be very comfortable when you are just reading pages in your internet browser, or in a PDF reader for example.

This is great news :)

Offline user888

  • Posts: 42
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #155 on: Wed, 19 November 2014, 13:37:24 »
I've started experimenting with space-fn on my mac using Karabiner (previousle Keymap for macbook).

I've modified it slightly:
  • I use capslock for backspace, and have now mapped Fn+Backspace to Delete
  • I mapped Fn+Z/X/V to copy/cut/paste (very convenient for shift+cursor copy/paste actions)
  • Mapped Fn+U/O to begin line/end line instead of mac's irritating begin/end document :)

I'm using it on a tenkyless 87% keyboard to see if I can live without cursor keys.
If anyone is interested in the private.xml please let me know and I'll post it here.

Offline spiceBar

  • Thread Starter
  • Posts: 979
    • ChessTiger.com
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #156 on: Wed, 19 November 2014, 19:13:10 »
I've started experimenting with space-fn on my mac using Karabiner (previousle Keymap for macbook).

I've modified it slightly:
  • I use capslock for backspace, and have now mapped Fn+Backspace to Delete
  • I mapped Fn+Z/X/V to copy/cut/paste (very convenient for shift+cursor copy/paste actions)
  • Mapped Fn+U/O to begin line/end line instead of mac's irritating begin/end document :)

I'm using it on a tenkyless 87% keyboard to see if I can live without cursor keys.
If anyone is interested in the private.xml please let me know and I'll post it here.

Did you start from the private.xml I have posted?

Offline awkorama

  • Posts: 1
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #157 on: Wed, 19 November 2014, 23:57:37 »
This is exciting. I wanna get myself first mechanical keyboard this christmas and I want it to be a 60%. I was thinking about the layout for too long but now it doesn't even matter, the space key is gonna solve it all. Looking forward to final implementation of USB to USB converter to make this possible.

Offline hasu

  • Posts: 2533
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #158 on: Wed, 10 December 2014, 13:01:57 »
I updated TMK USB-USB converter and it supports USB Hub now, so that I can use HHKB pro2 with the converter.
And added SpaceFn keymap, try it.

https://github.com/tmk/tmk_keyboard/commit/a0d6bb1818b90f341b2a5daaea3652fe19cd4184




I have received all the required hardware (the Leonardo and the USB host card) a few days ago, and managed to compile and install the default TMK firmware.

I works. I have a keyboard attached to the USB card on one side, and the Leonardo attached to a PC. The keys are translated as expected, but I'm using the default layout provided with the firmware. It's not SpaceFN yet.

It's true that the hardware requires absolutely no knowledge of electronics. There are two cards that you need to plug into each other carefully, and you are done.

(Attachment Link)
    The Leonardo Arduino (bottom) and the USB host shield rev. 2.0.1 (top).
    The PC connects to the micro USB port on the bottom card.
    The keyboard connects to the standard USB port on the top.
    The big black power connector is not used.

Now I need to find some time to adapt the SpaceFN layout for this USB to USB converter. I hope to do better than that and add a few features to SpaceFN.

For example I want to add a "browser mode", that would allow you to navigate without having to hold space. It would be very comfortable when you are just reading pages in your internet browser, or in a PDF reader for example.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline intelli78

  • Posts: 1498
  • Location: Seattle
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #159 on: Wed, 10 December 2014, 13:33:35 »
I just read about SpaceFN and I like the idea. But like others, I'm having problems with skipped spacebar presses when touch typing. You say that the TMK firmware solves this problem, and I see that hasu has just updated it.

What hardware does one need to use the TMK firmware with an arbitrary keyboard?
Daily Driver: HHKB

Offline hasu

  • Posts: 2533
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #160 on: Wed, 10 December 2014, 22:13:20 »
Buying Arduino Leonardo and USB Host Shield 2.0(from Circuit@home) will be the easiest way, you won't need even soldering iron.
Arduino's Shield will also work well but I think Sparkfun's needs to be modified.

https://www.sparkfun.com/products/11286
https://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-2-0-for-arduino-assembled/
http://arduino.cc/en/Main/ArduinoUSBHostShield
https://www.sparkfun.com/products/9947


Also Pro Micro 3.3V(not Mini) or Teensy with mini host shield will work with some fixes on signal/power routing.
https://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-for-arduino-pro-mini
https://www.sparkfun.com/products/12587
https://www.pjrc.com/teensy/td_libs_USBHostShield.html


Note that the converter can host only USB "boot protocol" keyboard(6KRO) and not NKRO, it is possible to support NKRO keyboard but you will need to write HID report parser for that. Every NKRO keyboard can have different HID report and it is difficult to support all kind of NKRO keyboards in the market.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline SeeThruHead

  • Posts: 87
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #161 on: Sun, 04 January 2015, 13:28:17 »
SpaceFN is really intresting to me, though the spacebar delay is not as much. I was trying to think of a way to get around that and this is what I've come up with.



It would be a custom 60% pcb with tmk compatible firmware (for hardware dual role keys like control/esc and shiftL/( or shiftR/)  )
Only difference would be two switches under the spacebar. Ideally you could just buy a standard keycap set, and get an extra spacebar, which you would then cut in half, and it would just work. Though I'm not sure how to achieve that without modding the spacebar a bit. What I don't think is acceptable is using 2 3u keys upside down. (Ideally would want to maintain the normal keyset aesthetic as close as possible)

Thoughts?
    

 Painted QFR          Poker 2

Offline Nai_Calus

  • * Destiny Supporter
  • Posts: 575
  • Location: Middle of nowhere, CA
  • CLACK
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #162 on: Sun, 04 January 2015, 17:40:22 »
Huh. Looks neat. I like the original idea, and the split spacebar idea. Put everything together instead of having to move your hands everywhere, except on a more normal keyboard.

...But now I'm starting to wonder if I'm the only person in the world who hits the spacebar with my left thumb. >_>; Looking at these layouts where FN is left, or all the key combos would be two handed, makes me feel like I must be some kind of freak. *eyes shiny spot below V and B* :-[

I guess you'd just have to program that to have those swapped if you're a freak like me. XD
- IBM 4704 Model F 107-key "Bertha"
Other boards: Kinesis Essential, Infinity(G.Clears), Ergodox(MX Blues), Monoprice 9433

Eternally searching for Celestial Blue BS V2 and blue/purple Bros.

Offline SeeThruHead

  • Posts: 87
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #163 on: Sun, 04 January 2015, 17:43:44 »
Yeah I always hit with my right, but since it's a split spacebar you could map fn to whichever side you want. Obviously wouldn't work for people who alternate with thumb they use to hit spacebar, but I don't know how common that is.

http://www.keyboard-layout-editor.com/#/layouts/b1482f802aefbe751fd8840f18eaad62
« Last Edit: Sun, 04 January 2015, 21:20:05 by SeeThruHead »
    

 Painted QFR          Poker 2

Offline spiceBar

  • Thread Starter
  • Posts: 979
    • ChessTiger.com
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #164 on: Mon, 05 January 2015, 01:40:07 »
SpaceFN is really intresting to me, though the spacebar delay is not as much. I was trying to think of a way to get around that and this is what I've come up with.

Show Image


It would be a custom 60% pcb with tmk compatible firmware (for hardware dual role keys like control/esc and shiftL/( or shiftR/)  )
Only difference would be two switches under the spacebar. Ideally you could just buy a standard keycap set, and get an extra spacebar, which you would then cut in half, and it would just work. Though I'm not sure how to achieve that without modding the spacebar a bit. What I don't think is acceptable is using 2 3u keys upside down. (Ideally would want to maintain the normal keyset aesthetic as close as possible)

Thoughts?

If you start modding the keyboard and add Fn keys, forget about SpaceFN completely.

The basic idea with SpaceFN is to use a standard keyboard. With this constraint, one of the solutions is SpaceFN. Another one is GuiFN, and there may be many more.

If you remove the constraint, I'm pretty sure that there are much better ways to organize the layout. With this I mean that you don't need to start with SpaceFN, and actually you should probably not start with SpaceFN: this will prevent you from finding creative solutions.

So it's fine to imagine what you want, and you are free to start anew.

I'm however wondering if you have actually tried SpaceFN. The space character is generated when you release the space key. It's not a fixed time delay, it's just that the generation of the character is linked to the release of the key, instead of the key press as is done usually.

If you are typing or editing text, this change has absolutely no importance. You type as usual, you do not need to think about it.

The cases for which SpaceFN is not satisfying are:
- Gaming when space must be recorded on the key press. In this case I fear a split space bar may also prove troublesome.
- Apps that use space as a kind of push down button. Inkscape is an example: within Inkscape you can press and hold the spacebar while dragging the document to pan in any direction. With SpaceFN you could press and hold space+B instead. Space+B has been added exactly for this reason. But I understand it may not be convenient.
- If you absolutely need space to autorepeat for any reason. With SpaceFN, space+B or double-tapping the spacebar does that, but it may not be acceptable.

If you are not in one of these cases, you should just try SpaceFN without any preconception and see if it works for you. Sometimes we try to solve problems that we are never going to face.

Offline SeeThruHead

  • Posts: 87
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #165 on: Mon, 05 January 2015, 06:18:15 »
True I guess my idea doesn't really have much to do with spaceFN except that spaceFN is what is what lead me to think of it. I actually haven't gotten around to using spaceFN yet because it seems the only way to do it is with software. So I've been looking for a hardware solution and nothing really caught my fancy so designing a custom board seems like the way to go. But if you're going to go through that trouble you might as well add an fn key under the unused thumb, hence my layout idea. Thanks for the layout, it's been an inspiration.
    

 Painted QFR          Poker 2

Offline spiceBar

  • Thread Starter
  • Posts: 979
    • ChessTiger.com
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #166 on: Tue, 06 January 2015, 22:18:29 »
True I guess my idea doesn't really have much to do with spaceFN except that spaceFN is what is what lead me to think of it. I actually haven't gotten around to using spaceFN yet because it seems the only way to do it is with software. So I've been looking for a hardware solution and nothing really caught my fancy so designing a custom board seems like the way to go. But if you're going to go through that trouble you might as well add an fn key under the unused thumb, hence my layout idea. Thanks for the layout, it's been an inspiration.

Why don't you just try SpaceFN in software first?

Is there something preventing you to do it?

You seem to have ideas and be willing to experience. Don't just think about these things. You need to try them. It's all about ergonomics and muscle memory: nothing that can be fully understood by just thinking about it.

Offline Lunatique

  • Posts: 284
  • Location: Lincoln, CA
  • Writer, Composer, Artist, Photographer, Gamer
    • Ethereality
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #167 on: Wed, 07 January 2015, 00:31:32 »
I need a bit of help with customizing the SpaceFN script. Can any of you help me out? (spiceBar tried, but couldn't).

Basically, I want to modify the default mapping of SpaceFN, into this:



(In this context, S means Shift and C means Ctrl.)

The problems I'm currently having are basically these:

1) While some of my custom mapping is working, there are problems with the ones that uses Ctrl as part of the macro/hotkey combo (the Ctrl part doesn't work, while the Shift part does). I'm not sure why it's not working, and it did work at one point, but then stopped working, and I can't remember if I changed anything to the scrip that would stop it from working.

2) What I managed to turn the CapsLock into Left-Ctrl, I was not able to turn Left-Ctrl into CapsLock. This is a minor annoyance and not important, since I almost never use CapsLock, but it would be nice to understand why it's not working.

This is what I have:

Quote
; Note: This implementation assumes an en-US QWERTY layout.


SendMode Input
#NoEnv
#SingleInstance force


options := {delay: 150, timeout: 300, doublePress: -1, swap_backtick_escape: false, mode: "ijkl"}
loop %0% {
   arg := %A_Index%
   argSplit := StrSplit(arg, "=")
   option := argSplit[1]
   value := argSplit[2]
   options[option] := value
}


#Include <dual/dual>
dual := new Dual


#Include <dual/defaults>


#If options.swap_backtick_escape
*`::dual.comboKey({F22: "Escape"})
#If


#If options.mode == "ijkl"
*i::dual.comboKey({F22: "Up"})
*j::dual.comboKey({F22: "Left"})
*k::dual.comboKey({F22: "Down"})
*l::dual.comboKey({F22: "Right"})

*u::dual.comboKey({F22: "Home"})
*o::dual.comboKey({F22: "End"})
*h::dual.comboKey({F22: "PgUp"})
*n::dual.comboKey({F22: "PgDn"})
#If


#If true ; Override defaults.ahk. There will be "duplicate hotkey" errors otherwise.
*Space::
*Space UP::dual.combine("F22", A_ThisHotkey, {delay: options.delay, timeout: options.timeout, doublePress: options.doublePress})

*BackSpace::dual.comboKey({F22: "Delete"})

*b::dual.comboKey({F22: "Space"})

*1::dual.comboKey({F22: "F1"})
*2::dual.comboKey({F22: "F2"})
*3::dual.comboKey({F22: "F3"})
*4::dual.comboKey({F22: "F4"})
*5::dual.comboKey({F22: "F5"})
*6::dual.comboKey({F22: "F6"})
*7::dual.comboKey({F22: "F7"})
*8::dual.comboKey({F22: "F8"})
*9::dual.comboKey({F22: "F9"})
*0::dual.comboKey({F22: "F10"})
*-::dual.comboKey({F22: "F11"})
*=::dual.comboKey({F22: "F12"})

*p::dual.comboKey({F22: "BackSpace"})
*;::dual.comboKey({F22: "Delete"})

*e::dual.comboKey({F22: "{Shift}+{Up}"})
*d::dual.comboKey({F22: "{Shift}+{Down}"})
*s::dual.comboKey({F22: "{Shift}+{Ctrl}+{Left}"})
*f::dual.comboKey({F22: "{Shift}+{Ctrl}+{Right}"})

*q::dual.comboKey({F22: "F3"})
*a::dual.comboKey({F22: "{Shift}+{F3}"})
*g::dual.comboKey({F22: "{Shift}+{Ctrl}+{l}"})

*CapsLock::Ctrl
#If

I'm not a programmer so I'm just using educated guesses and trial and error. If any of you can help me, I'd really appreciate it.
My website + Blog: www.ethereality.info

Offline sypl

  • Posts: 99
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #168 on: Sat, 17 January 2015, 21:01:45 »
I've tried this Karabiner and really don't like the space entering on release. Just feels... sticky. And if you type really fast it's all too easy to trigger a Fn layer key. Mapping one of the GUI keys to Fn is the way to go.

Offline Lunatique

  • Posts: 284
  • Location: Lincoln, CA
  • Writer, Composer, Artist, Photographer, Gamer
    • Ethereality
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #169 on: Sat, 17 January 2015, 21:25:21 »
I've tried this Karabiner and really don't like the space entering on release. Just feels... sticky. And if you type really fast it's all too easy to trigger a Fn layer key. Mapping one of the GUI keys to Fn is the way to go.

I've been having the same problem with accidental activation. I'm going to try remapping the Fn key to Alt instead and see how that feels. It's not as comfortable as the spacebar, but accidental activation is the greater evil here. If I had a keyboard with Fn or Alt buttons placed closer into the spacebar, it'll feel more natural, but I don't have any keyboards like that currently--all are pretty standard layouts in terms of spacebar length.
My website + Blog: www.ethereality.info

Offline sypl

  • Posts: 99
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #170 on: Sun, 18 January 2015, 13:01:06 »
I think that'll work better, because the alt doesn't send a character to screen, making a misfire less costly. Generally any modifier will work ok in this dual-role manner.
SpaceFn is a no go for me because it introduces inaccuracy and uncertainty in to my typing, which is unacceptable. After all, we use keyboards because they're more accurate, right? Tab, esc and - also not great for similar reasons. An accidental trigger of the key itself rather than the fn version is too annoying.

I've remapped my caps lock to a dual cmd (hold) and esc (tap) key. Works well, especially if you're a vim user. I originally had issues whereby I'd send accidental escapes sometimes when I'd waver over whether I wanted to use a cmd+something shortcut, but Karabiner has a timeout, so if you hold it just a tad longer than a tap and release it's as if you just held down the cmd and released. In other words, nothing happens. I still occasionally hit an erroneous escape, but it's usually easily rectified, usually via a tab tap, or some other shortcut to focus on what I want it to.

Offline Lunatique

  • Posts: 284
  • Location: Lincoln, CA
  • Writer, Composer, Artist, Photographer, Gamer
    • Ethereality
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #171 on: Sun, 18 January 2015, 14:55:41 »
I think that'll work better, because the alt doesn't send a character to screen, making a misfire less costly. Generally any modifier will work ok in this dual-role manner.
SpaceFn is a no go for me because it introduces inaccuracy and uncertainty in to my typing, which is unacceptable. After all, we use keyboards because they're more accurate, right? Tab, esc and - also not great for similar reasons. An accidental trigger of the key itself rather than the fn version is too annoying.

I've remapped my caps lock to a dual cmd (hold) and esc (tap) key. Works well, especially if you're a vim user. I originally had issues whereby I'd send accidental escapes sometimes when I'd waver over whether I wanted to use a cmd+something shortcut, but Karabiner has a timeout, so if you hold it just a tad longer than a tap and release it's as if you just held down the cmd and released. In other words, nothing happens. I still occasionally hit an erroneous escape, but it's usually easily rectified, usually via a tab tap, or some other shortcut to focus on what I want it to.

Although I favor my right hand, I still want to have two Fn keys, since there are times when one I might be using one hand to hold a drink or a snack or even just scratching my nose or something. The Alt keys are the only ones that don't seem to activate anything really harmful to what you're typing. Possible common activations would be Alt+E for Options, and....wow, I think that's about it. All other common Alt+key combos are non-alphanumeric. The software you use might have its own unique hotkey combos that involve Alt+alphanumeric key though. SpaceFN was created mainly for typing/programming and not for typical computer operations, so I guess if you're using it while not doing actual typing/writing, you could be triggering more stuff you didn't intend. For someone like me who adds a lot more hotkeys to the default SpaceFN layout, I get a lot more accidental triggers too--especially with me left pinkie.

Whenever I use Photoshop, I have to suspend SpaceFN, because Photoshop uses the spacebar extensively to navigate the image (you hold down the spacebar while dragging the image around). I often then forget to turn the script back on.

I'm going to keep experimenting with SpaceFN and see if I could get it to fit me like a comfortable glove. If not, I'll have to get one of those fully programmable keyboards with ideal placement of Fn keys (slightly shorter spacebar, and dual Fn keys, one at the C and X area and one at the M and , area).
My website + Blog: www.ethereality.info

Offline spiceBar

  • Thread Starter
  • Posts: 979
    • ChessTiger.com
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #172 on: Mon, 19 January 2015, 10:58:43 »
Whenever I use Photoshop, I have to suspend SpaceFN, because Photoshop uses the spacebar extensively to navigate the image (you hold down the spacebar while dragging the image around). I often then forget to turn the script back on.

When SpaceFN is activated, you can press and hold Space-B.

The "B" key, in the function layer, is a space. It has been designed exactly for what you need: provide a space key that activates when you press it, not when you release it.

Naturally it's less convenient than just pressing and holding space, but maybe it's less annoying than having to turn SpaceFN off.

And... doesn't Photoshop offer a way to change the key used for this function?

Offline Hypersphere

  • Posts: 1806
  • Location: USA
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #173 on: Mon, 19 January 2015, 11:51:59 »
@spiceBar: Thank you for this creative idea. It is quite interesting. At the outset, having given credit to Edgar Matias for the concept of dual-function keys, you might wish to propose building SpaceFn keyboards using Matias Click and Matias Quiet switches.

From my own perspective, I converted over a year ago from a standard layout to the HHKB Pro 2 layout. I either use a HHKB Pro 2, or I remap standard keyboards to a Mac/HHKB Pro 2 layout. I like to have a separate Fn key, either to the right of the Right Shift or on the far right of the bottom row. I am too wedded to the standard single-purpose Spacebar to be comfortable using it also as a Fn key. However, I think if I had not made the switch to a Mac/HHKB Pro 2 layout, I might have been tempted to use your imaginative SpaceFn solution.

By the way, my second and third favorite 60% keyboards after the HHKB Pro 2 are the KBP V60 Matias Click and KBP V60 Matias Quiet keyboards, remapped using Karabiner software to a Mac/HHKB Pro 2 layout.

Offline jacobolus

  • Posts: 3632
  • Location: San Francisco, CA
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #174 on: Mon, 19 January 2015, 16:45:22 »
When SpaceFN is activated, you can press and hold Space-B.

The "B" key, in the function layer, is a space. It has been designed exactly for what you need: provide a space key that activates when you press it, not when you release it.
Definitely less convenient, since in Photoshop you often want to hold space + control, space + shift, space + alt, space + alt + ctrl  (Windows, but Mac is similar).

Holding space + B + alt + ctrl or similar is going to be a real pain in the ass.

[This can obviously be improved by tweaks to space-FN; itís not an insurmountable problem.]
« Last Edit: Mon, 19 January 2015, 16:48:48 by jacobolus »

Offline spiceBar

  • Thread Starter
  • Posts: 979
    • ChessTiger.com
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #175 on: Mon, 19 January 2015, 17:04:28 »
@spiceBar: Thank you for this creative idea. It is quite interesting. At the outset, having given credit to Edgar Matias for the concept of dual-function keys, you might wish to propose building SpaceFn keyboards using Matias Click and Matias Quiet switches.

From my own perspective, I converted over a year ago from a standard layout to the HHKB Pro 2 layout. I either use a HHKB Pro 2, or I remap standard keyboards to a Mac/HHKB Pro 2 layout. I like to have a separate Fn key, either to the right of the Right Shift or on the far right of the bottom row. I am too wedded to the standard single-purpose Spacebar to be comfortable using it also as a Fn key. However, I think if I had not made the switch to a Mac/HHKB Pro 2 layout, I might have been tempted to use your imaginative SpaceFn solution.

By the way, my second and third favorite 60% keyboards after the HHKB Pro 2 are the KBP V60 Matias Click and KBP V60 Matias Quiet keyboards, remapped using Karabiner software to a Mac/HHKB Pro 2 layout.

I own a Matias Laptop Pro (Bluetooth) with Quiet Click switches, and I love them. They achieve what no Cherry MX switch has ever been able to provide, as far as I can tell: a very crisp tactile feedback.

I have heard that the TMK firmware now works with the Infinity keyboard, and the Infinity, in the last Massdrop sale, came with the option of Matias Quiet Click switches.

I'm waiting for a new drop on the Infinity, because I really want one now. It has been requested more than 1500 times, so it's likely to be on Massdrop again, soon. It looks like it is one of the best ways to get a SpaceFN-compatible 60% keyboard (and also compatible with whatever layout you like).

Offline Lunatique

  • Posts: 284
  • Location: Lincoln, CA
  • Writer, Composer, Artist, Photographer, Gamer
    • Ethereality
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #176 on: Wed, 21 January 2015, 19:59:15 »
Whenever I use Photoshop, I have to suspend SpaceFN, because Photoshop uses the spacebar extensively to navigate the image (you hold down the spacebar while dragging the image around). I often then forget to turn the script back on.

When SpaceFN is activated, you can press and hold Space-B.

The "B" key, in the function layer, is a space. It has been designed exactly for what you need: provide a space key that activates when you press it, not when you release it.

Naturally it's less convenient than just pressing and holding space, but maybe it's less annoying than having to turn SpaceFN off.

And... doesn't Photoshop offer a way to change the key used for this function?

The Space+B doesn't work with Photoshop. I don't know why. And Photoshop hotkeys cannot be changed AFAIK--only custom actions can have custom hotkeys.
My website + Blog: www.ethereality.info

Offline Hypersphere

  • Posts: 1806
  • Location: USA
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #177 on: Wed, 21 January 2015, 20:49:29 »
I've lost track of how often I hear people say that they can't do this or that with their keyboard because of the key combinations that are needed for Photoshop. It's amazing how much of an impact this program has had on how people use or don't use their keyboards.

Offline jacobolus

  • Posts: 3632
  • Location: San Francisco, CA
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #178 on: Wed, 21 January 2015, 21:54:01 »
Almost all keyboard shortcuts in Photoshop can be changed, including the shortcuts for selecting tools, every top-of-screen menu option, and every menu option in every interface panel, and of course also user-defined actions. Unfortunately I think spacebar-for-temporary-hand-tool is among a small handful of things that canít be changed.
« Last Edit: Wed, 21 January 2015, 21:57:44 by jacobolus »

Offline Lunatique

  • Posts: 284
  • Location: Lincoln, CA
  • Writer, Composer, Artist, Photographer, Gamer
    • Ethereality
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #179 on: Thu, 22 January 2015, 15:40:30 »
Almost all keyboard shortcuts in Photoshop can be changed, including the shortcuts for selecting tools, every top-of-screen menu option, and every menu option in every interface panel, and of course also user-defined actions. Unfortunately I think spacebar-for-temporary-hand-tool is among a small handful of things that canít be changed.

Ah, you're right. I had forgotten about the change Adobe made with the CS version. My mind was stuck in the pre-CS days of Photoshop.

Too bad spacebar for the temporary hand tool can't be changed. I've been getting along with the SpaceFN a lot better now that I'm using it more and more, and it would be nice to not have to turn it off whenever I'm in PS (which is often).

I tried to reassign the FN key to Alt instead of spacebar, but it didn't work--the Alt was just triggering whatever hotkeys in whatever software I was using that starts with the Alt key. Not sure why it didn't work.

All I did was change the two instances of "space" in the following to "Alt" instead:

*Space::
*Space UP::dual.combine("F22", A_ThisHotkey, {delay: 150, timeout: 300, doublePress: -1})
My website + Blog: www.ethereality.info

Offline jacobolus

  • Posts: 3632
  • Location: San Francisco, CA
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #180 on: Thu, 22 January 2015, 16:27:49 »
I think the only real way around this problem is with control at the hardware firmware level, so that the whole computer thinks itís getting a space character. It sounds like whatever layer of the input stack Photoshop is looking at is lower level than where SpaceFn it outputting keys, and as a result itís not picking up space+b as space. If you can get a Teensy to stick in between your keyboard and your computer, you can run hasuís tmk_keyboard firmware and implement space-fn there.

One of the problems with the way modern computers have their input stack implemented is that there are frequent conflicts of this sort. People running certain web browsers will sometimes end up breaking Photoshopís spacebar feature, too.

Offline Lunatique

  • Posts: 284
  • Location: Lincoln, CA
  • Writer, Composer, Artist, Photographer, Gamer
    • Ethereality
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #181 on: Thu, 22 January 2015, 20:07:45 »
I think the only real way around this problem is with control at the hardware firmware level, so that the whole computer thinks itís getting a space character. It sounds like whatever layer of the input stack Photoshop is looking at is lower level than where SpaceFn it outputting keys, and as a result itís not picking up space+b as space. If you can get a Teensy to stick in between your keyboard and your computer, you can run hasuís tmk_keyboard firmware and implement space-fn there.

One of the problems with the way modern computers have their input stack implemented is that there are frequent conflicts of this sort. People running certain web browsers will sometimes end up breaking Photoshopís spacebar feature, too.

If I get a hardware controller, would it be a fairly simple process each time I swap out a keyboard--just plug the new keyboard into the controller, and then the controller to the computer?
My website + Blog: www.ethereality.info

Offline jacobolus

  • Posts: 3632
  • Location: San Francisco, CA
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #182 on: Thu, 22 January 2015, 20:12:41 »
Itís difficult if you have a USB keyboard, because your middleman hardware controller needs to handle the host side of the USB HID protocol to talk to the keyboard, and Iím not sure that code is easily available anywhere, so you might need to spend a bunch of time on USB HID protocol implementation.

If you have PS/2 (a.k.a. AT) or XT or ADB keyboards itís pretty trivial though, since support for those protocols has already been figured out by e.g. Soarer or hasu.

Offline Lunatique

  • Posts: 284
  • Location: Lincoln, CA
  • Writer, Composer, Artist, Photographer, Gamer
    • Ethereality
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #183 on: Thu, 22 January 2015, 21:34:15 »
Itís difficult if you have a USB keyboard, because your middleman hardware controller needs to handle the host side of the USB HID protocol to talk to the keyboard, and Iím not sure that code is easily available anywhere, so you might need to spend a bunch of time on USB HID protocol implementation.

If you have PS/2 (a.k.a. AT) or XT or ADB keyboards itís pretty trivial though, since support for those protocols has already been figured out by e.g. Soarer or hasu.

I assume simply using a USB to PS/2 adapter isn't enough to alleviate this problem? The keyboard has to be PS/2 by default?
My website + Blog: www.ethereality.info

Offline jacobolus

  • Posts: 3632
  • Location: San Francisco, CA
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #184 on: Thu, 22 January 2015, 22:10:23 »
If the keyboard supports PS/2, thatís fine. Those passive USB->PS/2 adapters only work if the keyboard supports both USB and PS/2 protocols over the same pins. Not all USB keyboards do though.

Offline spiceBar

  • Thread Starter
  • Posts: 979
    • ChessTiger.com
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #185 on: Sun, 25 January 2015, 10:43:04 »
Itís difficult if you have a USB keyboard, because your middleman hardware controller needs to handle the host side of the USB HID protocol to talk to the keyboard, and Iím not sure that code is easily available anywhere, so you might need to spend a bunch of time on USB HID protocol implementation.

If you have PS/2 (a.k.a. AT) or XT or ADB keyboards itís pretty trivial though, since support for those protocols has already been figured out by e.g. Soarer or hasu.

I assume simply using a USB to PS/2 adapter isn't enough to alleviate this problem? The keyboard has to be PS/2 by default?

Yes, your keyboard must be PS/2 compatible. Many keyboards have a USB plug but are also PS/2 compatible with the help of a passive adapter. Some are not compatible with PS/2, however.

If your keyboard has a PS/2 plug, no problem. It is compatible with Hasu's PS/2->USB adapter.

If your keyboard has a USB plug and, using a passive USB-PS/2 converter, you can plug it in a PS/2 port on your computer and the keyboard works (this requires rebooting the computer), then your keyboard is compatible with PS/2.

In this case, it will work with Hasu's PS/2->USB converter, which also acts as a fully programmable keyboard interface and can turn your keyboard into a real SpaceFN keyboard. Your computer will not even know that your keyboard is a SpaceFN one. It will think it's a standard keyboard. No driver will be required on the computer, so you will be able to plug your keyboard into any computer and use it immediately.

Space-B will act as the spacebar in Photoshop. Holding down space-B will do the same as holding down the space bar on a standard keyboard.

Here is a picture of Hasu's PS/2->USB converter connected to a Poker X keyboard (which has a USB plug but is PS/2 compatible):

88627-0

You plug it into your computer with a mini-USB cable that plugs into the golden connector on Hasu's converter.

Offline Lunatique

  • Posts: 284
  • Location: Lincoln, CA
  • Writer, Composer, Artist, Photographer, Gamer
    • Ethereality
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #186 on: Sun, 25 January 2015, 13:28:44 »
Do people leave the controller exposed like that, or do they always find a way to put it inside the keyboard's case? Or is there a small case for the controller itself?
My website + Blog: www.ethereality.info

Offline spiceBar

  • Thread Starter
  • Posts: 979
    • ChessTiger.com
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #187 on: Tue, 27 January 2015, 20:15:39 »
Do people leave the controller exposed like that, or do they always find a way to put it inside the keyboard's case? Or is there a small case for the controller itself?

The controller is wrapped in a transparent plastic that shrinks when heated. It is sufficiently protected for sedentary use.

It could be put inside any small plastic box, but even better, it could indeed be hidden in the keyboard's case itself.

This requires soldering skills, as you need to desolder the PS/2 connector and solder the pins from there to the keyboard's PCB.

I wanted to do that for the Poker X pictured above, but I have not done it yet.

Apparently the Infinity keyboard is compatible with the TMK firmware, so in my opinion you should get one as soon as it reappears on Massdrop. You will have to program the firmware, which is somehow more complicated than AHK, but it looks like you will find help here. You will have to deal with the TMK firmware anyway: it is one of the most flexible, and it will allow you to program a keyboard exactly as you want it.

Offline jacobolus

  • Posts: 3632
  • Location: San Francisco, CA
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #188 on: Tue, 27 January 2015, 20:56:13 »
Apparently the Infinity keyboard is compatible with the TMK firmware,
Who says? As far as I know tmk_keyboard is AVR only (like an ATMega32 or similar) and hasu hasnít done any ARM port. (I could be wrong though.)

Offline hasu

  • Posts: 2533
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #189 on: Wed, 28 January 2015, 01:08:55 »
Yes, Tmk supports cortex controller with mbed.org HAL layer, yay!
Give hasu a free keyboard if you need tmk port on it!

https://geekhack.org/index.php?topic=41989.msg1586196#msg1586196
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Lunatique

  • Posts: 284
  • Location: Lincoln, CA
  • Writer, Composer, Artist, Photographer, Gamer
    • Ethereality
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #190 on: Wed, 28 January 2015, 01:47:43 »
I've read some forum posts about how the weird freaking out of the script I've experienced also happens with the TMK firmware for some people too. The main reason I'd want to go with a hardware solution is to avoid the freak out episodes I often experience with the AHK script.
My website + Blog: www.ethereality.info

Offline lejboua

  • Posts: 2
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #191 on: Thu, 29 January 2015, 08:02:57 »
I've been using Touchcursor (http://touchcursor.sourceforge.net/) for a few years now to emulate exactly this SpaceFN layout (for the F-row, HJKL, etc.) in several Windows machines (XP, Win 7 and 8.1). It's definitely more stable than AHK (never had a problem with Touchcursor).

I've tried a few things with the source and saw that it runs on a lower level of the OS (uses KeyboardHooks), maybe that's the reason why it's stabler than its AHK counterpart.

Offline spiceBar

  • Thread Starter
  • Posts: 979
    • ChessTiger.com
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #192 on: Thu, 29 January 2015, 10:45:58 »
I've read some forum posts about how the weird freaking out of the script I've experienced also happens with the TMK firmware for some people too. The main reason I'd want to go with a hardware solution is to avoid the freak out episodes I often experience with the AHK script.

I have been using SpaceFN for months using the TMK firmware on a GH60, a Poker X (PS/2->USB adapter) and an HHKB (Hasu's dedicated controller) and I have never experienced any problem.

A hardware solution with TMK is very stable.

Offline Lunatique

  • Posts: 284
  • Location: Lincoln, CA
  • Writer, Composer, Artist, Photographer, Gamer
    • Ethereality
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #193 on: Thu, 29 January 2015, 15:56:05 »
I've been using Touchcursor (http://touchcursor.sourceforge.net/) for a few years now to emulate exactly this SpaceFN layout (for the F-row, HJKL, etc.) in several Windows machines (XP, Win 7 and 8.1). It's definitely more stable than AHK (never had a problem with Touchcursor).

I've tried a few things with the source and saw that it runs on a lower level of the OS (uses KeyboardHooks), maybe that's the reason why it's stabler than its AHK counterpart.

OMG! That is freaking awesome! Thank you so much for sharing that! It's exactly what I wished AHK could be. It's so much more intuitive and easy to use for someone who is not a programmer--just simple interface for customization. It's not as deep as AHK, but it does almost everything I want (except for Changing the CapsLock to Ctrl, which I'll still run AHK just for that. It also doesn't allow for timing out of the activation key the way SpaceFN does). If it ends up as stable for me as it has been for you, then   :thumb: :-*

If only you had shared this earlier, I wouldn't have spent so many hours trying to learn/troubleshoot AHK and bugging the hell out of spiceBAR and lydell with my endless stream of questions.  ;D

I have been using SpaceFN for months using the TMK firmware on a GH60, a Poker X (PS/2->USB adapter) and an HHKB (Hasu's dedicated controller) and I have never experienced any problem.

A hardware solution with TMK is very stable.

If TouchCursor proves to be stable, then I won't have to go the hardware route (which just adds more complication due having to learn how to use it, program it, etc). TouchCursor is so intuitive and simple and does almost exactly the same thing what you designed SpaceFN to do (great minds think alike, eh?), that it's just a much simply solution for someone like me. If it somehow doesn't work out, then it's time to get a hardware solution.

BTW, I find that sometimes when AHK freaks out, reloading the script takes care of the problem.
My website + Blog: www.ethereality.info

Offline Lunatique

  • Posts: 284
  • Location: Lincoln, CA
  • Writer, Composer, Artist, Photographer, Gamer
    • Ethereality
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #194 on: Thu, 29 January 2015, 20:10:24 »
A quick update on TouchCursor:

The Photoshop spacebar temporary Hand Tool problem is also an issue, and even though TouchCursor offers the option to disable in specified programs, its implementation of that feature is extremely odd--you have to drag a bullseye cursor it provides onto the window of the program you want to disable TouchCursor on, but it doesn't work with Photoshop CS6 or ACDSee Pro 8 (I get incorrect Unicode name in random Chinese characters for both programs when I do that, and TouchCursor is not disabled in them), but it does work on the few other programs I tried the feature on. I guess for now, I'll just exit TouchCursor while working in Photoshop (similar to how I have to suspend the hotkeys of SpaceFN when using Photoshop).
My website + Blog: www.ethereality.info

Offline spiceBar

  • Thread Starter
  • Posts: 979
    • ChessTiger.com
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #195 on: Fri, 30 January 2015, 00:46:26 »
A quick update on TouchCursor:

The Photoshop spacebar temporary Hand Tool problem is also an issue, and even though TouchCursor offers the option to disable in specified programs, its implementation of that feature is extremely odd--you have to drag a bullseye cursor it provides onto the window of the program you want to disable TouchCursor on, but it doesn't work with Photoshop CS6 or ACDSee Pro 8 (I get incorrect Unicode name in random Chinese characters for both programs when I do that, and TouchCursor is not disabled in them), but it does work on the few other programs I tried the feature on. I guess for now, I'll just exit TouchCursor while working in Photoshop (similar to how I have to suspend the hotkeys of SpaceFN when using Photoshop).

In other words, only a hardware implementation can solve all your problems. :)

Offline Lunatique

  • Posts: 284
  • Location: Lincoln, CA
  • Writer, Composer, Artist, Photographer, Gamer
    • Ethereality
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #196 on: Fri, 30 January 2015, 14:38:20 »
A quick update on TouchCursor:

The Photoshop spacebar temporary Hand Tool problem is also an issue, and even though TouchCursor offers the option to disable in specified programs, its implementation of that feature is extremely odd--you have to drag a bullseye cursor it provides onto the window of the program you want to disable TouchCursor on, but it doesn't work with Photoshop CS6 or ACDSee Pro 8 (I get incorrect Unicode name in random Chinese characters for both programs when I do that, and TouchCursor is not disabled in them), but it does work on the few other programs I tried the feature on. I guess for now, I'll just exit TouchCursor while working in Photoshop (similar to how I have to suspend the hotkeys of SpaceFN when using Photoshop).

In other words, only a hardware implementation can solve all your problems. :)

Hahahaha, probably. Having to pause/stop the software solution when using Photoshop isn't really something that bugs me too much though. The AHK freakout episodes are much more annoying, but if simply reloading the script fixes it, then that's not a big deal either. I just much prefer the flexibility and simplicity of software solutions, and prefer to avoid hardware ones if possible.
« Last Edit: Sat, 31 January 2015, 01:49:36 by Lunatique »
My website + Blog: www.ethereality.info

Offline spiceBar

  • Thread Starter
  • Posts: 979
    • ChessTiger.com
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #197 on: Fri, 30 January 2015, 17:29:36 »
A quick update on TouchCursor:

The Photoshop spacebar temporary Hand Tool problem is also an issue, and even though TouchCursor offers the option to disable in specified programs, its implementation of that feature is extremely odd--you have to drag a bullseye cursor it provides onto the window of the program you want to disable TouchCursor on, but it doesn't work with Photoshop CS6 or ACDSee Pro 8 (I get incorrect Unicode name in random Chinese characters for both programs when I do that, and TouchCursor is not disabled in them), but it does work on the few other programs I tried the feature on. I guess for now, I'll just exit TouchCursor while working in Photoshop (similar to how I have to suspend the hotkeys of SpaceFN when using Photoshop).

Hahahaha, probably. Having to pause/stop the software solution when using Photoshop isn't really something that bugs me too much though. The AHK freakout episodes are much more annoying, but if simply reloading the script fixes it, then that's not a big deal either. I just much prefer the flexibility and simplicity of software solutions, and prefer to avoid hardware ones if possible.

In other words, only a hardware implementation can solve all your problems. :)

Well you know, what we call a hardware solution is actually a firmware that we flash to a programmable keyboard.

I have tweaked my version of SpaceFN maybe 20 or 30 times since I have keyboards that can run the TMK firmware.

I know you are not fluent in C, but what you do essentially is edit a table of key names in your favorite text editor in a file called "keymap_spacefn.c".

Then you compile the file by issuing the following command in a terminal (DOS box or whatever they call it now in the Windows world): make KEYMAP=spacefn

And finally you flash the resulting firmware to the keyboard:
- press the small "program" button on the back of the keyboard
- type this command: make dfu

Then you unplug the keyboard, plug it again, and you can test the result.

As you can see it's not much more complicated than editing the AHK script.

Honestly I have skipped a few steps that you do only once, the steps to install the compiler that allows you to create the firmware.

At least with a hardware solution involving TMK, I would have been able to help you. :)

Maybe when you have stabilized your own version of SpaceFN, after testing it for long enough in AHK, I could create a TMK firmware for it. Then it would be quite easy to flash it to a programmable keyboard. If you can get a small PS/2->USB adapter, you could even test it with any PS/2 compatible keyboard, before you decide to purchase a fully programmable one.

I think that if you really like SpaceFN it's the logical, ultimate, no worries solution for you.

Offline wuqe

  • Posts: 105
  • Location: WA, USA
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #198 on: Mon, 02 February 2015, 08:34:44 »
lol SpiceBar, even the hardware is software! I agree completely, though; I tweak my Ergodox firmware at least once a month, whenever I realize some tweak that would make it even awesomer. :)

Offline hasu

  • Posts: 2533
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: The SpaceFN layout: trying to end keyboard inflation
« Reply #199 on: Mon, 02 February 2015, 11:25:39 »
I've not found and tried this software before. TouchCursor really works well for me as my firmware does. And 'dual role key' is implemented in clean, simple and concise way, really smart and great job! I like his code and you can refer it to implement yourown tool.

TouchCursor doesn't use any timer so you can't 'cancel' your space(dual role key) using timeout and 'double tap repeat' is not available. These won't problems probably in most cases.

spiceBar, please add this tool in first post, it is an good option for Windows users.


I've been using Touchcursor (http://touchcursor.sourceforge.net/) for a few years now to emulate exactly this SpaceFN layout (for the F-row, HJKL, etc.) in several Windows machines (XP, Win 7 and 8.1). It's definitely more stable than AHK (never had a problem with Touchcursor).

I've tried a few things with the source and saw that it runs on a lower level of the OS (uses KeyboardHooks), maybe that's the reason why it's stabler than its AHK counterpart.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt