https://wiki.ubuntu.com/X/InputCoordinateTransformation
- Get list of devices:
xinput --list --short
- Adjust Coordinate Transformation Matrix of your device
xinput set-prop '' 'Coordinate Transformation Matrix' 2.4 0 0 0 2.4 0 0 0 1| { | |
| "name": "CIDOO V65", | |
| "vendorId": "0x1EA7", | |
| "productId": "0x7777", | |
| "lighting": { | |
| "extends": "qmk_rgblight", | |
| "underglowEffects": [ | |
| [ | |
| "OFF_MODE", | |
| 0 |
https://wiki.ubuntu.com/X/InputCoordinateTransformation
xinput --list --short
xinput set-prop '' 'Coordinate Transformation Matrix' 2.4 0 0 0 2.4 0 0 0 1| # | |
| # | |
| # | |
| # This example showcases usage of AsyncAPI for the purpose of describing a WebSocket API. It is based on a real public service maintained by company called Gemini that provides cryptocurency trading products. It uses AsyncAPI bindings. | |
| # | |
| # This AsyncAPI document describes their v1 of the API. The v2 is also available and changes in the way that it provides a multimessage channel, where you subscribe for messages by sending a subscription message instead of using query parameters. For example with multimessage channel check out this article https://www.asyncapi.com/blog/websocket-part2 about another real public API called Kraken | |
| # | |
| # All available learning materials about AsyncAPI and WebSocket are: | |
| # - WebSocket, Shrek, and AsyncAPI - An Opinionated Intro article: https://www.asyncapi.com/blog/websocket-part1 | |
| # - Creating AsyncAPI for WebSocket API - Step by Step article: https://www.asyncapi.com/blog/websocket-part2 |
| ### Keybase proof | |
| I hereby claim: | |
| * I am marschhuynh on github. | |
| * I am marschhuynh (https://keybase.io/marschhuynh) on keybase. | |
| * I have a public key ASAURfaAvBgE6QZjHoRkr63Aop9b-W7w9u9juK-dd6tUrwo | |
| To claim this, I am signing this object: |
| You may try to use the work by @uunicorn (https://github.com/uunicorn/python-validity). It works for my Ubuntu 20.04.1. | |
| $ sudo apt remove fprintd | |
| $ sudo add-apt-repository ppa:uunicorn/open-fprintd | |
| $ sudo apt-get update | |
| $ sudo apt install open-fprintd fprintd-clients python3-validity | |
| $ fprintd-enroll | |
| If the last command prompt an error list_devices failed:, do | |
| sudo systemctl status python3-validity |
| const TRANSFER_DISPUTE = { | |
| target: '#engagement.disputed', | |
| actions: [assign((context, event, metaData) => { | |
| return { | |
| disputed_from_state: metaData && metaData.state.value, | |
| disputed_by: event.disputed_by, | |
| disputed_reason: event.disputed_reason | |
| } | |
| }), | |
| assign({ |
| const TRANSFER_DISPUTE = { | |
| target: '#engagement.disputed', | |
| actions: [assign((context, event, metaData) => { | |
| return { | |
| disputed_from_state: metaData && metaData.state.value, | |
| disputed_by: event.disputed_by, | |
| disputed_reason: event.disputed_reason | |
| } | |
| }), | |
| assign({ |
| const TRANSFER_REFUSE = { | |
| target: '#engagement.cancelled', | |
| actions: [assign((context, event, metaData) => { | |
| const addition = context.buyer === event.cancelled_by | |
| ? { buyer_cancelled: true } | |
| : { seller_cancelled: true } | |
| return { | |
| refuse_from_state: metaData && metaData.state.value, | |
| cancelled_by: event.cancelled_by, |
| const TRANSFER_REFUSE = { | |
| target: '#engagement.canceling', | |
| cond: (context) => !context.buyer_cancelled && !context.seller_cancelled, | |
| actions: [assign((context, event, metaData) => { | |
| const addition = context.buyer === event.cancelled_by | |
| ? { buyer_cancelled: true } | |
| : { seller_cancelled: true } |
| const depositAction = () => {} | |
| const paymentMachine = Machine({ | |
| id: 'engagement', | |
| initial: 'initial', | |
| context: { | |
| buyer: null, | |
| seller: null, | |
| buyer_confirmed: false, | |
| seller_confirmed: false, |