So, we have Microsoft slowly but surely trying to be a better citizen in the computing world - with the emphasis on trying. After years of dragging their feet, the company is finally implementing web standards in Internet Explorer, there's a boatload of interoperability information now, that sort of stuff. And then, just when you think they're starting to get it - they go behind our backs to do something incredibly insipid. It's small, you'll barely notice it, but dear lord, it's really, really annoying.

I just read so quick, can't they do it with just software driver update instead of firmware update.

But there will be always mess (someone has to take the hit,here it is linux)when you are trying to transition from kioks to standards. Still like the WIN+P in windows 7. I don't have to search for the keys when I work with different laptops.

The screen change function key normally works through the BIOS independent of any installed OS. When you press Fn+F5 (Lenovo), the hardware is switching between lcd/vga/vga+lcd display combinations. Windows doesn't care, Debian doesn't care; it's all done separately from the OS as it should be.

Now, it seems Microsoft has convinced vendors to ship hardware that wires what should be a hardware function back into the OS and only if it happens to be Windows7.

I don't think it's a matter of Microsoft thinking they are the only OS in town so much as them continuing to imposed barriers to consumer choice any way they can get away with it.

This is de-evolution of computer hardware. I second Thom's sentiments; Microsoft, You Suck.

This isn't the only way or even the best way for a PC manufacturer to implement that bullet-pointed recommendation.

I don't see how this is Microsoft's fault. The hardware does not have to generate WIN+P from the keyboard controller to validly invoke the dialog box. It might just be the easiest way to accomplish the goal.

So Microsoft makes an OS that slows down the more you use it without an easy way to reinstall without losing data. The user tries to fix this with 'solutions' from the internet. This makes the OS even more buggy and slow. And even though MS created this problem. You point to the user because he should change his behavior to keep the system optimally running.

Like if they really care with all the billions of customers and money they already have.

That the problem for us users. Finally it is becoming a problem for Microsoft too. Please check their 2010 Q1 balance sheet - and no, it's not just the recession, the balance sheet has been progressively worsening recently if you pay very close attention, which is not a good thing for growth-obsessed investors. Despite massive stock buy-backs to keep the share price afloat it has been very slowly deflating. Investors know to put their money elsewhere.

The problem is because there is a growing movement where the smartest people avoid their software, and recommend others do the same as a result of really irksome technical practices like the one described in the original post.

I once read Microsoft's current business practices summed up once as, "In order for Microsoft to win, the customer must lose".

Coming up with (poorly though out) 'solutions' like this that don't work well with the rest of the infrastructure used to be a deliberate strategy to move things to a MS-only world. Clearly they didn't succeed and that attitude is becoming more and more painful now that the Windows PC is not the center of much of the World's digital experience as they move to smart phones etc.

I know there are some intelligent, hard-working, Microsoft folks that read these forums. Please use what influence you have to stop such silly decisions from being made. You hurt users that don't use Windows products, which you could argue don't matter, but in fact these then use their disproportionate influence to stop purchases of Windows for family, friends and colleagues (since they often have professional IT careers, maybe they're not 'decision makers' but that decision-making person never gets to make an MS-favourable decision if the 'influencers' never put such options it in front of them, get it?).

In short, when the elephant turns around it should take care what it steps on.

Er, that's the _whole point_. Exactly as you say, having the hardware key generate win+p keycode is the silliest way to do this, yet that's exactly what Microsoft recommends: that's precisely what the bullet point is telling manufacturers to do.

"So, if your display switch button now just makes the letter 'P' appear, say thanks to Microsoft," Matthew Garrett writes on his blog, "There's a range of ways we can fix this, although none of them are straightforward and those of you who currently use left-Windows-p as a keyboard shortcut are going to be sad. I would say that I feel your pain, but my current plan is to spend the immediate future getting drunk enough that I stop caring."

Wow this is the most pathetic thing I've read in my life. Some people really need to get out from their basement and get a life.

And that's why we need opensource BIOS in a first place. One needs to stay completely independent from it's reseller/vendor [after purchasing].
I can show you like tons of stupid things that makes us - users of other operating systems - very frustrated. One of the most idiotic is Da WinKey ... Fortunately it doesn't assing to anything on unix, so you can just ignore it, but it is unneeded and it makes me sick when I have to watch this little, monographic "Windows sign".
It's like a warning from the graves of The ColourfulKidoComputingOfWindowsLand: "We are there and we want to get to yer ass!".
D'oh!

And that's why we need opensource BIOS in a first place. One needs to stay completely independent from it's reseller/vendor [after purchasing].

I agree completely; I've been waiting for the PC world to adopt an OpenFirmware/EFI solution for years now.

I can show you like tons of stupid things that makes us - users of other operating systems - very frustrated. One of the most idiotic is Da WinKey ... Fortunately it doesn't assing to anything on unix, so you can just ignore it, but it is unneeded and it makes me sick when I have to watch this little, monographic "Windows sign".

That's one of three reasons I have a MacAlly iKey4 keyboard on my main box: No annoying Windows key. The other two reasons are that I have OS X as a boot option (yes it's a Hackintosh), and the keyboard is an absolute pleasure to type on.

