summaryrefslogtreecommitdiff
path: root/usb-i2c-sl018/update-keys.c
diff options
context:
space:
mode:
Diffstat (limited to 'usb-i2c-sl018/update-keys.c')
-rw-r--r--usb-i2c-sl018/update-keys.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/usb-i2c-sl018/update-keys.c b/usb-i2c-sl018/update-keys.c
index efeca83..9428fc3 100644
--- a/usb-i2c-sl018/update-keys.c
+++ b/usb-i2c-sl018/update-keys.c
@@ -40,6 +40,7 @@ uint8_t generate_csum(keyslot_t data)
void send_key(keyslot_t key, FILE* dev)
{
fwrite(key, sizeof(keyslot_t), 1, dev);
+ fflush(dev);
char tmp;
while(fread(&tmp, 1, 1, dev)) {
fwrite(&tmp, 1, 1, stdout);
@@ -64,6 +65,8 @@ int main(int argc, char* argv[])
int fd = fileno(dev);
struct termios t;
tcgetattr(fd, &t);
+ t.c_lflag &= ~(ICANON | ECHO);
+ t.c_iflag &= ~(ICRNL | INLCR | IXON | IXOFF);
cfmakeraw(&t);
tcflush(fd, TCIOFLUSH);
tcsetattr(fd, TCSANOW, &t);