实现F0切屏功能,分为如下几步:
分析:通过showkey -k ,发现F10键被bios映射到了win+p键上。
1. 准备好切屏脚本(python),见/usr/lib/cinnamon-multimonitor-
switcher/cinnamon- multimonitor-switcher.py 。
2. 将win+p绑定到VIDEO_OUT_KEY,
gnome-settings-daemon-3.8.6.1/plugins/media-keys/shortcuts-list.h
{ VIDEO_OUT_KEY, NULL, N_("Video Out"), "p",
SHELL_KEYBINDING_MODE_ALL },
3.将 VIDEO_OUT_KEY绑定到cinnamon-multimonitor-switcher。
gnome-settings-daemon-3.8.6.1/plugins/media-keys/gsd-media-keys-manager.c
case VIDEO_OUT_KEY:
execute(manager,"cinnamon-multimonitor-switcher",FALSE);
break;
至此,F10应经可以切屏。但按F10时,终端会打印字母p,因为F10绑定了
win+p,第4步是解决这个问题。
4.cinnamon/js/ui$ vi keybindings.js
this.addHotKey("Custom0", "p", Lang.bind(this, function() {
Util.spawnCommandLine("cinnamon-multimonitor-switcher");
}))