I agree completely; I've been waiting for the PC world to adopt an OpenFirmware/EFI solution for years now.

OpenFirmware is just too different - you'd have to add lots of support for it to the operating systems, and somehow combine it with the PC technologies (which includes ACPI) to make it work nicely. OLPC was free to tweak the platform at will, and you might be able to salvage parts of that, but it's still much work for relatively little gain.

EFI doesn't help with open source or vendor independence: There is no completely open EFI code out there. Tianocore only covers the parts of EFI that happen long after hardware is initialized, the init stuff is closed. You could say that it's merely an operating system, and that wouldn't be too far from the truth (see "EFI Shell").

There might be a project to combine Tianocore and coreboot in this year's Google Summer of Code - if that's approved (and the student succeeds), we will have the first complete open source EFI implementation later this year.

One of the most idiotic is Da WinKey ... Fortunately it doesn't assing to anything on unix, so you can just ignore it, but it is unneeded and it makes me sick when I have to watch this little, monographic "Windows sign".
It's like a warning from the graves of The ColourfulKidoComputingOfWindowsLand: "We are there and we want to get to yer ass!".
D'oh!

I used to think like that, until I realised that it makes sense to have a meta-key that is not used by applications.

CTRL+ and ALT+ are used by applications for keyboard shortcuts.

WIN+ is used for OS-level keyboard shortcuts. Keeps things nicely separated. And, this works best in non-Windows systems where you can map the WIN+ key shortcuts to whatever you want. In a way, MS made things better for non-MS OS users.

Microsoft, instead of having windows+p generate a standard event that is also generated by the display switch key, now recommends the display switch key generate win+p instead? Do I have that right?
Why not just make win+p and display switch use the same event? There's only one reason, Microsoft is trying to screw everyone else in any way they can. When will you people understand that all Microsoft's talk about standards is just lip service until they can stick it to you? Stop believing their pr line, and that they're trying. Believe their *actions* instead.

Thom, I could not agree with you more. Open Source is where it is at. For all you Microsoft and Apple lovers out there I have a few comments. Wake up and smell the coffee, quit contributing to Bill's billions and Job's millions, and do some soul searching. You might just find out how clueless you really are. VIVA LINUX!!!

Hardware is much more difficult to open up...
Anyone can go and write software easily, but to manufacture hardware you need specialized equipment.

That said, hardware is currently far more open than commercial software... There are open processor architectures which you could use if you had the appropriate manufacturing equipment... There is plenty of competition in the hardware market and for any given piece of hardware there are usual several compatible choices.

The entire market is upside down, software should be far more open and massively cheaper than hardware... Software should be available free, or given away with hardware and it shouldn't be possible to profit from something that can be trivially duplicated for free by anyone.

Hardware is a whole different beast, it has unavoidable up front costs (manufacturing equipment) and ongoing per unit costs (raw materials etc)...

Anyone can go and write software easily, but to manufacture hardware you need specialized equipment.

Anyone can go and write software easily? Ok go make that open source AutoCad alternative that I have seen requested thousands of times.

