keyModFromXTerm function

int keyModFromXTerm(
  1. int xtermModMinus1
)

Converts a 1-based XTerm modifier value to a UV KeyMod bitmask.

Implementation

int keyModFromXTerm(int xtermModMinus1) {
  // XTerm modifier bits: 1=shift, 2=alt, 4=ctrl, 8=meta, 16=... etc.
  var m = 0;
  final v = math.max(0, xtermModMinus1);
  if ((v & 1) != 0) m |= KeyMod.shift;
  if ((v & 2) != 0) m |= KeyMod.alt;
  if ((v & 4) != 0) m |= KeyMod.ctrl;
  if ((v & 8) != 0) m |= KeyMod.meta;
  if ((v & 16) != 0) m |= KeyMod.superKey;
  if ((v & 32) != 0) m |= KeyMod.hyper;
  return m;
}