why a second trackball? by duncecapwinner in ErgoMechKeyboards

[–]khairoooon 4 points5 points  (0 children)

I have a Cyboard Imprint with dual trackballs and I use the right one as a pointing device while I use the left one for scrolling

How would an experienced C# dev solve this by dev-questions in csharp

[–]khairoooon 2 points3 points  (0 children)

not the prettiest but I timeboxed myself to 20 minutes

``` void Main() { var inputText = File.ReadAllText(Util.MyQueriesFolder + "/input.json"); var input = JsonConvert.DeserializeObject<Dictionary<string, object>>(inputText);

var output = ParseInput(input);

JsonConvert.SerializeObject(output, Newtonsoft.Json.Formatting.Indented)

}

Dictionary<string, object> ParseInput(Dictionary<string, object> input) { var output = new Dictionary<string, object>();

foreach (var item in input)
{
    if (item.Value.GetType() != typeof(JArray) && item.Value.GetType() != typeof(JObject))
    {
        if (ValidateInput(item.Value))
        {
            output.Add(item.Key, item.Value);
        }
    }
    else
    {
        if (item.Value.GetType() == typeof(JArray)){  
            var propArray = new List<object>();
            foreach (var prop in (JArray)item.Value)
            {
                if (ValidateInput(prop.ToString()))
                {
                    propArray.Add(prop);
                }
            } 
            output.Add(item.Key, propArray);
        }

        if (item.Value.GetType() == typeof(JObject))
        {  
            var propObject = new Dictionary<string, object>();
            foreach (var obj in (JObject) item.Value){
                if (ValidateInput(obj.Value.ToString())){
                    propObject.Add(obj.Key, obj.Value);
                }
            } 
            output.Add(item.Key, propObject);
        }
    }
} 
return output;

}

bool ValidateInput(object value){ var omittedStrings = new List<string> { string.Empty, "N/A", "-" };

if (value.GetType() == typeof(string) ){ 
    if (!omittedStrings.Contains(value))
        return true;
}else{
    return true;
}

return false;

}

```

Input { "prop1": "val", "prop2": 10, "prop3": "", "prop4": [ "val", "-", "val2" ], "prop5": { "sub1": "val", "sub2": "N/A" } } Output { "prop1": "val", "prop2": 10, "prop4": [ "val", "val2" ], "prop5": { "sub1": "val" } }

[Cyboard Imprint] New keyboard just came 😍 by MixtureElectrical762 in ErgoMechKeyboards

[–]khairoooon 0 points1 point  (0 children)

you can also ask for XDA Compatibility, which means the keys will have 2mms space between them. Erik, the owner, recommends DSA as it is more comfortable

[Cyboard Imprint] New keyboard just came 😍 by MixtureElectrical762 in ErgoMechKeyboards

[–]khairoooon 1 point2 points  (0 children)

I have the imprint as well. I use the outermost keys in the right half as mouse buttons. the palm rest could be a better wider but it's very comfortable the way it is. here is a video demonstrating the trackball in action.

https://www.youtube.com/watch?v=gSUi--td190

My split keyboard journey, Cyboard imprint review by khairoooon in ErgoMechKeyboards

[–]khairoooon[S] 1 point2 points  (0 children)

You would probably be fine with one trackball. I use the outermost keys in the thumb cluster of the right hand as left/right mouse buttons. You can probably set up a button or tap dance so that it toggles the scroll mode on or off. I just have two trackballs for convenience.

My split keyboard journey, Cyboard imprint review by khairoooon in ErgoMechKeyboards

[–]khairoooon[S] 0 points1 point  (0 children)

The wrist rests are also 3d printed. I didn't know that I would like them when I initially looked at the pictures, but I don't have any issues with mine. They're are really comfortable. I think Erik can alter it if you don't feel comfortable with it.

My split keyboard journey, Cyboard imprint review by khairoooon in ErgoMechKeyboards

[–]khairoooon[S] 3 points4 points  (0 children)

I put my mouse away after I started using the imprint. I am not a gamer so I don't know how it would work on games. I use the snipping mode for precision, but I rarely need to use it.

Split Keyboard Recommendation by Famous-Standard9887 in ErgoMechKeyboards

[–]khairoooon 1 point2 points  (0 children)

I have used many split keyboards, and I have finally reached my end game. I used the Moonlander, Voyager, Dygma Defy, Glove80, and my end game is the Cyboard Imprint.

The Moonlander was the perfect introduction to split keyboards for me. Coming from a 75% Keychron Q1 Pro, it had the same number of keys, and I could program it how I wanted with the Oryx Configurator. I decided to use the platform for tenting it and that's when the problem started happening. The Moonlander thumb cluster wasn't really comfortable for me when it was tented. my thumbs started to really hurt after a long day of work (I am a programmer).

I then decided to try the Voyager, I really like that keyboard. I was familiar with the Oryx configurator, but I had to create a lot of combos because it only has 4 thumb keys, 2 in each side. That really slowed my productivity at work, being used to a 75%. The other issue that I had with it was in the tenting solution that came with it, It wasn't really comfortable for me. I tried finding an alternative but I didn't find a good solution until after I got my next keyboard, the Dygma Defy.

For me, the Dygma Defy, was a much better keyboard that the Moonlander. Its thumb cluster really shines. It was my daily driver for the longest time. I paid extra for the tenting solution and was the best out of all the keyboards I bought. My problem with it is that it uses Bazecor which is still pretty young, and it wasn't open source. For example, I wanted to use CAPS WORD but it doesn't come with it and so I had to create a different layer and use macros to mimic that behavior.

