Andri Yngvason
c274c81fa3
Install shader files
2020-02-11 21:09:30 +00:00
Andri Yngvason
a8d49f3022
render: Define constants for attribute indices
2020-02-11 20:32:04 +00:00
Andri Yngvason
4b3be2c972
render: Load shaders from files
2020-02-11 19:55:31 +00:00
Andri Yngvason
3c4b81862b
render: Create a function to read a shader from a file
2020-02-11 19:55:31 +00:00
Andri Yngvason
cbbd97018d
Don't fail when config doesn't exist
2020-01-29 19:45:04 +00:00
Andri Yngvason
8491d6c73c
Enable VeNCrypt auth & encryption
2020-01-25 18:10:59 +00:00
Andri Yngvason
e6b1ca8044
keyboard: Assign state to keys rather than symbols
...
The keys are pressed and released, not the symbols. This fixes tracking
of the state of a key through modifier changes. E.g. A capital 'A' may
be received from the client while the shift key is pressed, but if the
shift key is released before the 'a' key, the 'a' symbol is generated.
2020-01-25 13:19:08 +00:00
Andri Yngvason
ec7fee42c5
Create an integer set data structure
2020-01-25 13:17:24 +00:00
Andri Yngvason
a1ee09386a
pointer: Add output position to absolute coordinates
...
This fixes mouse issues when there are multiple outputs
2020-01-24 21:14:29 +00:00
Andri Yngvason
7eaece7c0a
Restructure input initialisation
2020-01-24 20:56:47 +00:00
Andri Yngvason
b0077c93fe
Use output name for output selection
2020-01-24 20:19:57 +00:00
Andri Yngvason
d0bee5c651
output: Add function to find display by name
2020-01-24 20:18:37 +00:00
Andri Yngvason
df936b9dac
Add xdg_output_v1 for more output info
2020-01-24 20:08:57 +00:00
Andri Yngvason
0572693f21
Exit when the compositor goes away
2020-01-21 19:16:36 +00:00
Andri Yngvason
48907682c7
keyboard: Fix modifier lookup
2020-01-20 21:15:04 +00:00
Andri Yngvason
5731ea4666
keyboard: Add bounds checking on keycode lookup
2020-01-19 12:43:48 +00:00
Andri Yngvason
20cd7725f6
Load a config file
2020-01-18 18:14:17 +00:00
Andri Yngvason
c1210f1426
Create a simple config loader
2020-01-18 17:58:40 +00:00
Andri Yngvason
e2079a7e56
keyboard: Don't send repeated events to server
...
This caused the virtual key to get "stuck" in the pressed position and
then to stop working at all. It's definitely a bug on the server side
also.
2020-01-15 20:34:56 +00:00
Andri Yngvason
b744e2410e
Handle more pixel formats
2020-01-14 21:44:07 +00:00
Andri Yngvason
7acf2c7aef
screencopy: Update copyright notice
2020-01-14 20:42:48 +00:00
Andri Yngvason
9eb851cf92
screencopy: Adjust rate limiting based on capturing delay
2020-01-14 20:40:57 +00:00
Andri Yngvason
38d7b9cf4d
screencopy: Simplify rate limiting
2020-01-14 20:12:58 +00:00
Andri Yngvason
017edc6ae1
Handle seat removal
2020-01-14 19:18:33 +00:00
Andri Yngvason
0cc1a70ba7
main: remove duplicate function
2020-01-14 19:11:01 +00:00
Andri Yngvason
ffce795c6f
dmabuf: Limit frame rate to 20 FPS
2020-01-04 15:05:15 +00:00
Andri Yngvason
c5fee473d6
Fix segfault on exit when dmabuf capturing is selected
2020-01-04 13:48:09 +00:00
Andri Yngvason
457e540d89
pointer: Fix mouse scroll
2020-01-03 21:52:36 +00:00
Andri Yngvason
476854aeaf
keyboard: Remove debug printout
2020-01-03 20:42:40 +00:00
Andri Yngvason
990e57fa89
keyboard: Improve key code lookup
...
The shift level for each symbol is now included in the lookup table, so
it's more robust for various keyboard layouts.
2020-01-03 20:03:02 +00:00
Andri Yngvason
a6f979e93a
Add seat selection
2019-12-31 14:01:22 +00:00
Andri Yngvason
452ba2c4fb
Listen to connections from localhost only, by default
2019-12-31 10:33:40 +00:00
Drew DeVault
38c872b2ba
Fix output selection
2019-12-30 16:13:44 -05:00
Andri Yngvason
2b00400b8a
Add option to select keyboard layout
2019-12-30 10:15:12 +00:00
Andri Yngvason
e82e3a92b5
screencopy: Add rate limiting
...
The smoothing filter allows for short bursts of higher frame rate in
order to reduce latency.
2019-12-29 11:47:33 +00:00
Andri Yngvason
c794ca3822
smooth: Use integers rather than floats to store tme
2019-12-29 10:36:08 +00:00
Andri Yngvason
baad0ecd68
Extract time functions into own module
2019-12-29 10:06:25 +00:00
Andri Yngvason
61657c97ba
Add an exponential smoothing filter
2019-12-29 10:02:31 +00:00
Andri Yngvason
cbfa0416b4
dmabuf: Close file descriptors after using them
2019-12-27 16:31:47 +00:00
Andri Yngvason
09772ddf5b
Clean up some resources
2019-12-27 14:41:54 +00:00
Andri Yngvason
9adac0e683
Don't call uv_close() on unknown handles
2019-12-27 13:53:36 +00:00
Andri Yngvason
5c7f941481
keyboard: Add some acknowledgements
2019-12-25 11:45:07 +00:00
Andri Yngvason
b2bbc9ac0b
Implement keyboard backend
2019-12-25 11:05:05 +00:00
Andri Yngvason
7c1722445d
Make screencopy the default capturing backend
2019-12-23 12:50:36 +00:00
Andri Yngvason
82bdbb82c0
Add virtual pointer backend
2019-12-22 21:42:10 +00:00
Andri Yngvason
529483a459
Remove unused code
2019-10-22 19:24:09 +00:00
Andri Yngvason
25187cbfb2
Add option for output selection
2019-10-13 12:58:56 +00:00
Andri Yngvason
ba3dc617f4
output: Add missing copyright statement
2019-10-13 12:48:12 +00:00
Andri Yngvason
59fa4cfeaa
Move output handling into its own source file
2019-10-13 12:47:02 +00:00
Andri Yngvason
9cd6811efa
Add option parsing and the ability to select a frame capturing backend
2019-10-12 12:17:22 +00:00
Andri Yngvason
b07de643ab
render: Try to do proper cleanup on egl
2019-10-11 22:18:56 +00:00
Andri Yngvason
cc1f470c6e
Integrate dmabuf capturing into frame-capture
2019-10-10 22:51:44 +00:00
Andri Yngvason
ffda3c164c
Create frame-capture backend framework
2019-10-10 22:32:54 +00:00
Andri Yngvason
e037e74756
Implement screencopy damage
2019-10-10 21:40:22 +00:00
Andri Yngvason
ddaea0ceab
Add some code for rendering screencopy frames
2019-10-10 21:28:07 +00:00
Andri Yngvason
1132dd6a3c
render: Add a function to render plain framebuffer
2019-10-09 22:37:46 +00:00
Andri Yngvason
8cc00dd5eb
render: rename shader_program -> dmabuf_shader_program
2019-10-09 22:00:01 +00:00
Andri Yngvason
36e7bde860
screencopy: Remember to request frame copy
2019-10-09 21:59:13 +00:00
Andri Yngvason
af1307b420
render: Use compatible pbuffer
...
Otherwise glReadPixels() will be bonkers.
2019-10-09 20:53:11 +00:00
Andri Yngvason
640b12184d
Align dmabuf backend with screencopy backend
2019-10-09 19:12:16 +00:00
Andri Yngvason
a7b4859611
Working on screencopy backend for comparison width export-dmabuf
2019-10-08 22:16:26 +00:00
Andri Yngvason
a52e1040a0
Add license and copyright notice
2019-10-08 18:41:23 +00:00
Andri Yngvason
c02a6512ea
Add damage checking
2019-10-07 23:44:55 +00:00
Andri Yngvason
3ba5884954
Feed captured frames to nvnc
2019-10-07 23:07:12 +00:00
Andri Yngvason
119ee0efef
WiP: Implement frame capturing
2019-10-06 22:50:11 +00:00
Andri Yngvason
eaae3ba2db
Add more initialisation code
2019-10-06 22:12:29 +00:00
Andri Yngvason
33772e0b94
render: Fixup
2019-10-06 20:54:59 +00:00
Andri Yngvason
2d953c5053
Working on the main program
2019-10-06 18:51:39 +00:00
Andri Yngvason
a52ff52fcf
render: Move logging and struct to headers
2019-10-06 18:50:47 +00:00
Andri Yngvason
f4e9169b66
Add strlcpy
2019-10-06 18:49:57 +00:00
Andri Yngvason
89dbbc5fc9
render: Add header
2019-10-06 17:14:53 +00:00
Andri Yngvason
232b945ad0
Wrap interface for wl-export-dmabuf
2019-10-06 17:12:03 +00:00
Andri Yngvason
0dceb98f79
Add dmabuf import & render
2019-10-06 14:08:52 +00:00
Andri Yngvason
838570a4f9
Create new VNC project
2019-10-06 13:10:46 +00:00