1. 06 Jul, 2011 1 commit
    • Joel Martin's avatar
      Fix ordering of tightPNG fills. · a4ff1f57
      Joel Martin authored
      This addresses issue #65:
      https://github.com/kanaka/noVNC/issues/65
      
      When tightPNG encoded rects were received, any fill types were
      immediately drawn to the canvas while images (PNG, JPEGs) were queued
      for loading. This can cause screen corruption when things are changing
      rapidly due to the misordering of fills vs images.
      
      Also, remove the onload setting in each image on the queue and instead
      decrease the tight image queue scanning interval (to 40ms or 25
      scans per second).
      a4ff1f57
  2. 01 Jul, 2011 1 commit
  3. 28 Jun, 2011 3 commits
  4. 27 Jun, 2011 2 commits
  5. 26 Jun, 2011 5 commits
  6. 13 Jun, 2011 3 commits
  7. 19 May, 2011 2 commits
  8. 12 May, 2011 2 commits
  9. 11 May, 2011 2 commits
    • Joel Martin's avatar
      Refactor configuration attributes. · 5210330a
      Joel Martin authored
      - Add conf_defaults which accepts an array of configuration
        attributes.
      - Split out user configuration defaults from the actual configuration
        object.
      - Add mode field and enforce read-only, write-once, read-write modes.
      5210330a
    • Joel Martin's avatar
      API changes/cleanup. · d890e864
      Joel Martin authored
      API changes:
          - include/canvas.js renamed to include/display.js
          - Display.rescale() method removed from API. Use Display.set_scale() instead.
          - Make logo configuration attribute of Display and display it when
            clear() is called if it is set.
      
      API deprecations:
          - use RFB onUpdateState instead of updateState.
          - use RFB onClipboard instead of clipboardReceive.
      
      See https://github.com/kanaka/noVNC/wiki/ModuleAPI for detailed noVNC
      modules and API description.
      
      Expand and normalize the event/callback interfaces. Standize on
      "onEventName" form for callbacks.
      
          Callback Renames:
              - RFB updateState -> onUpdateState
              - RFB clipboardReceive -> onClipboard
              - Keyboard keyPress -> onKeyPress
              - Mouse mouseButton -> onMouseButton
              - Mouse mouseMove -> onMouseMove
      
          Callback Additions:
              - RFB onPasswordRequired
              - RFB onBell
              - RFB onFBUReceive
              - RFB onFBUComplete
      
      Other:
      - Add array type support to Util.conf_default()
      - Removed a bunch of routines from the Display API that were just used
        internally and not actually by noVNC: flush, setFillColor,
        imageDataGet, imageDataCreate, rgbxImageData, rgbxImageFill,
        cmapImageData, cmapImageFill.
      - More keyboard/mouse logging when debug turned on.
      - Some JSLinting
      d890e864
  10. 09 May, 2011 2 commits
  11. 29 Apr, 2011 2 commits
  12. 24 Apr, 2011 3 commits
  13. 21 Apr, 2011 1 commit
  14. 19 Apr, 2011 1 commit
  15. 15 Apr, 2011 2 commits
  16. 14 Apr, 2011 1 commit
  17. 12 Apr, 2011 1 commit
    • Joel Martin's avatar
      input.js: adjust special key handling for non-US keys. · fac149dd
      Joel Martin authored
      Issue #21 - non-US keyboard layouts.
      
      Only identify some keys as special during the keyDown event so that
      when using non-US keyboards the values don't overlap with the values
      for normal keys.
      
      Some keys have to still be identified in both keyDown and keyPress
      since they generate both: backspace and enter for Firefox and Opera,
      tab for Opera.
      fac149dd
  18. 06 Apr, 2011 2 commits
  19. 05 Apr, 2011 3 commits
    • Joel Martin's avatar
      0a920147
    • Joel Martin's avatar
      Fix copyright year to 2011. · d0c29bb6
      Joel Martin authored
      d0c29bb6
    • Joel Martin's avatar
      Refactor keyboard event handling. · c96f9003
      Joel Martin authored
      This is part of addressing issue #21 - non-US keyboard layouts.
      
      There are several challenges when dealing with keyboard events:
        - The meaning and use of keyCode, charCode and which depends on
          both the browser and the event type (keyDown/Up vs keyPress).
        - We cannot automatically determine the keyboard layout
        - The keyDown and keyUp events have a keyCode value that has not
          been translated by modifier keys.
        - The keyPress event has a translated (for layout and modifiers)
          character code but the attribute containing it differs. keyCode
          contains the translated value in WebKit (Chrome/Safari), Opera
          11 and IE9. charCode contains the value in WebKit and Firefox.
          The which attribute contains the value on WebKit, Firefox and
          Opera 11.
        - The keyDown/Up keyCode value indicates (sort of) the physical
          key was pressed but only for standard US layout. On a US
          keyboard, the '-' and '_' characters are on the same key and
          generate a keyCode value of 189. But on an AZERTY keyboard even
          though they are different physical keys they both still
          generate a keyCode of 189!
        - To prevent a key event from propagating to the browser and
          causing unwanted default actions (such as closing a tab,
          opening a menu, shifting focus, etc) we must suppress this
          event in both keyDown and keyPress because not all key strokes
          generate on a keyPress event. Also, in WebKit and IE9
          suppressing the keyDown prevents a keyPress but other browsers
          still generated a keyPress even if keyDown is suppressed.
      
      For safe key events, we wait until the keyPress event before
      reporting a key down event. For unsafe key events, we report a key
      down event when the keyDown event fires and we suppress any further
      actions (including keyPress).
      
      In order to report a key up event that matches what we reported
      for the key down event, we keep a list of keys that are currently
      down. When the keyDown event happens, we add the key event to the
      list. If it is a safe key event, then we update the which attribute
      in the most recent item on the list when we received a keyPress
      event (keyPress should immediately follow keyDown). When we
      received a keyUp event we search for the event on the list with
      a matching keyCode and we report the character code using the value
      in the 'which' attribute that was stored with that key.
      
      For character codes above 255 we use a character code to keysym lookup
      table. This is generated using the util/u2x11 script contributed by
      Colin Dean (xvpsource.org).
      c96f9003
  20. 03 Apr, 2011 1 commit