Software is not easy to write and requires specialized talent. Crysis cost 22 million to make and they had the benefit of a highly talented development team. Duplicating Autocad would likely cost over 100 million.

Hardware is a whole different beast, it has unavoidable up front costs (manufacturing equipment) and ongoing per unit costs (raw materials etc)...

Like many open source advocates you don't understand the economics of software development. Duplicating something like Mathcad also has huge up front costs as well as continual costs as the needs of industry change. But feel free to start a Sourceforge project to prove me wrong. Good luck finding hundreds of developers that want to work an a Mathcad alternative in their spare time. You'll learn as Sun did that the army of basement coders is really just a myth.

What would your advice be to me? I use all three operating systems. I've tried going 100% Linux, and there are just some things lacking. Personally, I'd much rather have a system that works and does what I need, instead of crusading for vendors to embrace Linux which has been happening for as far back as I can remember.

Calling someone clueless for using something that works for them is not the way to bring people to share your viewpoint. In fact, it smells of zealotry.

1. The continual attitude that proprietary software is bad, even when so much open source software is a clone of something proprietary or built on a proprietary framework.

2. The continual attitude that the Linux/Unix way is better, even if there was no explanation as to why.

3. The continual defense of system components that clearly had problems (packaging, audio, unstable abi/api) compared to competing systems.

4. The continual deceit and propaganda related to Linux's deficiencies.

5. A lack of vision on the part of Linux kernel developers who really don't care about making a useful desktop system. They don't even care about creating any type of system given the fact that they hack a kernel and then let everyone downstream decide what to do with it.

If you want me to get involved with an OS revolution then find one where the people at the top actually want to create a complete system that meets not just the needs of users but also hardware and software providers. That isn't Linux, not by a longshot so wave your flag somewhere else.

Oh, they all suck, in some way. The hardware vendors who foisted ACPI on us are equally to blame.

I could speculate that mapping the Fn-whatever key to 'dows+p (sorry, I'm not seeing a win here) is a shrewd decision designed to reduce tech support calls. But then again human intelligence in large corporate entities generally seems to be inversely proportional to org chart altitude, so it could have just been a day's work by some guy resembling the suit on the Geico commercials.

