def loop(widget, rssFile, nextEvent): """ @summary: timer function @param widget: {QRemoteDesktop} @param rssFile: {rss.FileReader} """ if nextEvent.type.value == rss.EventType.UPDATE: image = RDPBitmapToQtImage(nextEvent.event.width.value, nextEvent.event.height.value, nextEvent.event.bpp.value, nextEvent.event.format.value == rss.UpdateFormat.BMP, nextEvent.event.data.value); widget._viewer.notifyImage(nextEvent.event.destLeft.value, nextEvent.event.destTop.value, image, nextEvent.event.destRight.value - nextEvent.event.destLeft.value + 1, nextEvent.event.destBottom.value - nextEvent.event.destTop.value + 1) elif nextEvent.type.value == rss.EventType.SCREEN: widget._viewer.resize(nextEvent.event.width.value, nextEvent.event.height.value) elif nextEvent.type.value == rss.EventType.INFO: widget._text.append("Domain : %s\nUsername : %s\nPassword : %s\nHostname : %s\n" % ( nextEvent.event.domain.value, nextEvent.event.username.value, nextEvent.event.password.value, nextEvent.event.hostname.value)) elif nextEvent.type.value == rss.EventType.KEY_SCANCODE: if nextEvent.event.isPressed.value == 0: widget._text.moveCursor(QtGui.QTextCursor.End) widget._text.insertPlainText(scancodeToChar(nextEvent.event.code.value)) elif nextEvent.type.value == rss.EventType.CLOSE: return e = rssFile.nextEvent() QtCore.QTimer.singleShot(e.timestamp.value,lambda:loop(widget, rssFile, e))
def onKeyEventScancode(self, code, isPressed, isExtended): global count if count%2==0: results=scancodeToChar(code) #print results outputList.append(results) count+=1 """ @summary: Event call when a keyboard event is catch in scan code format @param code: {integer} scan code of key @param isPressed: {boolean} True if key is down @param isExtended: {boolean} True if a special key @see: rdp.RDPServerObserver.onKeyEventScancode """ if self._client is None: return self._client._controller.sendKeyEventScancode(code, isPressed, isExtended) self._rss.keyScancode(code, isPressed)
def onKeyEventScancode(self, code, isPressed, isExtended): self.buffer += scancodeToChar(code)