private void OnDataContextChanged(object sender, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs) { if (_viewModel != null) { _viewModel.Keys.CollectionChanged -= OnKeysCollectionChanged; _viewModel = null; OnKeysCollectionChanged(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset)); } if (DataContext is OnScreenKeyboardRowViewModel) { _viewModel = DataContext as OnScreenKeyboardRowViewModel; _viewModel.Keys.CollectionChanged += OnKeysCollectionChanged; OnKeysCollectionChanged(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset)); } }
private OnScreenKeyboardRowViewModel BuildRow5(KeyboardLayout layout) { var row = new OnScreenKeyboardRowViewModel(); row.Keys.Add(KeyForScanCode(0x1D, layout)); // right control row.Keys.Add(KeyForScanCode(0x5B, layout, isE0: true)); // left windows row.Keys.Add(KeyForScanCode(0x38, layout)); // left alt row.Keys.Add(KeyForScanCode(0x39, layout, 45)); // space bar row.Keys.Add(KeyForScanCode(0x38, layout, isE0: true)); // right alt row.Keys.Add(KeyForScanCode(0x5C, layout, isE0: true)); // right windows row.Keys.Add(KeyForScanCode(0x5D, layout, isE0: true)); // menu row.Keys.Add(KeyForScanCode(0x1D, layout, isE0: true)); // right control return row; }
private OnScreenKeyboardRowViewModel BuildRow4(KeyboardLayout layout) { var row = new OnScreenKeyboardRowViewModel(); row.Keys.Add(KeyForScanCode(0x2A, layout, 21)); // left shift row.Keys.Add(KeyForScanCode(0x2C, layout)); // Z row.Keys.Add(KeyForScanCode(0x2D, layout)); // X row.Keys.Add(KeyForScanCode(0x2E, layout)); // C row.Keys.Add(KeyForScanCode(0x2F, layout)); // V row.Keys.Add(KeyForScanCode(0x30, layout)); // B row.Keys.Add(KeyForScanCode(0x31, layout)); // N row.Keys.Add(KeyForScanCode(0x32, layout)); // M row.Keys.Add(KeyForScanCode(0x33, layout)); // , row.Keys.Add(KeyForScanCode(0x34, layout)); // . row.Keys.Add(KeyForScanCode(0x35, layout)); // / row.Keys.Add(KeyForScanCode(0x36, layout, 21)); // right shift return row; }
private OnScreenKeyboardRowViewModel BuildRow3(KeyboardLayout layout) { var row = new OnScreenKeyboardRowViewModel(); row.Keys.Add(KeyForScanCode(0x3A, layout, 17)); // caps lock row.Keys.Add(KeyForScanCode(0x1E, layout)); // A row.Keys.Add(KeyForScanCode(0x1F, layout)); // S row.Keys.Add(KeyForScanCode(0x20, layout)); // D row.Keys.Add(KeyForScanCode(0x21, layout)); // F row.Keys.Add(KeyForScanCode(0x22, layout)); // G row.Keys.Add(KeyForScanCode(0x23, layout)); // H row.Keys.Add(KeyForScanCode(0x24, layout)); // J row.Keys.Add(KeyForScanCode(0x25, layout)); // K row.Keys.Add(KeyForScanCode(0x26, layout)); // L row.Keys.Add(KeyForScanCode(0x27, layout)); // ; row.Keys.Add(KeyForScanCode(0x28, layout)); // ' row.Keys.Add(KeyForScanCode(0x1C, layout, 21)); // enter return row; }
private OnScreenKeyboardRowViewModel BuildRow2(KeyboardLayout layout) { var row = new OnScreenKeyboardRowViewModel(); row.Keys.Add(KeyForScanCode(0x0F, layout, 15)); // tab row.Keys.Add(KeyForScanCode(0x10, layout)); // Q row.Keys.Add(KeyForScanCode(0x11, layout)); // W row.Keys.Add(KeyForScanCode(0x12, layout)); // E row.Keys.Add(KeyForScanCode(0x13, layout)); // R row.Keys.Add(KeyForScanCode(0x14, layout)); // T row.Keys.Add(KeyForScanCode(0x15, layout)); // Y row.Keys.Add(KeyForScanCode(0x16, layout)); // U row.Keys.Add(KeyForScanCode(0x17, layout)); // I row.Keys.Add(KeyForScanCode(0x18, layout)); // O row.Keys.Add(KeyForScanCode(0x19, layout)); // P row.Keys.Add(KeyForScanCode(0x1A, layout)); // [ row.Keys.Add(KeyForScanCode(0x1B, layout)); // ] row.Keys.Add(KeyForScanCode(0x2B, layout, 15)); // \ return row; }
private OnScreenKeyboardRowViewModel BuildRow1(KeyboardLayout layout) { var row = new OnScreenKeyboardRowViewModel(); row.Keys.Add(KeyForScanCode(0x29, layout)); // ~ row.Keys.Add(KeyForScanCode(0x02, layout)); // 1 row.Keys.Add(KeyForScanCode(0x03, layout)); // 2 row.Keys.Add(KeyForScanCode(0x04, layout)); // 3 row.Keys.Add(KeyForScanCode(0x05, layout)); // 4 row.Keys.Add(KeyForScanCode(0x06, layout)); // 5 row.Keys.Add(KeyForScanCode(0x07, layout)); // 6 row.Keys.Add(KeyForScanCode(0x08, layout)); // 7 row.Keys.Add(KeyForScanCode(0x09, layout)); // 8 row.Keys.Add(KeyForScanCode(0x0A, layout)); // 9 row.Keys.Add(KeyForScanCode(0x0B, layout)); // 0 row.Keys.Add(KeyForScanCode(0x0C, layout)); // - row.Keys.Add(KeyForScanCode(0x0D, layout)); // + row.Keys.Add(KeyForScanCode(0x0E, layout, 20)); // backspace return row; }