At least with open source, you (in theory) have the opportunity to fix things you don't like about your OS or apps. And you can turn off/leave out things you don't want or use. But in spite of Windows' suckiness, all the benefits of open source have failed to dislodge it. I'd guess Mac OS is probably the best alternative OS out there for the general public (haven't used it myself), yet it hasn't put an appreciable dent in Microsoft's market share. Inertia is a quirky thing.

1. The continual attitude that proprietary software is bad, even when so much open source software is a clone of something proprietary or built on a proprietary framework.

2. The continual attitude that the Linux/Unix way is better, even if there was no explanation as to why.

3. The continual defense of system components that clearly had problems (packaging, audio, unstable abi/api) compared to competing systems.

4. The continual deceit and propaganda related to Linux's deficiencies.

5. A lack of vision on the part of Linux kernel developers who really don't care about making a useful desktop system. They don't even care about creating any type of system given the fact that they hack a kernel and then let everyone downstream decide what to do with it.

If you want me to get involved with an OS revolution then find one where the people at the top actually want to create a complete system that meets not just the needs of users but also hardware and software providers. That isn't Linux, not by a longshot so wave your flag somewhere else.

Your points are all valid, nevertheless, I LOVE Linux and won't ever go back to Windows. I've been running Linux for seven plus years now and its on all of my machines from my home file server to my workstation, to my laptop to my netbook. That's what I love about Linux; it works and works well across a broad range of hardware. Sure, there are the occasional issues that crop up but I enjoy fiddling and so fixing them is a challenge and a pleasure. Plus I never stop learning new things along the way. I don't care a fig about all the political hoopla and bickering within the FOSS community. I just don't like Windows and I rather loath Microsoft as a company. End of story. That being said, I think Windows 7 is a major step in the right direction! Just like KDE 4.4 on the Linux side. Furthermore, I would welcome more proprietary titles on Linux such as Microsoft Office, Adobe Creative Suite, and Roxio Media Creator Professional.

1. The continual attitude that open source software is bad, even when so much proprietary software is a clone of something open source or built on a open source framework.

2. The continual attitude that the Windows way is better, even if there was no explanation as to why.

3. The continual defense of system components that clearly had problems (packaging, audio, unstable abi/api) compared to competing systems.

4. The continual deceit and propaganda related to Windows's deficiencies.

5. A lack of vision on the part of Windows kernel developers who really don't care about making a useful desktop system. They don't even care about creating any type of system given the fact that they hack a kernel and then let everyone downstream decide what to do with it.

If you want me to get involved with an OS revolution then find one where the people at the top actually want to create a complete system that meets not just the needs of users but also hardware and software providers. That isn't Windows, not by a longshot so wave your flag somewhere else.

^^^ I did some sed-replacements on that text. It's still true like this. Now what was your point again?

My point: All operating systems suck. Depending on your preference, some might suck less than the others. Take your pick and be merry.

I don't think its Microsoft's fault at all. I think you whine too much.
All hardware vendors change key mappings all the times. Heck even software vendors change them more frequently. Just because some companies are following Microsoft suit that doesn't mean "they suck". No body forced you or the vendor to use/implement this. There are so many laptop vendors just find another one.

I don't think its Microsoft's fault at all. I think you whine too much.
All hardware vendors change key mappings all the times. Heck even software vendors change them more frequently. Just because some companies are following Microsoft suit that doesn't mean "they suck". No body forced you or the vendor to use/implement this. There are so many laptop vendors just find another one.

I agree, Linux fanboys are always trying to look at excuses to bash Microsoft.

Maybe it makes them feel better or superior, the truth is that Microsoft doesn't have a monopoly, they have a market share. And they won it by giving people what they want.

Linux fanboys also like to say how evil Microsoft is by making vendor lock-in APIs such as DirectX, but nobody says anything when Linux come up with vendor lock-in APIs such as ALSA which is Linux only.

ACPI contains some embedded code that is run/interpreted by the OS under certain conditions, called "AML" (ACPI Machine Language). So that this AML can support different OSs "better", the OS tells the ACPI what it is and depending on what the OS says it is the AML behaves differently. In this case, if the OS says that it is "Windows 7" then the AML modifies the behaviour of the "win + p" to better suit Windows 7.

Why is this a problem? Because Linux lie to the AML and say that Linux is "Windows 7", when obviously Linux isn't.

So, why aren't I blaming Linux for lying to the AML? This is because ACPI/AML is a disgusting overcomplicated mess; and if Linux told AML "I'm Linux" then the AML would disable most of the nice features.

Basically, Linux doesn't have much choice - the design of ACPI (and the resulting AML created by firmware) is broken, and has been since it was created. The OS should say "I support ACPI/AML version X.Y.Z" (and differences in AML behaviour should be specified properly in the ACPI specification), but ACPI was never designed like that.

So, it's ACPI's fault. ACPI is designed by a committee (not unlike the proverbial camel); therefore it's this committee's fault. Guess who the main participant is in this committee...

However, it's important to realise that the "win + p" problem is only a symptom of a much larger problem (ACPI) and that the real problem has been lurking for about a decade now, and will probably surface again (and again and again, each time a new version of Windows is released).

Is EFI any better in that respect? E.g. will things improve in the future?

Unfortunately, for 80x86, U/EFI uses (almost) the exact same ACPI tables and AML as "PC BIOS" systems, with the same problem/s.

Even for Itanium there'd be the same problem: AML that only supports (the 2 most recent versions of?) Windows properly, where all other OSs get screwed unless they pretend to be a certain version of Windows and support things the same way as that version of Windows (and where this "same way as a version of Windows" isn't specified by the ACPI standard and isn't clearly stated anywhere that's easily obtainable).

Other OSs could stop pretending to be a version of Windows and expect the firmware's AML to support the quirks and features for several versions Windows, plus the quirks and features for several versions Linux, Solaris, FreeBSD/NetBSD/OpenBSD, Hiaku, and every other OS you can think of. This may have been what the original intent was (but it doesn't take much intelligence to realise firmware authors aren't going to bother writing and testing "special case" AML code for lots of versions of lots of OSs; and keep releasing new versions of their firmware when any of these OSs make improvements).

