jasonrudolph / keyboard Goto Github PK
View Code? Open in Web Editor NEW⌨ Toward a more useful keyboard
License: MIT License
⌨ Toward a more useful keyboard
License: MIT License
S+D has no effect, and no screen notifications.
Everything else is working fine. The Hyper key and its bindings works. Installation was fine. I have the rules from script/setup in Karabiner (tried v 12.9 and 12.9.1 ).
I am using a Mac Pro and it has a new keyboard, just has a new silver casing, I am sure it has the same internals.
Karabiner log is showing no issues (see below) . I turned the keyboard off and on again as below.
2020-02-16 16:59:22.385] [info] [grabber] Load /Users/nicholasphillips/.config/karabiner/karabiner.json...
[2020-02-16 16:59:22.386] [info] [grabber] core_configuration is updated.
[2020-02-16 16:59:22.387] [info] [grabber] virtual_hid_device_client is opened.
[2020-02-16 16:59:22.388] [info] [grabber] virtual_hid_device_client_ is connected
[2020-02-16 16:59:22.388] [info] [grabber] initialize_virtual_hid_keyboard
[2020-02-16 16:59:22.388] [info] [grabber] country_code:0
[2020-02-16 16:59:22.390] [info] [grabber] initialize_virtual_hid_keyboard
[2020-02-16 16:59:22.390] [info] [grabber] country_code:0
[2020-02-16 16:59:22.390] [info] [console_user_server] Check for updates...
[2020-02-16 16:59:22.393] [info] [observer] matching device:
[2020-02-16 16:59:22.393] [info] [observer] registry_entry_id: 4295899979
[2020-02-16 16:59:22.393] [info] [observer] manufacturer: pqrs.org
[2020-02-16 16:59:22.393] [info] [observer] product: Karabiner VirtualHIDKeyboard
[2020-02-16 16:59:22.393] [info] [observer] vendor_id: 5824
[2020-02-16 16:59:22.393] [info] [observer] product_id: 10203
[2020-02-16 16:59:22.393] [info] [observer] location_id: 0x0
[2020-02-16 16:59:22.393] [info] [observer] serial_number: pqrs.org:org_pqrs_driver_Karabiner_VirtualHIDDevice_VirtualHIDKeyboard_v061000
[2020-02-16 16:59:22.401] [info] [observer] is_keyboard: true
[2020-02-16 16:59:22.401] [info] [observer] is_pointing_device: false
[2020-02-16 16:59:22.402] [info] [observer] rescan devices...
[2020-02-16 16:59:22.405] [info] [observer] Karabiner VirtualHIDKeyboard (device_id:4295899979) is observed.
[2020-02-16 16:59:22.405] [error] [observer] grabber_client error: Connection reset by peer
[2020-02-16 16:59:22.405] [info] [observer] grabber_client is closed.
[2020-02-16 16:59:22.443] [info] [grabber] system_preferences
is updated.
[2020-02-16 16:59:23.411] [warning] [grabber] Magic Keyboard with Numeric Keypad (device_id:4295899579) is not observed yet. Please wait for a while.
[2020-02-16 16:59:23.412] [warning] [grabber] USB Receiver (device_id:4295861760) is not observed yet. Please wait for a while.
[2020-02-16 16:59:23.420] [info] [observer] grabber_client is connected.
[2020-02-16 16:59:23.421] [info] [observer] rescan devices...
[2020-02-16 16:59:23.422] [info] [grabber] USB Receiver (device_id:4295861760) is grabbed.
[2020-02-16 16:59:23.423] [info] [grabber] Magic Keyboard with Numeric Keypad (device_id:4295899579) is grabbed.
When i run 'script/setup', I got the message:
script/setup
The Brewfile's dependencies are satisfied.
ln: /Users/zmm/.config//karabiner: Operation not permitted
My soft info:
macOS Sierra 10.12.5 (16F73)
Hammerspoon 0.9.55 (0.9.55)
Karabiner-Elements 0.91.12
after i run script/setup
i got this error message ln: /Users/xxxx/.config//karabiner: Operation not permitted
do you have any idea why?
In slack ⇧+ESC marks all chat as read, using the tap to escape plugin you cannot trigger this key command.
Love this. But is there a way to pull some (all) of these key remappings out of Seil/Karabiner and use a .osx
file or something so we don't need to install/run Karabiner all the time?
When I'm pressing (s)+(d) and holding (space) to select text, it only works when moving forward (pressing (l) key) and not when moving backwards (pressing (h). So that means I cannot select the text that is before the cursor.
So to sum up, the key combination (s)+(d)+(space)+(h) is not working for me
Is it possible to have the option to assign Caps not to ESC / Ctrl but to ESC / Hyper key (Ctrl + Alt + Cmd), here I saw it's possible with your toolset:
http://brettterpstra.com/2016/09/29/a-better-hyper-key-hack-for-sierra/
For some reason tapping caps-lock doesn't appear to trigger the esc when Alfred's search input is focused. Looking in the Karabiner-EventViewer
app I notice that only left_control is logged:
eventType:FlagsChanged code:0x37 name:left_command flags:Cmd misc:
eventType:FlagsChanged code:0x37 name:left_command flags: misc:
eventType:FlagsChanged code:0x3b name:left_control flags:Ctrl misc:
eventType:FlagsChanged code:0x3b name:left_control flags: misc:
I also tried Spotlight which logs the same (only left_control), but at least it closes the search.
Any ideas on how to fix/troubleshoot this further?
Hello there, can't wait to adabting this keyboard
so I followed the insteractions and after running script/setup
i'm left out with the following :
brew bundle can't satisfy your Brewfile's dependencies.
Satisfy missing dependencies with `brew bundle install`.
when I run brew bundle install it get stuck on
Tapping caskroom/cask
Using karabiner-elements
now when I redo script/setup i get
brew bundle can't satisfy your Brewfile's dependencies.
Satisfy missing dependencies with `brew bundle install`.
Tapping caskroom/cask
Using karabiner-elements
thanks
Is it possible to enter the Super Duper mode with just a single "s" or "d" keystroke? It will be helpful because Mac keyboard cannot do N-key rollover (only 6 I believe). Also I find it pretty tiring to hold 2 fingers (ring and middle fingers) to enter the mode.
I'm looking at the super.lua file right now but since I don't know lua, I have not been able to modify it.
Hello Again, so after, testing out the keyboard. I felt the wow momment, thanks very very much for everyone. very cool, seriously.
other than that I feel you guys should try Chunkwm @koekeishiya, it a great tilling window manager for mac, --guide
My question is how can I make the window mode go hand in hand with Chunkwm and Skhd.
I love the idea of not leaving the home row and having modes to edit with. in my config of Skhd, which let's me control focus, movement, window size :
# change focus
alt - h : chunkc tiling::window --focus west
alt - j : chunkc tiling::window --focus south
alt - k : chunkc tiling::window --focus north
alt - l : chunkc tiling::window --focus east
alt - p : chunkc tiling::window --focus prev
alt - n : chunkc tiling::window --focus next
# move focused window
shift + alt - h : chunkc tiling::window --warp west
shift + alt - j : chunkc tiling::window --warp south
shift + alt - k : chunkc tiling::window --warp north
shift + alt - l : chunkc tiling::window --warp east
shift + alt - up : chunkc tiling::window --warp north
shift + alt - down : chunkc tiling::window --warp south
shift + alt - right : chunkc tiling::window --warp east
shift + alt - left : chunkc tiling::window --warp west
alt - r : chunkc tiling::desktop --rotate 90
alt - w : chunkc tiling::window --close
shift + alt - x : chunkc tiling::desktop --mirror horizontal
shift + alt - y : chunkc tiling::desktop --mirror vertical
# Resize
cmd + shift - k : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge north
cmd + shift - j : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge south
cmd + shift - l : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge east
cmd + shift - h : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge west
cmd - k : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge north
cmd - j : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge south
cmd - l : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge east
cmd - h : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge west
So when I tested SD mode, Started to be able to use hjkl everywhere thanks Jason
, however, when trying to move focus and windows, a
doesnt seem to work, I guess it isnt going well with skhd :((
its very handy to have caps lock as control, everywhere. but how can I config alt and cmd to be working with Chunkwm and respounding well with skhd. :D .
I keep having an issue where when I quit and relaunch KeyRemap4MacBook, or 'Reload XML', it overwrites the link to my own private.xml with the default one. Is there a way around that, or am I missing something?
Hey Jason,
thank you for this awesome repo but I have a small problem with the 'Hyper' key.
On the German Keyboard the 'right option' + lowercase 'L' writes the @-sign.
Is it possible to remap that to 'Hyper' + lowercase 'L' ?
I looked at the 'hyper.lua' file and it looks like I can only open apps or execute functions. I am not familiar with Lua so I was wondering what I would have to do to just send one symbol.
Best,
Chris
After remapping the Caps Lock
, I'm not able to switch the case now, I need to always hold down Shift
button if I need to type in upper case.
How can I define another key combination (say Shift-Caps_Lock
) to do case-switching?
This might be better to put on HammerSpoon's repo, but I thought I'd try here first. If you use Chrome browser, you can go to Settings > More Tools > Create Shortcut and tick the "Open as Window" option to make a pseudo web app. Oddly enough, once these shortcuts are activated (specifically the HammerSpoon ones), these windows simply won't open no matter how they're opened. I attached a gif of myself trying to open my Todoist app (which I made as such a shortcut) to show what I mean. I also kept the HammerSpoon console open in case that provides any clues.
I'd love any help with this, but since I don't know if this is a keyboard issue or a HammerSpoon issue, I'll keep my hopes low.
Either way, thank you!
Last night I upgraded from Big Sur 11.5 (Intel) to Big Sur 11.5.1. This morning I realized that most of my windows bindings weren't working. (I.E. ctrl-s
+ h
)
All of the alpha bindings no longer work. The symbol bindings (,
, .
, space
, return
, etc.) still appear to be working.
I realized that my versions of Hammerspoon, Karabiner-Elements, and keyboard were all of out date. I spent a bit of time upgrading everything. When that didn't fix it, I removed my configuration and all of the apps and reinstalled from a fresh copy of keyboard.
Now with a fresh copy of everything, nothing has changed. Since I just upgraded to Big Sur 11.5.1 last night, something must have changed with macOS.
Any ideas?
I am not sure if this is related to big Sur or not. I am running brew under Rosetta2 otherwise there is no brew with Big Sur yet. I am using the recommended installation and with pre-installed hammerspoon and Karabiner elements brew fails to recognise the installations. If I delete the installations i get the error below, - still fialing to install the dependencies.
Is this a Big Sur/Rosetta issue?.
❯ script/setup
brew bundle can't satisfy your Brewfile's dependencies.
Satisfy missing dependencies with brew bundle install
.
Error: Cask 'karabiner-elements' is unavailable: No Cask with this name exists.
Installing karabiner-elements has failed!
Error: Cask 'hammerspoon' is unavailable: No Cask with this name exists.
Installing hammerspoon has failed!
Homebrew Bundle failed! 2 Brewfile dependencies failed to install.
.keyboard%:script/setup
/sw/bin/which: illegal option -- s
Usage: /sw/bin/which [-a] args
Homebrew is required: http://brew.sh/
How to I point the installation script to the Homebrew installation?
Hi,
With the CAPS key being mapped to left CTRL, which key or key combination can I use for the CAPS. I do need it from time to time.
Thanks
Greetings,
This layout looks great but right now the Escape/Control remap is not working
When I type Caps lock (only once) it is mapped correctly but the output to the event viewer is as follows:
eventType:keyMod code:0x3b name:Control_L flags:Ctrl misc:characters: KeyCode::CONTROL_L
eventType:keyMod code:0x3b name:Control_L flags: misc:characters: KeyCode::CONTROL_L
eventType:keyDown code:0x35 name:Escape flags: misc:characters: KeyCode::ESCAPE
eventType:keyUp code:0x35 name:Escape flags: misc:characters: KeyCode::ESCAPE
I tried altering Key Overlaid Modifiers and was able to reduce the keypresses from four to two with Initial Modifier Wait at 10 ms:
eventType:keyDown code:0x35 name:Escape flags: misc:characters: KeyCode::ESCAPE
eventType:keyUp code:0x35 name:Escape flags: misc:characters: KeyCode::ESCAPE
Note that my Modifier timeout is set at 300ms as suggested.
Any ideas?
Dear Jason,
I've been trying to install your keyboard on my Mac but when the bits are copied to the terminal the following error pops up:
fatal: destination path '/Users/cyril/.keyboard' already exists and is not an empty directory.
Homebrew is required: http://brew.sh/
Does this mean the keyboard is already installed? If so I would like to know if there are any additional steps to the installation because I am not able to use it's features presently.
Thanks
Cyril
I was starting to learn vim before discovering the (S)uper (D)uper Mode. I'm curious if you think it's still worth it to use vim or not, so far I really like your mode and am probably gonna use it instead.
I tried following your instructions in the markdown to the letter, but there simply is not a "Hyper Mode" in the list. I really want a Hyper key!
Hi,
I recently starting using this set of code, but when I am in super-duper mode, I cannot hit f to go to command, as when I try things like cmd-z or cmd-c, nothing happens. Can someone tell me if I am doing anything wrong?
The next major release of macOS, Big Sur, removes kernel extensions, and in doing so, breaks Karabiner-Elements' functionality (pqrs-org/Karabiner-Elements#2331). There does appear to be a replacement in the works (https://github.com/pqrs-org/Karabiner-DriverKit-VirtualHIDDevice), but I'd like to figure out if it's possible to just stick with Hammerspoon to do all the complex mapping.
You can use Mac's built-in hidutil
to do simple mapping (e.g., Left Control
to F19
for use as a "Hyper" key):
https://developer.apple.com/library/archive/technotes/tn2450/_index.html#//apple_ref/doc/uid/DTS40017618-CH1-KEY_TABLE_USAGES
Using hidutil
to remap keys, I was able to get your "control-escape" button with Caps Lock
mapped to Left Control
, as well as use it to remap Left Control
to F19
and then use F19
as my "Hyper" key.
I've got a few other Karabiner mappings I'd like to recreate with the hidutil
/Hammerspoon combo, but I'm a bit out of my depth here. Being able to map modifiers to different keys if they're held or pressed (like your Super-Duper key combo, for example) would be sweet, I just need to figure out how to generalize it in Lua for Hammerspoon.
Any thoughts?
control+click on a Mac will bring up the right click menu. Since c0e915b, escape is sent when releasing the control key, regardless of how long control was held for, which will close any menu that comes up.
Expected behavior:
Escape key is only sent if control is quickly tapped and released.
Steps to reproduce:
Checking out c0e915b8^
will revert to the expected behavior.
I have local modifications to the keybindings for launching apps in Hyper Mode, which makes updating (i.e. when great features like #13 are added) a little more difficult than I'd like.
What would you think about making it easier to allow local overrides for these? Easiest think I could imagine is just a config file like apps.yml
that is gitignored that gets merged in with the default bindings.
b: Google Chrome # "B" for "Browser"
c: Slack # "C for "Chat"
e: Atom # "E" for "Editor"
f: Finder # "F" for "Finder"
g: Mailplane 3 # "G" for "Gmail"
s: Spotify # "S" for "Spotify"
t: Terminal # "T" for "Terminal"
Steps to reproduce: Type "s" or "d" followed by another character in rapid succession (< MAX_TIME_BETWEEN_SIMULTANEOUS_KEY_PRESSES
), such as se
really fast. Instead of inserting se
, es
is inserted.
Running on macOS 10.13.5 with Hammerspoon 0.9.66. This issue has been consistently reproduced with Hammerspoon running, and has been consistently absent with Hammerspoon closed.
I'm confused as to how to use the (S)uper (D)uper Mode.
I press both "s" and "d" keys together, but nothing happens.
How should I do it?
Thx!
When using multiple screens, if the window is not initially in the far right screen then, then it moves it to the far right screen and off the screen.
I would like to suggest using only Karabiner-elements for activating SuperDuper mode.
First of all, I am a big fan of this mode (Since the old karabiner with xml config). I have tried your current solution with Hammerspoon too (1-2 years back), but it does not work quite well for me. So I have switched out to the hardware solution with QMK
Recently I have come back to Karabiner-elements again and found Goku which compiles to KE json file, and SuperDuper mode is way easier to do, modify, and fast compare to software layer like Hammerspoon. The only downside I found is there will be no HUD display on the screen.
I believe that my solution will solve most of the issues eg. #40, #53, and #59 since it is on Karabiner-elements only.
This is my Goku config file
https://github.com/narze/laptop/blob/master/etc/karabiner.edn#L45
which compile into this big JSON file, see the line 666 and below
https://gist.github.com/narze/a464ed35b37349ca7a572a6b1b5f6ea6#file-karabiner-json-L666
You can extract only superduper mode from the json and try it.
Enter SD mode, and put space down, but h (forward mode) didn't work.
Hello, first of all, thank you very much for sharing your keyboard setup, this repo inspired me to customize my keyboard shortcuts in a way that I feel like I'm a lot more in control now and have the tooling to improve my workflow further on.
One thing that I adopted was the hyper key, using it to open applications.
But one thing that I noticed is that sometimes I would have Chrome open with more than 1 window, and in that case I wouldn't be able to focus the second window.
So I made some changes to the hyper function to focus the other app windows, when there are more on consecutive key presses.
For example, I have set "b" to open Google Chrome, so here is what happens:
If having this behavior is something that you and other folks think makes sense, I can try to create a pull request with those changes.
My hyper module is this one if anyone wants to just copy/paste that: https://github.com/fabiomcosta/keyboard/blob/73b22906b31dfc12cc834c382515e30c4450d0f5/hammerspoon/hyper.lua
I'm a mac user macOS Catalina 10.15.7
After updating Hammerspoon to 0.9.81 almost all my window bindings stopped working. The only working that I see is { {}, 'space', 'centerWithFullHeight' }
I checked Hammerspoon's console and it says the following:
2020-09-30 07:02:57: 07:02:57 ERROR: LuaSkin: hs.hotkey callback: /Users/alexey/.hammerspoon/keyboard/windows.lua:261: attempt to call a nil value (field '?')
stack traceback:
/Users/alexey/.hammerspoon/keyboard/windows.lua:261: in upvalue 'fn'
/Users/alexey/.hammerspoon/keyboard/windows.lua:217: in function </Users/alexey/.hammerspoon/keyboard/windows.lua:215>
2020-09-30 07:02:58: 07:02:58 hotkey: Disabled hotkey F16
2020-09-30 07:02:58: hotkey: Disabled previous hotkey ⌥W
2020-09-30 07:02:58: hotkey: Re-enabled previous hotkey ⌥W
2020-09-30 07:02:58: hotkey: Enabled hotkey F16
2020-09-30 07:02:58: 07:02:58 ERROR: LuaSkin: hs.hotkey callback: /Users/alexey/.hammerspoon/keyboard/windows.lua:261: attempt to call a nil value (field '?')
stack traceback:
/Users/alexey/.hammerspoon/keyboard/windows.lua:261: in upvalue 'fn'
/Users/alexey/.hammerspoon/keyboard/windows.lua:217: in function </Users/alexey/.hammerspoon/keyboard/windows.lua:215>
2020-09-30 07:03:03: 07:03:03 hotkey: Disabled hotkey ⌃U
2020-09-30 07:03:08: 07:03:08 hotkey: Enabled hotkey ⌃U
What could be the problem?
tl;dr: I can't select backwards in (S)uper (D)uper mode by holding down space and tapping h.
Further info:
All other directions (j / k / l) + space do work.
If I modify the line in super.lua
from
charactersToModifers[' '] = 'shift'
to
charactersToModifers['v'] = 'shift'
, then backward selection does work. I could leave it like that, but the cool thing about space is the thumb accessibility.
If I'm inside (S)uper (D)uper mode and I use shift instead of space for selection, I get mixed results:
macOS 10.13.6 (High Sierra), Hammerspoon 0.9.73, Karabiner-Elements 12.1.0
Many thanks for your help!
I can move windows to a different monitor, but not to a different space.
The native shortcut to move to a different space is ctrl
+ →
/←
.
Copying GNOME, we could use ctrl
+ shift
+ →
/←
to move to a screen and take the active window with us?
sd + a + space + h
should select the word to the left, but it doesn't. (sd + a + space + l
works as it should.)
I've compared (S)uper(D)uper + H -> Left
and (S)uper(D)uper + H -> Right
in karabiner.json
but do not see anything that could explain this behavior. What more can I check?
When using "Window Layout Mode: Space" on a multimonitor setup the window always moves to the laptop screen instead of the active screen.
sometimes carelessly I press the Hyper-key (right option, and modified to F17 by Karabiner) , so I think it's better to show some status message will be useful.
Running script/setup
gives me this error:
ln: /Users/harmtemolder/.config//karabiner: Operation not permitted
Rewriting line 12 from
ln -sfn $PWD/karabiner ~/.config/
to
ln -sfn $PWD/karabiner ~/.config
fixed this.
I'm not confident enough around ln
to change the file, but happy to do so if you agree that this would improve it.
When I load the Hammerspoon config (which loads this keyboard), for sometime the period character "." works as expected. Every key press of "." inserts the "." character.
Since the period is not remapped in any of the customized shortcuts, this is as expected.
However, after a while, consistently, I see that pressing the period key does not insert the period. Instead, the only way to insert a period is to consecutively press period twice (within a short time).
In order to insert every "." in this issue description, I had to press "." twice quickly to print it to the screen.
Now as I'm typing this, I'm reloading the Hammerspoon config. And all periods after this point was inserted with a single key press of "." .... -> each period corresponds to a single press now, after reloading the config.
This is an interesting issue. Any idea why this might be happening.
When switching to Russian language, I can't activate SuperDuper mode.
At the same time, WindowsLayout and Markdown modes work just fine.
I use macOS Catalina
Is there any way to make it working?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.