Edit in JSFiddle

var undoStack = new wijmo.undo.UndoStack('#form');
undoStack.stateChanged.addHandler(function (s, e) {
  updateState();
});
function updateState() {
  btnUndo.disabled = !undoStack.canUndo;
  btnRedo.disabled = !undoStack.canRedo;
}

var btnUndo = document.getElementById('undo');
var btnRedo = document.getElementById('redo');
var btnReset = document.getElementById('reset');
var cnt = document.getElementById('cnt');
btnUndo.addEventListener('click', function () {
  undoStack.undo();
});
btnRedo.addEventListener('click', function () {
  undoStack.redo();
});
btnReset.addEventListener('click', function () {
  undoStack.reset();
});

document.addEventListener('keydown', function (e) {
  var ctrl = e.ctrlKey || e.metaKey;
  if (ctrl && e.keyCode == 90) {
    e.target.blur();
    if (undoStack.canUndo) {
      undoStack.undo();
      e.preventDefault();
    }
  } else if (ctrl && e.keyCode == 89) {
    e.target.blur();
    if (undoStack.canRedo) {
      undoStack.redo();
      e.preventDefault();
    }
  }
}, true)
<div class="container">

  <div class="toolbar">
    <button id="undo" class="btn btn-default" disabled>
      <span class="glyphicon glyphicon-repeat glyphicon-flip"></span> 元に戻す(Ctrl+Z)
    </button>
    <button id="redo" class="btn btn-default" disabled>
      <span class="glyphicon glyphicon-repeat"></span> やり直し(Ctrl+Y)
    </button>
  </div>

  <form id="form">
    <div class="form-group">
      <label for="text">テキスト</label>
      <input id="text" class="form-control">
    </div>
    <div class="form-group">
      <label for="select">選択</label>
      <select id="select" class="form-control">
        <option value="value1">選択1</option>
        <option value="value2" selected>選択2</option>
        <option value="value3">選択3</option>
      </select>
    </div>
    <div class="form-group">
      <label for="textarea">複数行テキスト</label>
      <textarea id="textarea" class="form-control"></textarea>
    </div>
    <div class="form-group">
      <label for="range">範囲</label>
      <input id="range" class="form-control" type="range" min="0" max="50" value="45">
    </div>
    <div class="form-group">
      <label class="checkbox-inline">
        <input type="checkbox" id="check1" value="option1"> チェック1
      </label>
      <label class="checkbox-inline">
        <input type="checkbox" id="check2" value="option2" checked> チェック2
      </label>
      <label class="checkbox-inline">
        <input type="checkbox" id="check3" value="option3"> チェック3
      </label>
    </div>
    <div class="form-group label-indent">
      <label class="radio-inline">
        <input type="radio" name="radio" id="radio1" value="option1"> ラジオ1
      </label>
      <label class="radio-inline">
        <input type="radio" name="radio" id="radio2" value="option2" checked> ラジオ2
      </label>
      <label class="radio-inline">
        <input type="radio" name="radio" id="radio3" value="option3"> ラジオ3
      </label>
    </div>
  </form>

</div>