import { Gtk, Widget } from 'astal/gtk3'; import Separator from '../misc/separator'; import Key from './keys'; import { defaultOskLayout, oskLayouts } from './keyboard-layouts'; const keyboardLayout = defaultOskLayout; const keyboardJson = oskLayouts[keyboardLayout]; const L_KEY_PER_ROW = [8, 7, 6, 6, 6, 4]; // eslint-disable-line const COLOR = 'rgba(0, 0, 0, 0.3)'; const SPACING = 4; export default (): Widget.Box => ( {...keyboardJson.keys.map((row, rowIndex) => { const keys = [] as Widget.Box[]; row.forEach((key, keyIndex) => { if (keyIndex < L_KEY_PER_ROW[rowIndex]) { keys.push(Key(key)); } }); return ( {...keys} ); })} {...keyboardJson.keys.map((row, rowIndex) => { const keys = [] as Widget.Box[]; row.forEach((key, keyIndex) => { if (keyIndex >= L_KEY_PER_ROW[rowIndex]) { keys.push(Key(key)); } }); return ( {...keys} ); })} ) as Widget.Box;