Metro UI mouse back button
-
17 กันยายน 2554 10:55In Metro UI when i click the back button on my mouse, nothing happens. I am used to that button in navigating in many programs and to see it not used in Metro is disappointing. But ok, you have time to fix this and i hope you read this and give it some thought.
- เปลี่ยนแปลงประเภท Matt SmallMicrosoft, Moderator 19 กันยายน 2554 18:59 Not a specific technical question.
- เปลี่ยนแปลงประเภท Jeff SandersMicrosoft, Moderator 14 ตุลาคม 2554 12:37
- ย้ายโดย Rob CaplanMicrosoft, Moderator 15 มกราคม 2556 1:57 Coding question, not a design question
ตอบทั้งหมด
-
19 กันยายน 2554 2:22It works great in Metro IE, so perhaps they should have shown the interns how to hook it?
-
20 กันยายน 2554 13:27ผู้ดูแล
Are you curious as to how to respond to mouse events in Metro style applications, or are there just some Metro style apps that you feel should do something with particular mouse events? I do not think there is a defined behavior for the back mouse button (my mouse does not have a back button) that all applications are expected to have, so it would be up to you to define this.
Jeff Sanders (MSFT)- เสนอเป็นคำตอบโดย Jeff SandersMicrosoft, Moderator 14 ตุลาคม 2554 12:37
- ทำเครื่องหมายเป็นคำตอบโดย Jeff SandersMicrosoft, Moderator 18 ตุลาคม 2554 16:01
-
27 เมษายน 2555 10:52I also want to know more about controlling an app with mouse buttons. I want to connect the Back mouse button to go back a page, the same action as clicking the back arrow. Any code sample in XAML C# would be handy.
techAU http://techAU.tv
-
29 เมษายน 2555 8:14
Yeah I just want to know how to respond to the mouse event for back button. I want this to go back to the previous page, just the same as clicking the back button.
The syntax in C# would be great.
techAU http://techAU.tv
-
2 พฤษภาคม 2555 12:14ผู้ดูแล
I think these are software mapped to keys but I will do some more research and repost here.
-Jeff
Jeff Sanders (MSFT)
-
2 พฤษภาคม 2555 14:15ผู้ดูแล
I tracked this down and found the following:
http://msdn.microsoft.com/en-us/library/ms997498.aspx
These buttons map to WM_APPCOMMAND (or xbutton) and this is not reflected in XAML. You also cannot hook WndProc to handle this yourself.
-Jeff
Jeff Sanders (MSFT)
- เสนอเป็นคำตอบโดย Jeff SandersMicrosoft, Moderator 2 พฤษภาคม 2555 14:15
-
10 พฤษภาคม 2555 4:14
Jeff,
I have been involved in a similar discussion in the Xaml forum: http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/99e70b45-64bd-47d4-9505-aadda4cc211a.
There needs to be a way to be able to handle these keys. It is very important for accessibility, it is very important if devices at some point end up with a back button on them. Back button is something that I use on the phone all the time and I would expect some devices to include them. And obviously if Windows phone 8 is going to be based on Windows 8 as the rumours are currently then it needs to be able to be handled there as well.
The same keys should be available in WinRT as are available in WPF, it's not a particularly hard thing for Microsoft to do, and is important given the fact that we can't do it ourselves.
...Stefan
-
10 พฤษภาคม 2555 11:57ผู้ดูแล
Hi Stefan,
I have notified the product group of your request. Thanks for all your feedback everyone!
-Jeff
Jeff Sanders (MSFT)
- ทำเครื่องหมายเป็นคำตอบโดย Jeff SandersMicrosoft, Moderator 10 พฤษภาคม 2555 11:57
-
6 มิถุนายน 2555 2:53This is fixed in RP. Thanks.
-
12 มกราคม 2556 4:01How was this fixed? Is there a way to get to the app commands now? Of access to wndproc??? Thanks!!!!
-
15 มกราคม 2556 1:57ผู้ดูแล
Windows Store apps do not have access to the WndProc and cannot directly receive app commands. The buttons mentioned here can be read through standard key events.
-
15 มกราคม 2556 3:09Please provide more detail. The Play button, the info/more on mce remote, back and forward on MS 4000 Keyboard all cannot be caught with standard key events.
-
15 มกราคม 2556 4:18ผู้ดูแล
Hi John,
Please don't post the same question in multiple threads. I already responded with more detail in your other thread. Note that the buttons you mention are not the ones previously mentioned in this thread, but Play, back and forward on the MS 4000 Keyboard all trigger CoreWindow.KeyDown. I don't have an MCE remote to test.
--Rob
- แก้ไขโดย Rob CaplanMicrosoft, Moderator 15 มกราคม 2556 4:20
-
15 มกราคม 2556 14:01
The reason I'm posting is that I have found no evidence that your statements are correct and I'm trying to get real documentation that shows clearly that I'm doing it correctly or not.
I have overriden OnWindowCreated in my Application class. I then got to the corewindow from args.Window.CoreWindow and implemented the Keydown event.
I put a break point on it. I know it's working because it catches the mute button and the Volume buttons just like the standard window's key events do.
However, Play/Pause, Back, Forward and the info button on the remote DO NOT GET FIRED.
This is a combination of ABSOLUTELY AWFUL DOCUMENTATION and lack of samples, and quite honestly I don't think anyone bothered to make sure this stuff worked properly. "learn by releasing" as your ex-windows-boss brags about also comes with a responsibility to fix your stuff FAST and own your mistakes and make them right FAST.
The more I dig into the Windows 8 multimedia stuff, the worse it gets. The streaming support is AWFUL. The media support is AWFUL, the audio support is AWFUL, and Microsoft's answer is to magically create Media Foundation splitters and other handlers on a per application basis or as a module for stuff that should have been included in any current OS (heck, Google TV, WD Streaming Boxes, Boxee and Android support this stuff out of the box!). MKV Support is not an optional feature. It's an open source, royalty free file format that every modern entertainment system needs to support unless your company name is Apple and you have a bunch of morons that will buy your product simply by evoking the ghost of Steve Jobs. I realize you want to push people to continually buy video from you. I understand your business model, but doing so by making a CRAPWARE OS that makes you buy stuff because it doesn't support any alternatives is a good way to piss off users and ensure they go elsewhere even if the experience isn't as good. (i.e. thinking about going back to Google TV myself)
DTS, DTS-Master, and TrueHD Audio are not optional to support. They are audio systems that need to be implemented with Bitstreaming support (which makes it royalty free because YOU'RE NOT DECODING IT!!!) so that when you plug Windows 8 into an HDMI cable you can get basic support for audio that has been included in DVDs (DTS) since the early 1990s and BluRays/HD-DVD (DTS-MA and TrueHD) for 6 years now!
And need I remind you that Windows 7 and desktop support all of these things quickly and easily (install LAV which doesn't violate copyright in any way by bitstreaming DTS/TRUEHD or splitting MKVs), as does Windows Media Center that you abandoned without bothering to provide equivalent functionality OR AT LEAST THE TOOLS TO BE ABLE TO BUILD THE SAME.
Meanwhile you're busy putting ads in the Video and Music apps of an OS that I bought and paid for instead of supporting the basics! I have an Xbox music app that will ping me every hour and stop the music while I'm working and ask me if I'm there (which I clearly am because I'm working on the damn computer!) and tells me that if I pay money it won't bug me like this. This is called CRAP WARE. Versions of Microsoft Windows Defender and Security Essentials will offer to remove crap like this from your computer!
MS needs to:
1. Get MKV support in the OS, or create an open source project on codeplex that implements a basic mkv splitter that others can run with and embed in their app while you get with your teams and fix the horrible state of support you have.
2. Document the hell out of building media foundation tools for Windows 8.
3. Bother to test a remote control that you yourselves created and standardized and understand that Windows 8 will be used for home theater and embrace it. NO I DON'T WANT TO USE AN XBOX THAT SUCKS EVEN WORSE AT VIDEO/AUDIO STANDARDS, COSTS ME $60 / YEAR FOR THE PRIVILEGE AND IS SLOW AS DIRT. NO I DON'T WANT TO USE AN MS SURFACE AND PLAY TO THAT CRAPPY XBOX 360.
4. Fix Windows 8 so that we can actually get to, control and cancel these buttons. (reminds me of .NET 1.0 where you couldn't actually cancel a key down! Took them until .NET 2.0 (3 VERSIONS!!!!) to bother to give us the ability to cancel a keypress like VB had had since VB for Windows 1.0.
5. Enable bitstreaming of all audio formats when connected to HDMI or displayport or other suitable audio standard.
6. Fix your splitting of MP4/M4V files so that they properly handle audio streams and plays the one that it actually supports on the computer (i.e. play the ac3 stream in the file if it's not plugged into HDMI/DisplayPort and play the DTS/DTS-MA/TrueHD if the HDMI output supports it otherwise) instead of insisting on playing the audio format that you can't play (i.e. no matter what order you encode an AC3 5.1 Audio track and a DTS-MA audio track into an m4v file (as the standard supports!) Windows 8 will ALWAYS CHOOSE THE DTS-MA track even though it's not capable of playing it!
7. Commit to supporting any and all other formats that come along and are royalty free or low cost like H265 that is coming quickly. I do not want to have to wait 3 years before I can decode H265. You should already have encode/decode in internal testing and be getting ready for beta testing as the first level of H265 has been released. Meanwhile there has been nothing but silence from MS.
I've seen some pretty half-baked crap come out of MS, but for something so vitally important to MS as Windows, I would have expected better. And I could handle it if it was just 1.0 blues and there was a commitment to fix this stuff and a clear message to developers and users that this stuff was going to get fixed and when. But that isn't what's happening. Instead, you get blogs bragging about the crap support built into Windows 8 as if it's great (EARTH TO MS, IT ISN'T) and MS personnel after MS personnel claiming that there is no problem despite the literally 10s of thousands of posts on the internet complaining about it. (and developers complaining that MKV support would raise their rating in the windows store by at least 1 star automatically which as we know would translate into massively more revenue for them AND MS.
MS get your head out of the sand and own this. Start admitting the problem, and tell us how you're going to fix it and do it ASAP. I have way more penetration with Apple and Google products that limit me less than Windows 8. If I'm going to put up with crap support, crap programming and a reality distortion field, there is ABSOLUTELY NO REASON FOR ME TO EVER PROGRAM FOR WINDOWS AGAIN. You're at a cross roads. Either get this type of stuff fixed and do it yesterday and own your sh*t or lose the momentum you're building and see a mass exodus of those developers, developers, developers you've been screaming about for years that have saved you from oblivion and continue to do so. Your only advantage is your programming tools. They are historically BETTER THAN EVERYONE ELSE. They're easier to build stuff faster than everyone else. The documentation has been better than everyone else and because of Visual Studio more discoverable than everyone else. You're flushing ALL OF THOSE THINGS down the toilet with Windows 8 development. You need to redouble your efforts and get this stuff fixed ASAP.
You've released, now clean up the mess.
-
15 มกราคม 2556 14:07
And BTW, the day that Apple enables the app store for Apple TV, is the day that MS loses the battle for the TV before it ever begins. You have a very short window to get this stuff fixed and either be building your own integrated support, that just works with everything, or you're toast, because Apple TV with app store for $99 will mean MS is dead last in the market that you had a chance to own (WMC) 10 years ago. The above is just a start to what is required. You also need to add support for DLNA encrypted that Silicon Dust is about to support and all of the cable boxes have to support directly into windows and provide a programming interface for people to be able to write their own apps for it and use it without having to have a license because you do all of the DRM for them.