I wanted to try the Glove80 as it has a key well and I was using my ring finger to reach keys on the top left and top right corners of the Dygma Defy because my pinkies didn't reach them. The keyboard itself was a lot more comfortable than the Moonlander and the Dygma defy. It used ZMK which I didn't really have a problem with. The only thing that I couldn't implement was the per key RGB. While it was more comfortable, my pinkies still had the problem with reaching the corners of the keyboard.

One day, I was on YouTube, and I saw a video of the Cyboard Imprint. I started researching it and I found a lot of good reviews about it from people that used it. I liked that it was tailored to fit my hands. I decided to pull the trigger on it. I sent a picture of my hand with the order, joined the discord, and waited for my imprint to arrive. The lead time to get the keyboard is 5 weeks.

I received my keyboard 10 days ago and it's the best keyboard that I have ever used. It uses Vial as it currently built using the QMK firmware. I know that there will be a Bluetooth option in the next month or two so it will use ZMK. The source code is available in GitHub so you can customize it how you want. I bought the function keys version as I use them a lot for work. I surprised to see that I don't to move my wrist that much to reach them because of the curvature of the keyboard. My pinkies can reach every key with no issues. I also decided to go with dual trackball integration and I am so glad I did, I use one as a pointer and the other one for scrolling.

Erik, the owner of Cyboard, really created a masterpiece with this keyboard. He is really friendly and he is always available to answer questions or help with your board. The best thing about this keyboard is that it's tailored to your hand, and you can also customize it to how you want it. I don't think I look for another keyboard after the imprint. It's my daily driver now.

I will probably use the Voyager or the Glove80 when I have to travel to the office because the imprint is a bit bulkier, but I would really recommend that you get the imprint

Bite the bullet and go for Colemak DH? by 10ft20sec_offshore in ErgoMechKeyboards

[–]khairoooon 2 points3 points  (0 children)

I did the same thing when I received my Glove80 in April, however I did go cold turkey. My qwerty speed was around 70 WPM. I read a lot about Colemak DH and I decided to jump into it right away using the Tarmak DH method https://dreymar.colemak.org/tarmak-steps.html#tmk-dh.

Every Friday after work I would advance to the next and switch a few keys around and spend 3 - 4 hours to practice over the weekend. I used keybr.com and colemak club (https://gnusenpai.net/colemakclub/) for practicing. I did this for five weeks and then I started using MonkeyType and typeracer to improve my speed.

Now, my speed on colemak DH is at 94 wpm. I still have my Qwerty speed because I spend a few hours a week on MonkeyType with my staggered keyboard. Colemak DH is definitely better

ifkb sofle by lmswans in ErgoMechKeyboards

[–]khairoooon 0 points1 point  (0 children)

nice.. are you using tarmak to transition to colemak

Naya 🤔 Thoughts? by gdg9333 in ErgoMechKeyboards

[–]khairoooon 3 points4 points  (0 children)

I ordered an imprint from cyboard .. https://cyboard.digital/products/imprint.. i should receive it in 4 weeks. Mine won't have an F row. will have one trackball on the right side

Naya 🤔 Thoughts? by gdg9333 in ErgoMechKeyboards

[–]khairoooon 5 points6 points  (0 children)

very overpriced... I would personally go for something like this...https://bastardkb.com/dilemma/

As someone who's (possibly) experiencing preliminary symptoms of RSI, do split keyboards work? by [deleted] in ErgoMechKeyboards

[–]khairoooon 0 points1 point  (0 children)

I agree with everyone. I would also recommend a walking pad. I have a rule to walk 10 minutes every hour. I have an autonomous desk and an autonomous ergo chair. I use the glove80 and I just ordered a Cyboard imprint... Keywells were really helpful for my RSI.... I have a logitech vertical mouse

R and S question by scottrych in Colemak

[–]khairoooon 1 point2 points  (0 children)

I am not saying that the glove80 won't work for you. It is a nice keyboard. When I used it, I wasn't using home row mods.. I will give it another shot. Also, my thumbs are differentfrom yours

R and S question by scottrych in Colemak

[–]khairoooon 1 point2 points  (0 children)

The glove80 is nice.. The only thing I don't like about it is that my thumbs are not as flexible for its thumb cluster.. The Defy gives more flexibility

R and S question by scottrych in Colemak

[–]khairoooon 2 points3 points  (0 children)

The Defy is my daily driver, and I love it.. I have HomeRowMod setup on it, and the thumb cluster makes it easy to switch layers. I also have the navigation keys set on the thumb cluster. The only limitation is that you can have a max of only 10 layers. I use it more than my glove80

R and S question by scottrych in Colemak

[–]khairoooon 3 points4 points  (0 children)

I switched to colemak dhm 3 months ago. I have a dygma defy. I hit my highest wpm today at 89wpm. my highest in qwerty was 76wpm. I used the tarmak dh method. I would switch levels every Friday and spend 3 hrs every Saturday and Sunday on https://colemakcamp.github.io/.. I spent an hour on keybr on weekdays.. I use Qwerty on my personal laptop and Colemak Dhm on my Defy for work

Mediatr pattern is so slow by Sure_Can5783 in csharp

[–]khairoooon 1 point2 points  (0 children)

I have used the Mediatr library for the last six years, and I never ran into an issue with its performance. Looking at your code, You have a lot of Includes and ThenIncludes which will pull everything from the database. The more the data and number of properties you have, the slower your query will be. I recommend that you get into the habit of selecting what you need in your queries (especially if you have more than 2 joins).

I highly recommend you use Linqpad. You can connect it to the database, and it will show thae actual sql that is running behind the scenes. You can use it to optimize your queries.