Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | lib: rework led flags as composite type | Philipp Gesang | 2021-12-22 | 1 | -30/+207 |
| | | | | | | | | | Split the underlying led bits handling into KbLeds and employ this to construct both KbLedState and KbLedFlags, preserving their distinctness. This also finally implements the handling of the default states from the higher order bits of KD*KBLED. | ||||
* | Revert "lib: implement “kb flags”" | Philipp Gesang | 2021-12-22 | 1 | -61/+71 |
| | | | | | | | This partially reverts commit 92f35f8e90199e4d9dfbcc545be456f4c2d7a1ce. The keyboard modifiers behave too differently from the LED state for the const generics to pay off. | ||||
* | lib: implement “kb flags” | Philipp Gesang | 2021-12-12 | 2 | -113/+303 |
| | | | | | | | | A const-genericized version of the “kb leds” implementation. Does seem to consistently run into EINVAL no matter what flags we provide. Also incomplete as KDGKBLED / KDSKBLED pack more info into higher bits of their argument. | ||||
* | bin: move “leds” subcommand under “kb” namespace | Philipp Gesang | 2021-12-12 | 1 | -100/+135 |
| | | | | | | | | | | | | | So instead of $ vtcol leds get that functionality is now available as $ vtcol kb leds get anticipating the keyboad related functions that are about to come. | ||||
* | lib: add ioctl wrappers for KDGKBLED / KDSKBLED | Philipp Gesang | 2021-12-12 | 1 | -43/+111 |
| | | | | | Reusing the same definitions as we have for KD{G,S}ETLED as they’re practically the same. | ||||
* | lib: close console fd on drop | Philipp Gesang | 2021-12-12 | 1 | -0/+14 |
| | |||||
* | doc: expand man page some more | Philipp Gesang | 2021-12-12 | 1 | -4/+40 |
| | |||||
* | bin: allow specifying the console on the command line | Philipp Gesang | 2021-12-12 | 2 | -64/+118 |
| | | | | | | | | | | | | | As in: $ vtcol --console /dev/tty6 colors get solarized $ vtcol --console /dev/tty6 colors set phosphor $ vtcol --console /dev/tty6 colors get phosphor That simplifies testing so much I wonder why the heck I needed this long to finally implement it. | ||||
* | bin: make --verbose a global argument | Philipp Gesang | 2021-12-12 | 1 | -1/+2 |
| | | | | It shouldn’t matter where exactly it appears on the command line. | ||||
* | doc: add screenshots to readme | Philipp Gesang | 2021-12-12 | 3 | -6/+15 |
| | |||||
* | bin: refactor job into member functions + trait | Philipp Gesang | 2021-12-12 | 1 | -188/+222 |
| | |||||
* | doc: describe led setting in readme and manpage | Philipp Gesang | 2021-12-12 | 3 | -5/+18 |
| | |||||
* | bin: lib: implement setting state of individual LEDs | Philipp Gesang | 2021-12-12 | 2 | -17/+120 |
| | |||||
* | bin: implement led revert | Philipp Gesang | 2021-12-12 | 2 | -7/+26 |
| | | | | | | | | | | | | Command: $ vtcol leds set --revert Implementing this detail of KDSETLED: [I]f a higher order bit is set, the LEDs revert to normal: displaying the state of the keyboard functions of caps lock, num lock, and scroll lock. | ||||
* | bin: implement “leds set” subcommand | Philipp Gesang | 2021-12-12 | 2 | -6/+61 |
| | | | | | | | Currently only supports setting the raw state from an integer value: $ vtcol leds set -8 2 | ||||
* | update readme | Philipp Gesang | 2021-12-12 | 1 | -15/+38 |
| | |||||
* | doc: update manpage for colors/leds split | Philipp Gesang | 2021-12-12 | 1 | -20/+91 |
| | |||||
* | move color ops into subcommand | Philipp Gesang | 2021-12-11 | 2 | -203/+248 |
| | | | | | | | | | | | | So what used to be $ vtcol set solarized becomes $ vtcol colors set solarized etc. | ||||
* | add KDGETLED subcommand to vtcol-bin | Philipp Gesang | 2021-12-08 | 2 | -2/+86 |
| | | | | | | | | | Actually we add both subcommand and sub-subcommand. Example: [*] 15:52:40 phg@acheron vtcol $ vtcol leds get Caps: false, Num: true, Scroll: false | ||||
* | add ioctl wrappers for KDGETLED / KDSETLED | Philipp Gesang | 2021-12-08 | 1 | -5/+119 |
| | |||||
* | be more specific about what “list” does | Philipp Gesang | 2021-12-08 | 1 | -1/+1 |
| | |||||
* | misc: add nix derivation | Philipp Gesang | 2021-11-25 | 3 | -1/+76 |
| | |||||
* | move archlinux stuff to subdir | Philipp Gesang | 2021-11-25 | 5 | -0/+0 |
| | |||||
* | move base64 handling out of Palette | Philipp Gesang | 2021-11-25 | 2 | -25/+26 |
| | | | | | Try and not encumber the lower level types with more dependencies than needed. | ||||
* | don’t panic!() on open(2) failure | Philipp Gesang | 2021-11-24 | 1 | -10/+10 |
| | |||||
* | add base64 input to ‘dump’ | Philipp Gesang | 2021-11-24 | 1 | -7/+23 |
| | |||||
* | add base64 input for ‘set’ | Philipp Gesang | 2021-11-24 | 2 | -0/+45 |
| | |||||
* | add base64 output for ‘get’ | Philipp Gesang | 2021-11-24 | 3 | -6/+25 |
| | |||||
* | optionally clear after each fade step | Philipp Gesang | 2021-11-23 | 2 | -6/+27 |
| | |||||
* | implement fading | Philipp Gesang | 2021-11-23 | 2 | -3/+195 |
| | | | | vtcol fade --ms 1000 --frequency 10 --to solarized & dmesg | ||||
* | get rid of useless lifetimes | Philipp Gesang | 2021-11-22 | 1 | -5/+5 |
| | |||||
* | switch RawPalette to integer representation | Philipp Gesang | 2021-11-16 | 2 | -51/+96 |
| | | | | | Introducing a simple type for RGB colors. That awkward string representation for RawPalette got unwieldy quick. | ||||
* | add KDGKBTYPE wrapper | Philipp Gesang | 2021-11-15 | 1 | -8/+14 |
| | |||||
* | namespace ioctl related symbols | Philipp Gesang | 2021-11-15 | 1 | -45/+53 |
| | |||||
* | move console handling into lib | Philipp Gesang | 2021-11-15 | 2 | -104/+162 |
| | | | | | All operations are now exposed through wrappers that are member functions of ``vtcol::Console``. | ||||
* | use idiomatic syscall error wrappers | Philipp Gesang | 2021-11-15 | 1 | -24/+48 |
| | | | | | A simplified version of the function used in std which aren’t made public. | ||||
* | turn Fd into proper wrapper | Philipp Gesang | 2021-11-15 | 2 | -21/+39 |
| | |||||
* | drop bespoke ioctl() wrapper | Philipp Gesang | 2021-11-15 | 1 | -16/+3 |
| | |||||
* | decontaminate library from clap and anyhow deps | Philipp Gesang | 2021-11-15 | 2 | -12/+28 |
| | |||||
* | lib: split out library | Philipp Gesang | 2021-11-15 | 3 | -533/+580 |
| | | | | | | | Not really a satisfactorily clean split as of yet but it’s a start. Error types have been changed from anyhow to io::Error in ``lib.rs`` so as to not force an error handling crate on downstream users. | ||||
* | add rustdoc to doc recipe | Philipp Gesang | 2021-11-12 | 1 | -1/+7 |
| | |||||
* | make rustdoc shut up about snippets | Philipp Gesang | 2021-11-12 | 1 | -0/+1 |
| | |||||
* | bring “dump” out put in line with scheme format | Philipp Gesang | 2021-11-12 | 1 | -24/+36 |
| | | | | | | | This revamps the output in a way that allows feeding the result back into vtcol: $ vtcol dump solarized |vtcol set - | ||||
* | fix argument handling for “dump” subcommand | Philipp Gesang | 2021-11-11 | 1 | -2/+2 |
| | | | | D’oh! | ||||
* | add build recipe for binary | Philipp Gesang | 2021-11-11 | 1 | -5/+14 |
| | |||||
* | fill in manpage | Philipp Gesang | 2021-11-11 | 1 | -11/+152 |
| | |||||
* | add built instructions for manpage | Philipp Gesang | 2021-11-11 | 3 | -1/+26 |
| | |||||
* | avoid hard coding builtin names | Philipp Gesang | 2021-11-11 | 2 | -48/+104 |
| | |||||
* | add green monochrome theme (phosphor) | Philipp Gesang | 2021-11-10 | 1 | -0/+21 |
| | |||||
* | add toggle subcommand | Philipp Gesang | 2021-11-10 | 3 | -1/+54 |
| |