1. 19 May, 2011 2 commits
  2. 12 May, 2011 2 commits
  3. 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
  4. 09 May, 2011 2 commits
  5. 29 Apr, 2011 2 commits
  6. 24 Apr, 2011 3 commits
  7. 21 Apr, 2011 1 commit
  8. 19 Apr, 2011 1 commit
  9. 15 Apr, 2011 2 commits
  10. 14 Apr, 2011 1 commit
  11. 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
  12. 06 Apr, 2011 2 commits
  13. 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
  14. 03 Apr, 2011 2 commits
  15. 29 Mar, 2011 2 commits
  16. 26 Mar, 2011 1 commit
  17. 25 Mar, 2011 1 commit
  18. 24 Mar, 2011 1 commit
  19. 22 Mar, 2011 1 commit
    • Joel Martin's avatar
      Higher connectTimeout default with web-socket-js. · 81bcf70f
      Joel Martin authored
      Current timeout is 2 seconds for connect timeout. Use 5 seconds if
      web-socket-js (Flash WebSockets emulator) is being used. On Windows XP
      with Flash 10.2.152.26, connecting seems to take quite a bit longer
      than it probably should. This should make it work more consistently.
      81bcf70f
  20. 16 Mar, 2011 1 commit
    • Joel Martin's avatar
      Update web-socket-js to bb5797cad. · bbd21ca7
      Joel Martin authored
      Syncs with same change to websockify (7534574a2f).
      
      Primary change is removal of FABridge interface.
      
      Seems to improve overall latency by perhaps 10%. Also, the slowdown
      over time in Opera is about half as bad (but still there).
      bbd21ca7
  21. 15 Mar, 2011 1 commit
  22. 14 Mar, 2011 1 commit
  23. 23 Feb, 2011 2 commits
  24. 19 Feb, 2011 1 commit
  25. 05 Feb, 2011 1 commit
  26. 03 Feb, 2011 1 commit
    • Joel Martin's avatar
      Add logo, favicon. · 159ad55d
      Joel Martin authored
      Thanks to Michael Sersen for creating images/Logo.svg.
      
      - Add images directory with original SVG logo, favicon, and some
        derivative PNGs of the logo for different purpose.
      
      - Note that license on images/* is CC BY-SA.
      
      - Add utils/img2js.py to take an image and generate a base64 encoded
        data URI string.
      
      - Add base64 encoded data URI screen logo to display in canvas when
        disconnected.
      159ad55d