Are virtual keyboards supported for every supported platform? - mrtk

I was wondering what the current cross platform solution for a virtual Keyboard in the new MRTK v2 RC1 is? The old MRTK had the Unity built keyboard. The current keyboard examples only mentions the TouchScreenKeyboard class and I guess that's primarily for HL2. It definitely does not work when running Unity with the attached Mixed Reality Portal.
https://github.com/Microsoft/MixedRealityToolkit-Unity/blob/mrtk_release/Documentation/README_SystemKeyboard.md

You are correct -- MRTK RC1 does not include a built-in keyboard, but instead invokes Unity's TouchScreenKeyboard, which currently supports iOS, Android, and Windows UWP.
In Windows UWP, this will bring up the system keyboard on HoloLens 2 as well as in Windows Mixed Reality, when the project is compiled. For testing in editor, you will not see a system keyboard show up. For HoloLens 1, I have not yet tested whether TouchScreenKeyboard.Show brings up the system keyboard.

Related

Android studio emulator white screen

I've Installed the newest version of Android studio, including the newest version of HAXM, ndk, sdk and whatever other related dependencies it installs. Intel Virtualization bios setting thingy I can't remember the name of is enabled and I have no trouble in virtual box and such.
I created an empty activity and tried testing it on the phone, works perfectly. Then I tried it on the emulator and there is a problem when it is hardware accelerated. It just opens a white window. The android studio displays 0 errors and thinks it ran the app properly. The graphics card I have is a gtx 1060 6gb. When it is software accelerated it works but is so slow I would rather use a chisel on a rock to draw the application usage.
So if someone knows a fix it would be nice.
Thanks
Well I have discovered that in order to solve the issue you have to go to the sidebar menu click More>Settings>OpenGL ES Renderer and(in my case) set it to Angle(D3D11) or Angle(D3D9) or Swiftshader. After that you simply restart the emulator and the issue should be gone.
For me Desktop native OpenGL and Autodetect based on host(which probably sets it to the first thing) don't work and leave you with a white screen.
In case someone finds this useful, you can set software acceleration as below and this solved the issue for me on Mac OS. (OP also mentions it works with software acceleration)
Tools > AVD Manager
Select virtual device
Click on Edit (pencil icon for me)
Click "Show Advanced Settings"
Look for Emulated Performance - Graphics
Select "Software" option
Current version of the emulator (27.1.3) doesn't work for me. The emulator just shows a white screen. Even playing with the gpu in the .ini configuration didn't work.
Once I downgraded to 26.1.4 (https://dl.google.com/android/repository/emulator-darwin-4266726.zip) the emulator started working again.
It seems that the Android Emulator is somehow conflicting with the NVidia Web driver on Mac OS. I had the latest NVidia Web driver (378.05.05.25f04) installed and I was having this same problem - the white screen whenever I used Desktop Native rendering (or left it at the automatic default which selects that as well).
I tried the Swift Shader as well, it works but the performance is abysmal!
On a hunch, I switched back to the OS X Default Graphic Driver from the Nvidia Pref Pane in Apple menu settings, and the Desktop Native driver is now working great after the computer restart!
The same problem can happen to the lightning fast Microsoft Android Emulators utilizing Hyper-V that work on both Intel and AMD CPU based PCs. The solution is in the same line as the accepted answer. For those who use Microsoft Android Emulators and land here by searching "android emulator white screen", here is the screenshot showing how to solve the problem by changing the default hw.gpu.mode from the default "auto" to "mesa":
So sorry
Check your onCreate method in your MainActivity.java, it should have setContextView(R.layout.activity_main)

How to create a taskbar application similar to Touch Keyboard on Windows 8.1?

On Windows 8.1, if you right-click on the taskbar and point to Toolbars you can turn on Touch Keyboard, which makes a small image of a keyboard appear at the far right of the task bar just to the left of the notification area.
I want to develop an application that can make a presence here with a dynamically updating display of a time string (a count down application).
Can anyone advise if this is possible using C# .NET?
From various research I've discovered it is extremely difficult to determine exactly what Microsoft refer to this utility as. I have seen 'deskbar', 'deskband' and obviously it's under 'toolbars' in the task bar context menu. It also seems every major OS release changes the terminology and functionality completely. So bonus points if anyone can clear up what it's called on Windows 8.1 in addition to what term to research or MSDN article to read about developing an application that sits there.

WinMobile emulator input issue in Windows8.1

I'm trying something very different. We have legacy Windows Mobile programs that we need to run on Windows 8.1 tablets with capacitive screens. To do this we've installed the stand alone Windows Mobile 6.1 Emulator which runs without a problem. Doing this, we can load and run our old Windows Mobile programs on the 8.1 Tablet and they run well but we are having problems with the touch or mouse click. The emulator is meant to be used with a mouse button to select and click not a touch screen. When we run our old programs we have to double-tap in order to select anything. This is not a problem until we try to enter text from the emulator keyboard. We have to tap each key twice in order to enter a character. This becomes very tiresome and makes the legacy program useless. Our legacy Win Mobile program was designed to allow our field people to collect large amounts of text and numeric data. Having to tap each key twice will not work.
We've examined the limited mouse and touch option in Windows 8.1 and nothing seems to help. So here are my questions:
Is there third party software that may improve on Windows 8.1 mouse customization? Synaptic maybe?
Is there a command line switch for the emulator we could add that would fix this problem?
Does anyone know of a method to fix this?
Thanks
I have asked this question to MS support.
http://www.microsoft.com/en-us/download/details.aspx?id=17284
System Requirements:
Supported Operating System
Windows Server 2003 Service Pack 2, Windows Vista, Windows XP Service Pack 3
Windows Mobile 6.5 Developer Tool Kit is not supported by Windows 8.x
My Double click test video
http://youtu.be/0QIilCg1kxg
I think the problem is in Windows 8 touchscreen API driver, I have tested this emulator with Win7 tablet, no problems with double click.

Porting a Windows-CE application to Windows Desktop

I have taken over a Windows-CE 6.0 application that I would like to port to other platforms. It is a relatively straightforward, self-contained GUI application, written in Embedded C++ Version 4.0
The very first target I am interested in would be a regular Windows desktop (i.e. XP, Vista, Windows-7).
I understand that porting a desktop application to CE is nontrivial; but what about the reverse, which is what I am interested in? Is going from Windows-CE to Windows Desktop (somewhat) upward-compatible? I sure would love to hear "buy this $1000 Microsoft XYZ C++ development environment and just compile and go!"
(FYI I have no experience with GUI applications nor with programming in the Windows environment; pretend I am but a simple linux/unix guy with decades of C/C++ experience but absolutely no Windows-Fu... ;-)
Porting up should, actually, be pretty straightforward. CE is mostly a subset of Win32, with heavy emphasis on Unicode.
You can probably make sure UNICODE is defined, build and, with a little luck, most of it will "just work". Places that are going to be hangups are:
The UI is likely to be set for a resolution that doesn't match your PC - often CE apps are targeted to a specific device and resolution and this doesn't necessarily come out very aesthetic on a PC.
Anything dynamically loaded (GetProcAddress) from coredll will have to be re-mapped to kernel32/user32/etc
If the device uses the SIP (software input panel - i.e. on-screen keyboard) then all of that has to get stripped out.
If the app uses any Notifications (icons, etc) that has to get replaced
If the app uses any power management, that has to get ripped out
If the app uses any device-specific stuff - especially direct calls to drivers, all of that has to be replaced
If the app is using point to point queues, that has to get replaced
If the app is using the device manager (e.g. to get notifications of copnnected devices) that has to get replaced
Any calls into aygshell.dll are likely to be problematic as well.

Windows Mobile Emulator For Linux

I was developing Windows Mobile applications on a Windows machine using C#, just to test the platform, but now I'm back to Linux and now developing for Windows CE on it(CeGCC and FPC), but it's very boring to compile and send the executable to the device everytime just to do a simple test, then I want to know where can I find a good emulator for Linux to debug my projects.
Qemu is really nice and its open source. You can also attach a debugger to Qemu to debug operating systems, comes in handy if you are writing device drivers. Using QEMU you can emulate other processor types such as ARM. personally I use VMWare workstation unless i need to emulate another processor type.
Unfortunately, your only bet is trying to run Microsoft's own emulator under Wine. This is the only ARM emulator you will find Windows Mobile images for. Search the web, some people had success with this approach - though the installation is tricky. Oh, and you won't get network working in the emulator, as this requires a special Windows device driver (which obviously won't work under Wine).
For this last reason, you may want to make a full desktop Windows (or possibly ReactOS) installation inside qemu, and install the PDA emulator inside the PC emulator.
And think how cool it would be to play Super Mario Bros inside a NES emulator inside a PDA emulator inside a PC emulator! :)))))

Resources