GR << keybinds

// ==UserScript==
// @name           google-reader-keybinds
// @namespace      http://d.hatena.ne.jp/murky-satyr
// @include        http://www.google.com/reader/view/*
// @include        http://www.google.co.jp/reader/view/*
// ==/UserScript==
window.addEventListener('load', function load(e){
  window.removeEventListener('load', load, false);
  function doME(id, ev){
    var elm = document.getElementById(id);
    if(!elm) return;
    var mev = document.createEvent('MouseEvents');
    mev.initMouseEvent(ev, 1, 1, window, 1, 0,0, 0,0, 0,0,0,0, 0, elm);
    elm.dispatchEvent(mev);
  }
  function doDU(d, u){
    doME(d, 'mousedown');
    doME(u, 'mouseup');
    document.activeElement.blur();
  }
  var dic = { // DOM_VK_3 === 51
    51: [function() doME('show-new', 'click'),
         function() doDU('lhn-subscriptions-menubutton', ':h')],
    52: [function() doME('show-all', 'click'),
         function() doDU('lhn-subscriptions-menubutton', ':g')],
  };
  document.addEventListener('keydown', function(e){
    if(e = (dic[e.keyCode] || 0)[+e.shiftKey]) e();
  }, false);
}, false);
  • 3/4: new/all items をトグる
  • shift + 3/4: Subscriptions の Show updated/all をトグる