Buy this Domain

Community Discussions

Explore the latest discussions and community conversations related to this domain.

When To Use Via or By?

Main Post:

I understand that “via” is very formal but in formal papers you’re always told use “by”. If “via” is too formal for formal writing then where would it be appropriate?

Top Comment: I understand that “via” is very formal but in formal papers you’re always told use “by”. Before this post, I haven't heard the guideline that the word "via" should be avoided in formal writing, but on further research, I can't outright dismiss the guideline either. For starters, this Stack Exchange question seems relevant, even if the answers aren't definitive. In terms of register, "via" is considered formal because it originates from the Latin term via . While Latin-dervied English words, "Latinisms," aren't inherently bad, they are more prone to gratuitous use compared to terms from other origins. Merriam-Webster defines "via" through two senses: 1) "by way of" and 2) "through the medium or agency of" or by "means of." It also offers two synonyms: "by" (in the sense of "through or through the medium of") and "through" (for both "by way of" and "through the medium of"). I wouldn't overthink these distinctions too much, but they cover the territory. Now for usage: Garner's Modern English Usage states that the second sense ("by means of" and "through the agency of") is a "casualism" and that it's "questionable" when an alternative like "by" or "through" would work. I guess this is what you mean by the advice to avoid "via," which falls under the style rule that a writer should prefer a simpler word over a formal word when the simpler word gets across the same meaning. At the same time, Garner says that the second sense is acceptable (as opposed to being an error), especially when "through" doesn't sound right. An example where "via" is the best option would be one of *Merriam-Webster*'s examples, "She flew to Los Angeles via Chicago." I'd indeed use "via" because it's more concise than "by way of," and it sounds more natural than "through" in this case. In short, be thoughtful with your vocabulary.

Forum: r/grammar

VIA is game-changing!

Main Post:

Hi all,

Hope your weekend goes/is going well! I recently got my first* mechanical keyboard, and one of the chief reasons I wanted to get one was to customize it any way I'd like. As a result, I had VIA(L) support high up in my must-haves. About a week into ownership of the same, I think I have settled on a layout that makes sense to me (but of course, I am open to feedback and questions!).

I will document my journey with VIA in this post. Hopefully it proves helpful to someone or encourages them to start using VIA(L). I would also love to see how your layers are setup, so please do share them!

Intro (skip if you know what VIA is)

For those with a VIA supported keyboard (including basically all Keychrons and some Royal Kludge boards!), I would strongly urge you to give it a try as it is super-easy, doesn't even need you to install any application on your computer and will likely make you more productive! All you have to do is go to https://usevia.app/ using any Chromium-based browser (Edge, Brave, Chrome, etc.); since Firefox doesn't give the browser access to the system's HID devices for increased security. All settings you change are automatically applied and saved to your keyboard. The most awesome feature imo is that because VIA can be used as a webapp, one can access it from any WebHID supported browser (check here for support) on any device!

Adding Macros

First order of business was adding macros to speed up my most used keyboard shortcuts. This is how I initially coded M0 to activate Windows' Snipping Tool:

{KC_LGUI, KC_LSFT, KC_S}

This is a "chord" type macro. While this M0 macro worked correctly, I faced an issue with M1 (Win Shift T) and M2 (Ctrl Win V) macros which I also coded as chords in the same way. Whenever activated, the modifier keys of the macros (Win & Shift for M1; Ctrl & Win for M2) would stay active even after I was done activating them, and remained that way till I activated the macro again.

I am not sure if this is the best way to go about this, but coding macros as a combination of keystrokes pressed and released with an amount of delay solved the problem. So, M0 would now look like this:

{+KC_LGUI}{+KC_LSFT}{+KC_T}{10}{-KC_LGUI}{-KC_LSFT}{-KC_T}

I also incorporated these delays for the other macros. Additionally, I added another macro M3 (Win + Period) to be make access to the emoji menu easier.
The annoying thing about adding macros is that on the face of it, the VIA webapp appears to have a perfectly functional macro editor (similar to the one in Logitech G Hub) as below:

