MacBook Pro / Windows 7:将 Cmd 键重新映射到 Ctrl,但将 Cmd+Tab 重新映射到 Alt+Tab

MacBook Pro / Windows 7:将 Cmd 键重新映射到 Ctrl,但将 Cmd+Tab 重新映射到 Alt+Tab

我使用的是 MacBook Pro,在 bootcamp 下运行 Windows 7。我习惯在 Mac kb/MacOS X 软件和 Windows kb/Windows 软件之间切换,但 Mac kb/Windows 软件的疯狂混合迫使我在每次击键时都要思考。

我曾想过将 Cmd 键重新映射到 Ctrl(就像我将 Capslock 键映射到 Ctrl 一样,我喜欢在任何操作系统、Windows、Mac 或 Linux 上使用它),但这样 Cmd+Tab 就会出错。

对于进行以下定制有什么建议吗?

  • Cmd+Tab 转到 Alt+Tab
  • Cmd+右箭头转到结束
  • Cmd+左箭头返回主页
  • Cmd+向上箭头转到 PgUp
  • Cmd+向上箭头转到 PgDn
  • 所有其他 Cmd+ 都转换为 Ctrl+

我认为这种按键布局可以让我保持理智,但我希望它能像将 Win 键完全重新映射到 Ctrl 键一样可靠,只有少数例外。

有什么想法吗?我应该直接开始自动热键,我的旧备用,或者是否有更可靠的东西,不需要明确的键列表 - 并记得在每次重启后启动我的 AHK 脚本?

答案1

#SingleInstance force

#r::Send ^r ;reload
#z::Send ^z ; undo
#y::Send ^y ; redo
#f::Send ^f ; find inside apps
#c::Send ^c ; copy
#x::Send ^x ; cut
#v::Send ^v ; paste
#a::Send ^a ; select all
#t::Send ^t ; new tab in browser (IE, Safari, Firefox, etc)
#s::Send ^s ; save inside apps
LWin & Tab::AltTab ; the motherlode, alt-tab!

#Up::Send {PgUp} ; PgUp
#Down::Send {PgDn} ; PgDown
#Left::Send {home} ; Home
#Right::Send {end} ; End
#LButton::^LButton

•所有其他 Cmd+ 都转换为 Ctrl+

我不知道这是否可行,但该脚本应该涵盖大多数常见选项

PS 您可以将 AutoHotkey 设置为在 Windows 启动时自动启动,就像 Windows 上的任何其他程序一样 - 只需将 AutoHotkey 的快捷方式复制到文件夹即可

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"

如果你在 virtualbox 而不是 bootcamp 上运行 windows,那么记得将你的“Host”键从 Left Command 更改为 Right Command(从 Virtualbox(不是 Virtualbox VM)菜单“VirtualBox”->“Preferences”->“Input”)以使这些快捷方式起作用

答案2

我也在 Windows 7 上使用 Apple 键盘,我认为分享我用于映射 OS X 快捷方式的设置可能会很有用。以下 AutoHotKey 脚本具有以下功能:

  • Command 键发送 control 键,Alt 键发送 alt 键,Control 键发送 Windows 键
  • 重要的 OS X 快捷键有效,包括用于移动文本的 command-tab 和 command/alt 箭头
    • Shift-command 和 Shift-alt 带箭头键也可以使文本移动并选择
  • 按住 Command 键单击即可
  • 您可以在 Apple 键盘模式和普通 PC 键盘模式之间切换,同时保持按键位置和快捷键不变。我这样做是因为我在笔记本电脑上使用,而笔记本电脑键盘上的默认映射与 Apple 键盘上的映射不同。当前切换键是 F10,但您当然可以更改它。

我知道似乎应该有一种比单独指定每个组合键更简单的方法,但尝试重新映射修饰键本身会导致各种各样的问题,而且我认为不可能通过这种方式达到相同的效果。


Mode := "Desktop"

F10::    ;This is the hotkey that toggles modes
If Mode = Desktop
{
Mode := "Mobile"
}
else
{
Mode := "Desktop"
}
return

#If (Mode = "Desktop")

; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ;;;Maps Control to Windows;;;
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

^Left::SendInput #{Left}
^Right::SendInput #{Right}
^Up::SendInput #{Up}
^Down::SendInput #{Down}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Maps Command (Windows Key) to Control;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

LWin & Tab::AltTab ; Command-tab

#LButton::SendInput ^{LButton} ; Left mouse button
#RButton::SendInput ^{RButton} ; Right mouse button

#Left::SendInput {Home} ; Command left
#Right::SendInput {End} ; Command right

#+Left::SendInput, +{Home} ; Shift-command left
#+Right::SendInput, +{End} ; Shift-command right

#Up::SendInput ^{Home} ; Command up
#Down::SendInput ^{End} ; Command down

#+Up::SendInput ^+{Home} ; Shift-command up
#+Down::SendInput ^+{End} ; Shift-command down

!Left::SendInput, ^{Left} ; Alt left
!Right::SendInput, ^{Right} ; Alt right

!+Left::SendInput, ^+{Left} ; Shift-alt left
!+Right::SendInput, ^+{Right} ; Shift-alt right

