Chris Barry
```
#! /usr/bin/python3
import sys
import wx
class App(wx.App):
def __init__(self, redirect=False, filename=None, useBestVisual=False, clearSigInt=True):
super().__init__(redirect=redirect, filename=filename, useBestVisual=useBestVisual,
clearSigInt=clearSigInt)
self.SetTopWindow(wx.Frame(None, title='Initial top window'))
szr = wx.GridBagSizer()
self.GetTopWindow().SetSizer(szr)
self.lbl_a = wx.StaticText(self.GetTopWindow(), wx.ID_ANY, 'Label &a Padding')
self.txt_a = wx.TextCtrl(self.GetTopWindow(), wx.ID_ANY)
self.lbl_b = wx.StaticText(self.GetTopWindow(), wx.ID_ANY, 'Label &b')
self.txt_b = wx.TextCtrl(self.GetTopWindow(), wx.ID_ANY)
self.lbl_c = wx.StaticText(self.GetTopWindow(), wx.ID_ANY, 'Label c')
self.txt_c = wx.TextCtrl(self.GetTopWindow(), wx.ID_ANY)
szr.Add(self.lbl_a, wx.GBPosition(0, 0), span=wx.GBSpan(1, 2))
szr.Add(self.txt_a, wx.GBPosition(0, 2))
szr.Add(self.lbl_b, wx.GBPosition(1, 1), span=wx.GBSpan(1, 1))
szr.Add(self.txt_b, wx.GBPosition(1, 2))
szr.Add(self.lbl_c, wx.GBPosition(2, 0), span=wx.GBSpan(1, 1))
szr.Add(self.txt_c, wx.GBPosition(2, 2))
app = App()
app.GetTopWindow().Show()
app.MainLoop()
```
This code creates a top-level window with a gridbag sizer and puts three TextCtrl fields in it, each preceded by a StaticText label, two of which have accelerators.
When I run it on Linux it works as I expected - I can move between fields using the mouse, Tab and Shift-Tab keys, up and down arrows, and accelerator keys (Alt-a and Alt-b).
When I run it under Windows Tab and accelerator keys have no effect and up and down arrows have the same effect as left and right.
When I run under Windows the console displays the message: "Error: Unable to set default locale: Unsupported locale setting." I have not yet tried to follow this up as it did not seem to be relevant.
The Linux platform is a more-or-less standard Arch distribution. The Windows is 32-bit Windows 7 running under Qemu. As a test I ran Windows Media Player. Tab and accelerator keys worked.
What might I have overlooked?