Skip to content

Instantly share code, notes, and snippets.

View eckig's full-sized avatar

Steffen eckig

  • 23:46 (UTC +01:00)
View GitHub Profile
Keycode QMK Keycode ZMK QWERTY QWERTY Shift QWERTZ QWERTZ Shift
KC_GRAV GRAVE ` ~ ^ °
KC_2 NUMBER_2 2 @ 2 "
KC_3 NUMBER_3 3 # 3 §
KC_6 NUMBER_6 6 ^ 6 &
KC_7 NUMBER_7 7 & 7 /
KC_8 NUMBER_8 8 * 8 (
KC_9 NUMBER_9 9 ( 9 )
KC_0 NUMBER_0 0 ) 0 =

R1

Keycode QMK Keycode ZMK QWERTY QWERTY Shift QWERTZ QWERTZ Shift
KC_GRAV GRAVE ` ~ ^ °
KC_1 NUMBER_1 1 ! 1 !
KC_2 NUMBER_2 2 @ 2 "
KC_3 NUMBER_3 3 # 3 §
KC_4 NUMBER_4 4 $ 4 $
KC_5 NUMBER_5 5 % 5 %
KC_6 NUMBER_6 6 ^ 6 &
import javafx.beans.binding.Bindings;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.scene.control.Cell;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TextArea;
import javafx.scene.input.KeyCode;
import javafx.util.Callback;
import javafx.util.StringConverter;
public class SelectionModelBidirectionalBinding<T> implements ChangeListener<T>, WeakListener {
private final WeakReference<Property<T>> propertyRef1;
private final WeakReference<SelectionModel<T>> propertyRef2;
private boolean updating = false;
private final int cachedHashCode;
public SelectionModelBidirectionalBinding(Property<T> property1, SelectionModel<T> property2) {
cachedHashCode = property1.hashCode() * property2.hashCode();
propertyRef1 = new WeakReference<>(property1);
propertyRef2 = new WeakReference<>(property2);
public class ResizableGrid extends Pane {
// This is to make the stroke be drawn 'on pixel'.
private static final double HALF_PIXEL_OFFSET = -0.5;
private final Canvas canvas = new Canvas();
private boolean needsLayout = false;
private final StyleableObjectProperty<Paint> gridColor = new StyleableObjectProperty<Paint>(
Color.rgb(222, 248, 255)) {