Is there an equivalent to Win-P (Switch Video Output hotkey)?

Solution 1:

If you have a Fn key on your keyboard, chances are good that some of the remotely intelligible glyphs in the same distinct color as the 'Fn' key already accomplish what you seek for, you'll just have to hold Fn and press F10.

For this to work, your laptop vendor must have its entry at /lib/udev/keymaps and udev must correctly detect your keyboard type.

For example, doing a grep -r switchvideomode there yields:


./module-lenovo:0x6 switchvideomode # Fn+F7
./acer:0xA9 switchvideomode # Fn+F5
./samsung-other:0x82 switchvideomode # Fn+F4 CRT/LCD (high keycode: "displaytoggle")
./fujitsu-amilo_pro_edition_v3505:0xA9 switchvideomode # Fn-F3
./fujitsu-esprimo_mobile_v5:0xA9 switchvideomode
./module-sony-vgn:0x11 switchvideomode # Fn+F7
./module-sony:0x0B switchvideomode # Fn+F7
./dell:0x8B switchvideomode # Fn+F8 CRT/LCD (high keycode: "displaytoggle")
./dell:0x8F switchvideomode # Fn+F7 aspect ratio
./dell:0x9B switchvideomode # Display Toggle button
./olpc-xo:0x69 switchvideomode # Brightness key
./module-ibm:0x06 switchvideomode # Fn+F7
./oqo-model2:0xF0 switchvideomode
./onkyo:0xF5 switchvideomode # Fn+E
./lenovo-thinkpad-usb-keyboard-trackpoint:0x90016 switchvideomode # Fn+F7
./zepto-znote:0x93 switchvideomode    # Fn+F3 Toggle Video Output
./ibm-thinkpad-usb-keyboard-trackpoint:0x900f2 switchvideomode
./fujitsu-amilo_pro_v3205:0xF7 switchvideomode # Fn+F3
./lenovo-3000:0x8B switchvideomode # Fn+F7 video
./hewlett-packard:0xEE switchvideomode # FnF4

Otherwise, you can write your own taking the nearest match as a template and maybe submit it to canonical's laptop testers for inclusion.

Solution 2:

Not sure if it's the same in Ubuntu, but in Debian KDE it goes like this:

System Settings -> Shortcuts & Gestures -> Global Keyboard Shortcuts -> KDE Daemon (from drop down list) -> Switch Display - map to Win + P or whatever you want.

Solution 3:

You can probably get your fn + display key to work if you boot with

acpi_osi=Linux

or

acpi_osi='Windows 2006'

Your BIOS probably thinks that you're running Windows 7, so it maps your fn + display key to Windows + P. With the above kernel parameter, you can tell the BIOS that you're running Linux or Windows Vista (which doesn't support Windows + P) and it hopefully won't map to Windows + P.

To do this, when you turn on your computer, press E. You will see a screen like this:

grub2

Press the down arrow until you reach the line that begins with "linux" then press the End key to put the cursor at the end of the line. Then type in either of the above parameters (not both).

If that works, then you can change the following line in /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

to

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi='The one you chose'"