Added magic Hyper- and Mega- prefix for Apple keyboard
This commit is contained in:
parent
d46e4b7ece
commit
7e06b04300
2 changed files with 65 additions and 5 deletions
|
|
@ -333,6 +333,13 @@ The [[https://elpy.readthedocs.io/en/latest/introduction.html][Elpy Project]] ex
|
||||||
(setq elpy-modules (delq 'elpy-module-flymake elpy-modules)))
|
(setq elpy-modules (delq 'elpy-module-flymake elpy-modules)))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
Elpy uses its *own* virtual environment for its backend process (jedi, rope, etc.), keeping elpy's own dependencies out of your project venvs. While there is a [[help:elpy-rpc-reinstall-virtualenv][elpy-rpc-reinstall-virtualenv]] function, I find it doesn’t seem to install everything correctly, and I need to do this by hand:
|
||||||
|
|
||||||
|
#+BEGIN_SRC sh
|
||||||
|
source ~/.emacs.d/elpy/rpc-venv/bin/activate
|
||||||
|
pip install jedi black flake8 ipython
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
After we’ve loaded the Company section, we can add jedi to the list of completions:
|
After we’ve loaded the Company section, we can add jedi to the list of completions:
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,14 @@
|
||||||
;; -*- mode:lisp; -*-
|
;; -*- mode:lisp; -*-
|
||||||
|
;;
|
||||||
;; Here is a keyboard setup for an Apple Macbook keyboard to work with
|
;; Here is a keyboard setup for an Apple Macbook keyboard to work with
|
||||||
;; "home row mods" where holding down keys on the home row can act like a
|
;; "home row mods" where holding down keys on the home row can act
|
||||||
;; modifier, so holding down `d` and hitting `p` results in `P` being
|
;; like a modifier, so holding down `d` and hitting `p` results in a
|
||||||
;; entered.
|
;; capital `P` being entered.
|
||||||
|
;;
|
||||||
|
;; This also includes a dedicated Hyper and Mega modifier layers,
|
||||||
|
;; where holding down the `m' key and striking `a' creates a
|
||||||
|
;; Control+Shift+Option+a key combination. This is useful for fancy
|
||||||
|
;; hotkeys for Hammerspoon and the like.
|
||||||
;;
|
;;
|
||||||
;; Installation:
|
;; Installation:
|
||||||
;; brew install kanata
|
;; brew install kanata
|
||||||
|
|
@ -43,6 +49,7 @@
|
||||||
;; the `h' or `g' keys.
|
;; the `h' or `g' keys.
|
||||||
|
|
||||||
(defalias
|
(defalias
|
||||||
|
;; Home row mods
|
||||||
a (tap-hold $tap-time $hold-time a lmet)
|
a (tap-hold $tap-time $hold-time a lmet)
|
||||||
s (tap-hold $tap-time $hold-time s lctl)
|
s (tap-hold $tap-time $hold-time s lctl)
|
||||||
d (tap-hold $tap-time $hold-time d lsft)
|
d (tap-hold $tap-time $hold-time d lsft)
|
||||||
|
|
@ -53,7 +60,34 @@
|
||||||
k (tap-hold $tap-time $hold-time k rsft)
|
k (tap-hold $tap-time $hold-time k rsft)
|
||||||
l (tap-hold $tap-time $hold-time l rctl)
|
l (tap-hold $tap-time $hold-time l rctl)
|
||||||
; (tap-hold $tap-time $hold-time ; rmet)
|
; (tap-hold $tap-time $hold-time ; rmet)
|
||||||
caps (tap-hold $tap-time $hold-time esc lctl))
|
caps (tap-hold $tap-time $hold-time esc lctl)
|
||||||
|
|
||||||
|
;; ----------------------------------------------------
|
||||||
|
;; HYPER ALIASES (Shift + Ctrl + Option)
|
||||||
|
;; ----------------------------------------------------
|
||||||
|
hq (multi lsft lctl lalt q) hw (multi lsft lctl lalt w) he (multi lsft lctl lalt e) hr (multi lsft lctl lalt r) ht (multi lsft lctl lalt t)
|
||||||
|
hy (multi lsft lctl lalt y) hu (multi lsft lctl lalt u) hi (multi lsft lctl lalt i) ho (multi lsft lctl lalt o) hp (multi lsft lctl lalt p)
|
||||||
|
|
||||||
|
ha (multi lsft lctl lalt a) hs (multi lsft lctl lalt s) hd (multi lsft lctl lalt d) hf (multi lsft lctl lalt f) hg (multi lsft lctl lalt g)
|
||||||
|
hh (multi lsft lctl lalt h) hj (multi lsft lctl lalt j) hk (multi lsft lctl lalt k) hl (multi lsft lctl lalt l) h; (multi lsft lctl lalt ;)
|
||||||
|
|
||||||
|
hz (multi lsft lctl lalt z) hx (multi lsft lctl lalt x) hc (multi lsft lctl lalt c) hv (multi lsft lctl lalt v) hb (multi lsft lctl lalt b)
|
||||||
|
hn (multi lsft lctl lalt n) hm (multi lsft lctl lalt m) h, (multi lsft lctl lalt ,) h. (multi lsft lctl lalt .) h/ (multi lsft lctl lalt /)
|
||||||
|
|
||||||
|
;; ----------------------------------------------------
|
||||||
|
;; MEGA ALIASES (Shift + Ctrl + Option + Cmd)
|
||||||
|
;; ----------------------------------------------------
|
||||||
|
mq (multi lsft lctl lalt lmet q) mw (multi lsft lctl lalt lmet w) me (multi lsft lctl lalt lmet e) mr (multi lsft lctl lalt lmet r) mt (multi lsft lctl lalt lmet t)
|
||||||
|
my (multi lsft lctl lalt lmet y) mu (multi lsft lctl lalt lmet u) mi (multi lsft lctl lalt lmet i) mo (multi lsft lctl lalt lmet o) mp (multi lsft lctl lalt lmet p)
|
||||||
|
|
||||||
|
ma (multi lsft lctl lalt lmet a) ms (multi lsft lctl lalt lmet s) md (multi lsft lctl lalt lmet d) mf (multi lsft lctl lalt lmet f) mg (multi lsft lctl lalt lmet g)
|
||||||
|
mh (multi lsft lctl lalt lmet h) mj (multi lsft lctl lalt lmet j) mk (multi lsft lctl lalt lmet k) ml (multi lsft lctl lalt lmet l) m; (multi lsft lctl lalt lmet ;)
|
||||||
|
|
||||||
|
mz (multi lsft lctl lalt lmet z) mx (multi lsft lctl lalt lmet x) mc (multi lsft lctl lalt lmet c) mv (multi lsft lctl lalt lmet v) mb (multi lsft lctl lalt lmet b)
|
||||||
|
mn (multi lsft lctl lalt lmet n) mm (multi lsft lctl lalt lmet m) m, (multi lsft lctl lalt lmet ,) m. (multi lsft lctl lalt lmet .) m/ (multi lsft lctl lalt lmet /)
|
||||||
|
|
||||||
|
m (tap-hold $tap-time $hold-time m (layer-while-held HYPER))
|
||||||
|
c (tap-hold $tap-time $hold-time c (layer-while-held MEGA)))
|
||||||
|
|
||||||
;; The base layer is fairly normal, except we all out aliases defined
|
;; The base layer is fairly normal, except we all out aliases defined
|
||||||
;; above, os the @a is both a `tap-hold' feature as well as a regular
|
;; above, os the @a is both a `tap-hold' feature as well as a regular
|
||||||
|
|
@ -64,7 +98,7 @@
|
||||||
` 1 2 3 4 5 6 7 8 9 0 - = bspc
|
` 1 2 3 4 5 6 7 8 9 0 - = bspc
|
||||||
tab q w e r t y u i o p [ ] \
|
tab q w e r t y u i o p [ ] \
|
||||||
@caps @a @s @d @f @g @h @j @k @l @; ' ret
|
@caps @a @s @d @f @g @h @j @k @l @; ' ret
|
||||||
lsft z x c v b n m , . / rsft
|
lsft z x @c v b n @m , . / rsft
|
||||||
@h lctl lalt lmet spc rmet ralt)
|
@h lctl lalt lmet spc rmet ralt)
|
||||||
|
|
||||||
;; The other layer is our `symbols' which allows me to hold down the
|
;; The other layer is our `symbols' which allows me to hold down the
|
||||||
|
|
@ -77,3 +111,22 @@
|
||||||
_ S-3 S-4 S-9 S-0 ` left down up right pgdn _ _
|
_ S-3 S-4 S-9 S-0 ` left down up right pgdn _ _
|
||||||
_ S-5 S-6 [ ] S-` F11 F12 F13 F14 F15 _
|
_ S-5 S-6 [ ] S-` F11 F12 F13 F14 F15 _
|
||||||
_ _ _ _ _ _ _)
|
_ _ _ _ _ _ _)
|
||||||
|
|
||||||
|
;; The other layer is our `magic' which allows me to hold down the
|
||||||
|
;; `m' key to invoke a magical VI-like h/j/k/l arrow keys:
|
||||||
|
|
||||||
|
(deflayer HYPER
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
_ @hq @hw @he @hr @ht @hy @hu @hi @ho @hp _ _ _
|
||||||
|
_ @ha @hs @hd @hf @hg @hh @hj @hk @hl @h; _ _
|
||||||
|
_ @hz @hx @hc @hv @hb @hn @hm _ _ _ _
|
||||||
|
_ _ _ _ _ _ _)
|
||||||
|
|
||||||
|
(deflayer MEGA
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
_ @mq @mw @me @mr @mt @my @mu @mi @mo @mp _ _ _
|
||||||
|
_ @ma @ms @md @mf @mg @mh @mj @mk @ml @m; _ _
|
||||||
|
_ @mz @mx @mc @mv @mb @mn @mm _ _ _ _
|
||||||
|
_ _ _ _ _ _ _)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue