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
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, |
// Available variables: | |
// - Machine | |
// - interpret | |
// - assign | |
// - send | |
// - sendParent | |
// - spawn | |
// - raise | |
// - actions |