Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | 1x | import { createLayout } from "../engine/createLayout";
import { ck } from "./latin";
import {
BACKSPACE_KEY,
ENTER_KEY,
LAYER_KEY,
SHIFT_KEY,
SPACE_KEY,
} from "./qwerty";
/**
* German **QWERTZ** layout — `Y` and `Z` swap (`Z` sits on the top row next to
* `T`, `Y` moves to the bottom-left of the last letter row). Shift/Caps and the
* `?123` symbol layer behave as on {@link qwertyLayout}; German umlauts and
* eszett (ä, ö, ü, ß) are available as long-press variants.
*
* @example
* ```tsx
* import { VirtualKeyboard, qwertzLayout } from "@usefy/virtual-keyboard";
* <VirtualKeyboard layouts={qwertzLayout} />;
* ```
*/
export const qwertzLayout = createLayout({
name: "qwertz",
label: "QWERTZ",
rows: [
[
ck("q", "1"),
ck("w", "2"),
ck("e", "3"),
ck("r", "4"),
ck("t", "5"),
ck("z", "6"),
ck("u", "7"),
ck("i", "8"),
ck("o", "9"),
ck("p", "0"),
],
[
ck("a", "@"),
ck("s", "#"),
ck("d", "$"),
ck("f", "_"),
ck("g", "&"),
ck("h", "-"),
ck("j", "+"),
ck("k", "("),
ck("l", ")"),
],
[
SHIFT_KEY,
ck("y", "*"),
ck("x", '"'),
ck("c", "'"),
ck("v", ":"),
ck("b", ";"),
ck("n", "!"),
ck("m", "?"),
BACKSPACE_KEY,
],
[
LAYER_KEY,
{ key: ",", type: "char", layerKey: "<" },
SPACE_KEY,
{ key: ".", type: "char", layerKey: ">" },
ENTER_KEY,
],
],
});
|