Actually, Apple might be the only ones not being disadvantaged here - they might have enough control over the design of the firmware used in their systems (and its AML) to make sure that OS X works well (regardless of what Microsoft does).

This is because ACPI/AML is a disgusting overcomplicated mess; and if Linux told AML "I'm Linux" then the AML would disable most of the nice features.

ACPI was originally developed by Microsoft, Intel and Toshiba. Microsoft don't like GNU/Linux, Toshiba don't support Linux and say so on their forums, of which they have a Linux section that never gets any sort of response to anyone's questions (I had to return an otherwise very nice Toshiba NB305 netbook because ACPI crippled the netbook's features). Intel are more flexible, but I doubt they'd rally in support of Linux.

Is it really a surprise that Linux has to work like crazy in order to make ACPI work, and why so many Linux users just end up disabling it?

Most BIOS vendors don't bother coding Linux ACPI stuff because it's waste of time. Why bother spending same time and money to support something that has 1% market share as they spend on supporting something that has 98% marketshare. Why should Microsoft force BIOS vendors to code insane amount of code to support minor OSes? And who's OSes should be there? In business time = money, you don't sell code, you sell time spent on coding. Why the fuck is so hard to Linux people just to code Win+P behavior like Microsoft did? They probaply end up cleaning lot of unneeded code in future since there will be standard way to handle those HW buttons.

No, this "Win+P" nonsense is hardly a standard way to handle it. Windows, in fact, does not HAVE a standard way to handle all those extra buttons on your keyboard. It had two (otherwise unused key codes, and ACPI events). Now it has one more (fake a keyboard shortcut).

The only "standard" is the "copy whatever Microsoft does" standard. If you want something that Microsoft doesn't do yet (like display switching before Windows 7), you have to do it yourself. Which is why so many keyboards and mice need extra drivers and support applications on Windows, each of which is specific to one piece of hardware.

Such was the state of play with display switching until Windows 7. In Linux, this was a solved problem - keycodes and ACPI events were both exposed to user-space in exactly the same way, so you could just write support for it once, and be done with it. Had any OEMs actually bothered, they could have added support for their own hardware by just adding the key code or ACPI event to the list, without having to write any of their own software.

Now Microsoft come alone to solve the problem on their platform. They could have assigned a keycode or ACPI event to it, and supported only this. They've done that plenty of times before - for nearly every extra key on a normal USB keyboard that works in Windows without needing a driver CD. Simple, non-desruptive, plays nicely with earlier versions of Windows, with older hardware, and with other operating systems.

