On some occasions, you may want to get a "global" input language - that is, the keyboard layout used by the current foreground window\application\whatever. Basically, simulating the behaviour of the language panel on Windows.
The common use cases are on-screen keyboards, fullscreen applications, and widgets.
While I wasn't able to find a premade function that get this particular thing during my searches, it turned out not to be too hard to assemble:
Recently I have been experimenting with networking in Unity3d.
As you may know, there are various systems to aid you with building networked applications in Unity, ranging in approaches and capabilities.
However, if you are more familiar with the regular socket APIs, or just need to port a bit of existing code, you would probably rather have a couple of simple methods to send and receive data.
So here's just that, using .NET's System.Net.Sockets.UdpClient to asynchronously receive and handle data as it arrives:
MyStruct some = null; // some == MyStruct(...)
This is a small post about a rather specific construct in C# syntax, permitting to assign "null" to struct-typed variables (which are non-nullable) and treat this specific case as you please.
If you did not come here looking for this particular thing, you may or may not be in a dire need of the post's subject, but explanation may be of interest.
Some code that I made to test how (and if) getting joystick\gamepad state via winmm would work in C#.
Contains required structs, functions, and fallback to joyGetPos if joyGetPosEx does not work for some reason.