; All alpha-numerics
#a::SendInput ^a
#b::SendInput ^b
#c::SendInput ^c
#d::SendInput ^d
#e::SendInput ^e
#f::SendInput ^f
#g::SendInput ^g
#h::SendInput ^h
#i::SendInput ^i
#j::SendInput ^j
#k::SendInput ^k
#l::SendInput ^l
#m::SendInput ^m
#n::SendInput ^n
#o::SendInput ^o
#p::SendInput ^p
#q::SendInput ^q
#r::SendInput ^r
#s::SendInput ^s
#t::SendInput ^t
#u::SendInput ^u
#v::SendInput ^v
#w::SendInput ^w
#x::SendInput ^x
#y::SendInput ^y
#z::SendInput ^z
#0::SendInput ^0
#1::SendInput ^1
#2::SendInput ^2
#3::SendInput ^3
#4::SendInput ^4
#5::SendInput ^5
#6::SendInput ^6
#7::SendInput ^7
#8::SendInput ^8
#9::SendInput ^9

#Esc::SendInput ^{Esc}


;;;SHIFT-COMMAND;;;
#+a::SendInput ^+a
#+b::SendInput ^+b
#+c::SendInput ^+c
#+d::SendInput ^+d
#+e::SendInput ^+e
#+f::SendInput ^+f
#+g::SendInput ^+g
#+h::SendInput ^+h
#+i::SendInput ^+i
#+j::SendInput ^+j
#+k::SendInput ^+k
#+l::SendInput ^+l
#+m::SendInput ^+m
#+n::SendInput ^+n
#+o::SendInput ^+o
#+p::SendInput ^+p
#+q::SendInput ^+q
#+r::SendInput ^+r
#+s::SendInput ^+s
#+t::SendInput ^+t
#+u::SendInput ^+u
#+v::SendInput ^+v
#+w::SendInput ^+w
#+x::SendInput ^+x
#+y::SendInput ^+y
#+z::SendInput ^+z
#+0::SendInput ^+0
#+1::SendInput ^+1
#+2::SendInput ^+2
#+3::SendInput ^+3
#+4::SendInput ^+4
#+5::SendInput ^+5
#+6::SendInput ^+6
#+7::SendInput ^+7
#+8::SendInput ^+8
#+9::SendInput ^+9

#+Esc::SendInput ^+{Esc}

F9::MsgBox, Desktop

#If (Mode = "Mobile")

; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ;;;Maps Control to Windows;;;
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

^Left::SendInput #{Left}
^Right::SendInput #{Right}
^Up::SendInput #{Up}
^Down::SendInput #{Down}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;Maps Command (Windows Key) to Control;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

!LButton::SendInput ^{LButton} ; Left mouse button
!RButton::SendInput ^{RButton} ; Right mouse button

!Left::SendInput {Home} ; Command left
!Right::SendInput {End} ; Command right

!+Left::SendInput, +{Home} ; Shift-command left
!+Right::SendInput, +{End} ; Shift-command right

!Up::SendInput ^{Home} ; Command up
!Down::SendInput ^{End} ; Command down

!+Up::SendInput ^+{Home} ; Shift-command up
!+Down::SendInput ^+{End} ; Shift-command down

#Left::SendInput, ^{Left} ; Alt left
#Right::SendInput, ^{Right} ; Alt right

#+Left::SendInput, ^+{Left} ; Shift-alt left
#+Right::SendInput, ^+{Right} ; Shift-alt right

; All alpha-numerics
!a::SendInput ^a
!b::SendInput ^b
!c::SendInput ^c
!d::SendInput ^d
!e::SendInput ^e
!f::SendInput ^f
!g::SendInput ^g
!h::SendInput ^h
!i::SendInput ^i
!j::SendInput ^j
!k::SendInput ^k
!l::SendInput ^l
!m::SendInput ^m
!n::SendInput ^n
!o::SendInput ^o
!p::SendInput ^p
!q::SendInput ^q
!r::SendInput ^r
!s::SendInput ^s
!t::SendInput ^t
!u::SendInput ^u
!v::SendInput ^v
!w::SendInput ^w
!x::SendInput ^x
!y::SendInput ^y
!z::SendInput ^z
!0::SendInput ^0
!1::SendInput ^1
!2::SendInput ^2
!3::SendInput ^3
!4::SendInput ^4
!5::SendInput ^5
!6::SendInput ^6
!7::SendInput ^7
!8::SendInput ^8
!9::SendInput ^9

!Esc::SendInput ^{Esc}


;;;SHIFT-COMMAND;;;
!+a::SendInput ^+a
!+b::SendInput ^+b
!+c::SendInput ^+c
!+d::SendInput ^+d
!+e::SendInput ^+e
!+f::SendInput ^+f
!+g::SendInput ^+g
!+h::SendInput ^+h
!+i::SendInput ^+i
!+j::SendInput ^+j
!+k::SendInput ^+k
!+l::SendInput ^+l
!+m::SendInput ^+m
!+n::SendInput ^+n
!+o::SendInput ^+o
!+p::SendInput ^+p
!+q::SendInput ^+q
!+r::SendInput ^+r
!+s::SendInput ^+s
!+t::SendInput ^+t
!+u::SendInput ^+u
!+v::SendInput ^+v
!+w::SendInput ^+w
!+x::SendInput ^+x
!+y::SendInput ^+y
!+z::SendInput ^+z
!+0::SendInput ^+0
!+1::SendInput ^+1
!+2::SendInput ^+2
!+3::SendInput ^+3
!+4::SendInput ^+4
!+5::SendInput ^+5
!+6::SendInput ^+6
!+7::SendInput ^+7
!+8::SendInput ^+8
!+9::SendInput ^+9

!+Esc::SendInput ^+{Esc}

F9::MsgBox, Mobile

相关内容