   return
 
 <^x::
-  send #x
+  if is_terminal()
+    ; FIXME (himkt): %A_ThisHotKey%
+    send ^x
+  else
+    send #x
   return
 
 <#+z::

SetKeyDelay 0


; Cursor

^a::
  if is_not_terminal()
    send %A_ThisHotKey%
  else
    send {HOME}
  return

^d::
  if is_not_terminal()
    send %A_ThisHotKey%
  else
    send {DEL}
  return

^e::
  if is_not_terminal()
    send %A_ThisHotKey%
  else
    send {END}
  return

^p::
  if is_not_terminal()
    send %A_ThisHotKey%
  else
    send {Up}
  return

^n::
  if is_not_terminal()
    send %A_ThisHotKey%
  else
    send {Down}
  return

^f::
  if is_not_terminal()
    send %A_ThisHotKey%
  else
    send {Right}
  return

^+f::
  if is_not_terminal()
    send %A_ThisHotKey%
  else
    send ^f
  return

^b::
  if is_not_terminal()
    send %A_ThisHotKey%
  else
    send {Left}
  return


; Mac-style commands (Win + {key})

<#a::
  send ^a
  return

<#b::
  if is_vscode()
    send %A_ThisHotKey%


<#d::
  send ^d
  return

; cursor
^d::
  if is_terminal()
    send %A_ThisHotKey%
  else
    send {DEL}
  return

; cursor
^e::
  if is_terminal()
    send %A_ThisHotKey%
  else
    send {END}
  return

; cursor
^f::
  if is_terminal()
    send %A_ThisHotKey%
  else
    send {Right}
  return

^+f::
  if is_terminal()
    send %A_ThisHotKey%
  else
    send ^f
  return

; win+d -> win+m