Nah. Can't be bothered - that's sounds too much like work. Just assign it an arbitrary keyboard shortcut (that WE aren't using - screw everyone else), and tell hardware manufacturers to map the display switch key to it.

And, of course, hardware manufacturers just do it. Because Microsoft told them to.

Most BIOS vendors don't bother coding Linux ACPI stuff because it's waste of time. Why bother spending same time and money to support something that has 1% market share as they spend on supporting something that has 98% marketshare.

The question is why do BIOS vendors have to target specific OSes? Why would they have to ask if the OS is Windows in order to provide certain features or else tell the OS to fuck off?

Wouldn't make more sense to just provide a set of capabilities and let the OS take advantage of them if they can, despite of it's name? I mean, why doesn't the BIOS work the same as pretty much everything else?

Has anyone started to compile a list of vendors who've broken hardware monitor switching? It would be handy to know when recommending laptop brands as well as watching for Lenovo appearing on the list so I don't have to be surprised when my work dualboot breaks.

I'm having a real hard time caring about such an issue. I couldn't care less what key combination invokes the code for display switching, as long as it is easy to find out.

I think you're missing the point. It's not so much an issue of which key combination triggers it, but what the *driver* is, according to Microsoft, supposed to do. Instead of actually handling it, in hardware and triggered by an ACPI event as it should be, Microsoft wants the driver's display switch functionality to trigger the key combination windows+p. This means, just in case anyone is vague on this issue, that the ACPI event the driver would normally respond to is simply supposed to simulate windows+p which, in turn, means that any os that doesn't use windows+p as its display switch hotkey is fubared unless it emulates it. The funny thing about this is, not only does it leave out any os but Windows, but it also leaves out any older version of Windows than 7. So XP and Vista users get screwed too and, while Microsoft will probably release an update to Vista, I doubt XP will get the same treatment. Given how many XP users there still are, I can just imagine what's going to happen the next time the gamers update their video drivers and get bitten by this.
Personally, I think it should just be handled completely in hardware the way it used to be. Unfortunately, it seems everything (audio mixing and resampling, display control, speaker volume control, etc) is getting thrown into software for the sake of cheaper, though crappier, hardware.

Why do the hardware vendors allow Microsoft to dictate their key mapping preferences (i.e., walk all over them?) Apparently the hardware vendors don't yet get it that there are OTHER operating systems besides the ubiquitous Microsoft Winows and people do indeed use them. Microsoft says jump, they ask "how high?" If I were in charge of such decisions at an OEM, I would simply fire off a memorandum to Microsoft alerting them that their non-standard request to change a standard key map isn't going to fly and that they will have to reprogram their mapping in Windows some other way. I can't imagine how this took off in the first place, considering the "Print Scrn / sys req'd" key has been in place on hardware keyboards forever even though DOS has been out of vogue for some time now. Stuff like this really makes me angry, especially as a Linux user who is finally marveling at how my OS of choice usually "just works" on a range of hardware thanks to standards. I wonder what the response to Canonical would be if it requested a key map change such as the Win+P debacle!

We life in a society where money is valued over morals. I don't like that at all.

Yeah funny thing about that, everyone says they hate it... up until *they* get the money. Then it's suddenly ok. We're creatures of convenience, and everyone has a price, just look at government or other wealthy people. I don't see them clambering for change, even when they once did before they were at the top.
But how'd we get on this topic?

Okey so it's Microsoft fault that they want to make better user experience on there OS on machines that HWM(hardware maker) SUPPORT and small minority of people who installed NON-SUPPORTED OS is now suffering? FFS they try to improve there product by making standard way how thing is done.

Seriously if this is such a problem, don't buy machines from those HWM who use this better way, buy freaking Apple then. And before you even say, there is no customer law behind you since your OS isn't fucking support in first place.

Stop blaming others when real reason is behind bench, activate, call HWMs, demand better support, use the fucking social media to make true contacts that matter in real life, try make social forums and if after that they all say FU, well you are fucked and then you can bitch moan how Microsoft is so bad, pllaaa plaaa. We aren't living in freetardism where very small whinning minority is ruling.

If you really want to nitpick about those "Little Things" that add up you should just take a look every popular Linux distribution. Oh what the heck let me complain about those things that they Missed on OS X.

I have a horror story for every time I try to install Ubuntu... I have Never Ever have gotten a full clean install of the OS without having to search and hunt for a driver with a name that that has nothing to do with the driver that I am looking for. Or just try reporting a bug to Ubuntu... I finally got a message back nitpicking about some detail about my bug report. I told him don't bother I found the fix I installed Windows 7 and it works fine.

Or Horrors about the Mac OS X Filesytem problems where one wrong update cause it go in essence die and those tools that suppose to fix it just make it worse.

If you are a big Linux fan you will get a computer designed to fully support linux and it works great! If you are a big Mac Fan you buy their higher end stuff (not the cheapest in the store) and OS X runs like a real champ.

Heck those Windows Fanboys get those PC's with Solid Windows support for the drivers and windows runs like you never have seen it before.

It are little things like this that make Microsoft so incredibly [hatable]. This is Microsoft still assuming, after [all] these years and all these antitrust cases, that they are alone in this world. They still cannot imagine someone would be running anything other than Windows on their machines.

It's not so much that Microsoft "still cannot imagine someone would be running anything other than Windows" as it is Microsoft doesn't want you running anything other than Windows.

This is a blatant anti-trust issue - using their market dominance to try to push others out, and a very sneaky one at that. The US-DOJ and/or EU should take this one up, and make MS inter-operate with other operating systems.