; Autohotkey Full Homerow Computing Remapping ; Originally from: Danik ; Layout heavily modified by John Lunzer ; Last Modified on: Sept 2015 ; ; Functionality: ; - LAlt and LCtrl are swapped so LCtrl is under left thumb. ; - RAlt should be under right thumb. ; - Deactivates capslock for normal (accidental) use. ; - Arrow keys are in inverted T shape rather than VIM. ; {Capslock}: ; ; Arrow keys - J, K, L, I ; Home, PgDn, PgUp, End - H, U, O, ; ; Enter, Backspace, Tab - Space, F, G ; ; Del, Insert - M, \ ; Ctrl, Shift - A, D ; Ctrl + S - S ; Ctrl + N - N ; Ctrl + B - B ; Cut, copy, paste - X, C, V ; Close tab/window - W ; New Tab - T ; Esc - Q ; Undo, redo - Z, Y ; AltTab, AltShiftTab - R, E (for switching windows) ; Scroll up/down - <,> ; F5 - 5 ; Equal Sign - = (equal sign) ; \ - P ; ; Plus some other less imporant stuff ; ; To use capslock as you normally would, you can press WinKey + Capslock ;======================================================================== #InstallKeybdHook #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ;SendMode InputThenPlay ; Recommended for new scripts due to its superior speed and reliability. But this didn't help me #SingleInstance force #Persistent SetCapsLockState, AlwaysOff ;========================================================================= ; Note: you may notice multiple {Ctrl up} used in places, this is because ; I have issues with my control key getting stuck down ;========================================================================= ; Capslock + jkil (left, down, up, right) Capslock & j::Send {Blind}{Left DownTemp} Capslock & j up::Send {Blind}{Left Up} Capslock & k::Send {Blind}{Down DownTemp} Capslock & k up::Send {Blind}{Down Up} Capslock & i::Send {Blind}{Up DownTemp} Capslock & i up::Send {Blind}{Up Up} Capslock & l::Send {Blind}{Right DownTemp} Capslock & l up::Send {Blind}{Right Up} ; Capslock + h;uo (home, end, pgdown, pgup) Capslock & h::Send {Blind}{Home Down} Capslock & h up::Send {Blind}{Home Up} ;make sure that ; doesnt get obliterated #CommentFlag // Capslock & ;::Send {Blind}{End Down} Capslock & ; up::Send {Blind}{End Up} #CommentFlag ; Capslock & u::Send {Blind}{PgUp Down} Capslock & u up::Send {Blind}{PgUp Up} Capslock & o::Send {Blind}{PgDn Down} Capslock & o up::Send {Blind}{PgDn Up} ; Capslock + asdxcv (Ctrl, save, shift, cut-copy-paste) Capslock & a::Send {Blind}{Ctrl Down} Capslock & a up::Send {Blind}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up} Capslock & s::Send {Blind}{Ctrl Down}{s Down} Capslock & s up::Send {Blind}{s Up}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up} Capslock & d::Send {Blind}{Shift Down} Capslock & d up::Send {Blind}{Shift Up}{Shift Up}{Shift Up}{Shift Up}{Shift Up}{Shift Up}{Shift Up} Capslock & x::Send {Blind}{Ctrl Down}{x Down} Capslock & x up::Send {Blind}{Ctrl Up}{Ctrl Up}{x Up}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up} Capslock & c::Send {Blind}{Ctrl Down}{c Down} Capslock & c up::Send {Blind}{Ctrl Up}{Ctrl Up}{c Up}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up} Capslock & v::Send {Blind}{Ctrl Down}{v Down} Capslock & v up::Send {Blind}{Ctrl Up}{Ctrl Up}{v Up}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up}{Ctrl Up} ; Capslock + wt (for internet browsers) Capslock & w::Send {Blind}{Ctrl down}{F4} Capslock & w up::Send {Blind}{Ctrl Up}{Ctrl Up}{F4 Up}{Ctrl Up}{Ctrl Up} Capslock & t::Send {Blind}{Ctrl Down}{t Down} Capslock & t up::Send {Blind}{Ctrl Up}{Ctrl Up}{t Up}{Ctrl Up}{Ctrl Up} ; Capslock + n (new or Ctrl + N) Capslock & n::Send {Blind}{Ctrl Down}{n Down} Capslock & n up::Send {Blind}{Ctrl Up}{Ctrl Up}{n Up}{Ctrl Up}{Ctrl Up} ; Capslock + b (Ctrl + b) Capslock & b::Send {Blind}{Ctrl Down}{b Down} Capslock & b up::Send {Blind}{Ctrl Up}{Ctrl Up}{b Up}{Ctrl Up}{Ctrl Up} ; Capslock + re (AltTab, ShiftAltTab) Capslock & r::AltTab Capslock & e::ShiftAltTab ; Capslock + {space}f\p'mq{tab} (Enter, backspace, insert, \, =, del, esc) Capslock & Space::Send {Blind}{Enter Down} Capslock & Space up::Send {Blind}{Enter up} Capslock & f::Send {Blind}{Backspace Down} Capslock & f up::Send {Blind}{Backspace up} Capslock & \::Send {Blind}{Insert Down} Capslock & \ up::Send {Blind}{Insert up} Capslock & p::Send {Blind}{`\} Capslock & p up::Send {Blind}{`\ up} Capslock & '::Send {Blind}{`=} Capslock & ' up::Send {Blind}{`= up} Capslock & m::Send {Blind}{Del Down} Capslock & m up::Send {Blind}{Del up} Capslock & q::Send {Blind}{esc down} Capslock & q up::Send {Blind}{esc up} ; Capslock + g (tab) Capslock & g::Send {Blind}{Tab Down} Capslock & g up::Send {Blind}{Tab Up} ; Swap LAlt an LCtrl LCtrl::LAlt LAlt::LCtrl ; Optionally swap RAlt and RCtrl ; (I prefer to keep them normal so that RAlt stays close to the spacebar) ; RCtrl::RAlt ; RAlt::RCtrl ; Capslock + z/y (undo/redo) Capslock & z::Send {Blind}{Ctrl Down}{z Down} Capslock & z up::Send {Blind}{Ctrl Up}{Ctrl Up}{z Up}{Ctrl Up}{Ctrl Up} Capslock & y::Send {Blind}{Ctrl Down}{y Down} Capslock & y up::Send {Blind}{Ctrl Up}{Ctrl Up}{y Up}{Ctrl Up}{Ctrl Up} ; Capslock + < or > (this is to mimic scrolling, notice no down/up action, not used for selection) Capslock & <::Send {WheelUp} Capslock & >::Send {WheelDown} ; Capslock + ` (reload script) Capslock & `::Reload ; Capslock + -/= (I use this for making panes bigger and smaller in Leo!) Capslock & -::Send {Alt Down}{Ctrl down}{-}{Ctrl Up}{Ctrl Up}{Alt Up} Capslock & =::Send {Alt Down}{Ctrl down}{=}{Ctrl Up}{Ctrl Up}{Alt Up} ; Make Win Key + Capslock work like Capslock LWin & Capslock:: If GetKeyState("CapsLock", "T") = 1 { SetCapsLockState, AlwaysOff } Else { SetCapsLockState, AlwaysOn } Return