However, it doesn't seem to be possible to add commands (unlike the Logitech G Hub Macro editor) through this GUI interface. The record function also doesn't seem to work (at least for the macros I was trying to add) even when in full screen. So, this editing layout appears only once I type the script in the script tab. It is still great seeing a visual description of just what exactly the script does, along with the option to change or remove keys and delay times, but adding a + button to add a key or delay would have made it perfect and much more accessible by making the learning curve much easier.

In any case, learning QMK scripting should be fairly easy, so this is not a big issue. Just something I wanted to put out there in case others have the same issues as me.

That's basically it for macros. I had the option to add as many as 16 (M0 through M15), although you would also need to make sure that all your scripts fit into the board's memory.

Using multiple layers (aka a 2nd "Fn" key)

Perhaps the biggest change you can make for your keyboard habits compared to my last post is learning to use multiple layers. I recently saw this YouTube video in my feed showing how to make the Caps Lock key more useful, which inspired me to remap the Caps Lock key (which I rarely use anyway) on my Bridge75 Plus to a combo Caps Lock and Fn key using QMK's Layer Tap (LT) function in VIA.

So now, if I press the Caps Lock key normally, it acts like a regular CL key. However, if I press it for more than the duration of a tap, it acts as the Fn key! I also much prefer having the Fn key accessible to my left hand, because then I always have access to it (to access keys on the right side, I'd need to remove my hand from the mouse; and shifting hands from left to right side is just inconvenient). I remapped the old Fn key to the Right Ctrl key since I do use it a fair bit.

This facilitated the other big change - I moved all of the keyboard's factory configurable options to layer 2. While holding the Caps Lock key, the Left Shift key is used to access the second layer.

This is how layer 0 (default layer) looks like now:

The function row came with predefined functions for layer 1 (which I think is based on the default Apple layout), of which I modified keys F5-F12. I rarely use the media keys on any keyboard since my I use my G502 (thanks to G-Shift) for that.
Here are the other functions accessed through this layer:

  • The += key launches the calculator. Right now, it's only marginally faster than pressing the win key, typing "ca" and hitting enter, but I expect this to improve as I incorporate this into my muscle memory.
  • E key: Emoji menu via macro M3 (Win + period)
  • T key: M1 for OCR via PowerToys (Win + Shift + T)
  • S key: M0 for snipping tool (Win + Shift + S)
  • V key: M2 for paste as plain text via PowerToys (Ctrl + Win + V)
  • Win key: Right click menu

With the Caps Lock key held, holding the Left Shift key makes layer 2 accessible::

All factory configurable settings (connection mode, RGB controls, debounce time, battery level indicator & switching to Apple layout) have been moved to Layer 2 as I would prefer to have layer 1 for stuff used more often.

That's all of it! While there is another layer (3) available to use, I don't see myself making use of it at least for this keyboard. I imagine it might be more useful on smaller keyboards (40%, 60% etc.).

Most of the changes next are likely going to be trying to make layer 1 even more efficient/productive. If you read all of this, thanks for persevering through and I hope you took away something useful. Happy typing and enjoy the weekend!

Top Comment: With Vial you can do even more. It adds quite a lot of qol features over VIA. Let's you configure tap-dance, key-combos and key overrides instead of only plain macros. And you can change QMK settings on the fly. And it still has a proper desktop app instead of being browser based...

Forum: r/MechanicalKeyboards

Does Via have a bad rep?

Main Post: Does Via have a bad rep?

Top Comment: Keep Via, look for new friends

Forum: r/jerseycity

Reddit - The heart of the internet

Main Post: Reddit - The heart of the internet

Forum: reddit.com

Via browser, it has good speed, good customization but is it safe?

Main Post:

Do you think via browser is safe for daily browsing, without very sensitive access, I saw that it is open source and published on github, although the dev is Chinese, it is not closed source, does it have any risk in daily use?

Top Comment: I've been using Rocket browser for several years. It's simple and basic and fast. In the last year I'm also using Via. I like how it can go backwards and forwards without reloading. I like the many options for bookmarks, viewing source code so I don't need a separate html hex viewer, and the source sniffer.

Forum: r/browsers

what is via?

Main Post: what is via?

Top Comment: It’s a software for keyboards that support that allows you to remap keys, create layers and more.

Forum: r/MechanicalKeyboards

How is VIA implemented?

Main Post:

My understanding is that VIA is a program (and web application) that lets you change your QMK keymap without reflashing your keyboard.

How is the web app vesion of VIA implemented, from the programming point of view? What APIs does it use? Eg. does it use WebUSB? WebHID?

In that case VIA wouldn't be compatible with Safari or Firefox?

Top Comment: The answers here are all correct but each only addresses different parts of your question. To answer it all in one: yes, VIA uses WebHID to talk to the keyboard. But WebHID is only supported in Chromium-based browsers like Chrome and Edge. Browsers like Firefox and Safari are developed independently from Chromium, and have specifically chosen not to implement WebHID for security reasons. Basically, the argument is that it is a web browser, and a web browser has no reasonable business directly communicating with USB devices. VIA quite literally changes how your keyboard operates; a rogue website (if it is granted permission to access the USB device) could maliciously remap all your keys randomly. In more extreme example, theoretically an exploit could perhaps find some way to reprogram your keyboard to act as a keylogger... and while that certainly seems far fetched, one has to look no further than Stuxnet to understand that a highly motivated party can and will use every advantage to achieve their goals. In any case, Google's view is "the more the browser can do, the better" whereas Apple and Mozilla have a much more conservative view and insist the browser just do browser things. This outcome isn't particularly surprising given the motives of each party involved, but it does mean that certain things like VIA will work on one browser but not on another. Two other things to mention: The offline (installable) version of VIA uses Electron, which is basically Chromium-as-a-standalone app. This is very useful for running JavaScript-based code outside of what is normally considered a browser environment. So it has most all the parts of the Chromium browser engine, including WebHID. Vial is an alternative to VIA that doesn't even assume USB HID communications can be trusted in general. So everything I mention about malicious code remapping keys is still possible with VIA-enabled keyboards without involving the browser at all...any random piece of software installed on your computer has access to the USB HID and can (if it wanted) remap keys without your authorization. To minimize this security risk, Vial has a feature for keyboard unlocking--that is, you have to press some combination of keys on the keyboard to allow remapping to occur. It's just another layer of security.

Forum: r/olkb

VIA Security Risk?

Main Post:

I just built my first keyboard (Dactyl Manuform 5x7), and I was interested in playing around with VIA.

Since I was going to be bringing this keyboard to work and other places, it made me wonder if VIA might be a security risk. Might it be possible for someone to reprogram my keyboard (or worse) because I have VIA enabled?

I understand that having physical access to the device could allow anyone to reset my microcontrollers into bootloader mode, at which point all bets are off. Still, being able to use VIA to potentially modify my keyboard in an “online” (just by having it plugged in and without my knowledge) fashion just hits different.

Edited to be more clear.

Top Comment: Physical access is always going to allow people who know what they are doing to make modifications. Though I'm not sure what security risk being able to remap the keys poses tbh. The higher risk is they'd be able to use via to see what your map is, which might give them insight into some stuff, but still probably not. What is the threat model here?

Forum: r/ErgoMechKeyboards

Now that I have used VIAL, I can't use VIA any more.

Main Post:

For those that don't know, VIAL is an open source "clone" of VIA that adds a lot more features that VIA does. It exposes more QMK configuration options via the UI, and stores the JSON file on the keyboard, so you never have to load the VIAL app and browse for your JSON file.

VIAL will let you configure things such as Tapdance, and allows way more macros and layers than VIA does.

https://get.vial.today

I program the heck out of my keyboards, especially with macros. So, some kind of VIAL support influences my purchasing decisions.

Top Comment: I don't want to hate VIA and since VIAL is rarely supported I'll prob just keep myself ignorant as it is true bliss

Forum: r/MechanicalKeyboards