Started working on Padblocker

Yesterday the result was announced and I cleared all the exams with very good marks. 🙂

Also yesterday and tomorrow, I just resolved all the issues that were mentioned by the reviewers on Gerrit.

Now, I start working on the padblocker. It is the new enhancement ticket in which,

We have to add the mouse down filter in the touchpad preferences. Sometimes, while typing we accidently create the mouse clicks on the touchpad or in some case while typing our cursor goes on another line and we came to know later.

In the BeOS, there is the input_filter which will prevent us from this kind of situation.

The work is started by the Oishika which was also participated in the Outreachy. Now, I will continue her work and try to finish it quickly. I understand the code from her commits on Gerrit.  But, I want to go through it one more time. Tomorrow, I will start making changes on it. 🙂


Received the first payment from Outreachy

Today I received my first payment from Outreachy. I was full of happiness when my father calls me and said congratulations!!!! your money received. All family members are very happy. They congrats to me and start giving blessings.

The first time I went to the bank to withdraw some money. Then, I went to the shop for buying Rumala Sahib. Then, I went to the Sikh Temple (Sri Alamgir Sahib) to say thank you to god for this opportunity in my life. Then, I celebrated this good news with my family.

But, now I came to know that the result is declared by tomorrow. Start feeling worried now. I got the marks according to what I have written in the exam. Still, the worrying feeling comes. 😦

Hope so everyone will clear their exams with good marks. 🙂

Finished Working of Pointing Devices

Today, I write yesterday’s blog in the morning. As I mentioned in the previous blog, I was facing the problem regarding the default and the revert button. In the afternoon, I received the mail from my mentor. He told me not to use global buttons for all the problems, it becomes complex. Then, I add both the buttons in the individual cards. Like the mouse window, its own default and revert button and touchpad have its own.

In the evening, finished with pointing devices work.

Now, when I was sending the patch to Gerrit, by mistake I amend the commit in the previous patch which was not the right way. Then, I abandon the patch from Gerrit and made the new branch by which I add all the supported files. But the files didn’t add because I already commit than in another branch. I again abandon that patch.

While trying and searching on the internet I came to know about some commands which help me to solve my problem. Commands below:

1.) If the user wants to check the history of the git commands that we used previously the, try the command below:

history | grep git


git commands

2.) If the user wants to switch  from one branch to another, then try the command below:

git checkout "Branch name"

3.) If the user wants to uncommit the commit patch:

git reset --soft HEAD~1

By using the above command you will remove the last commit from the current branch.

git status

The git status command displays the state of the working directory and the staging area.

git reset HEAD "filename"

The above command will unstage the file to the current commit (HEAD).

4.) If the user wants to remove the files from the Gerrit but not from the local system:

git rm -cached "filename"

5.) If the user wants to see the generated patch use the command below:

git log -p

6.) If the user wants to see the amended commit history:

git reflog

Thank you for reading  🙂

Working finished

Yesterday, I was unable to write the blog because it’s 3:00 am I finished my work. Till yesterday I was set the target to complete the working of both mouse and the touchpad. I overcome my target. Yippee!!!!

Now, the mouse and the touchpad both work properly. Now, facing one problem. In the main window, the default and the revert buttons remain the same in all the preferences.

I want to set the code like this way if the mouse window opens then the default and revert case of mouse runs. And if the touchpad window opens then, the default and revert case of touchpad runs.

Now, the idea is not coming in my mind that what condition I have to set in the if and else statement?

Yesterday, I was just confused about the working of the default and revert button of the touchpad. I tried the whole day but didn’t get success. At night I tried to read my code thoroughly and start debugging the code. By which I clarify the working properly. In the end, I was just doing a silly mistake. After correcting it, they start working.

Thank god!!!!!!!!



Added the working

From the two days ago, I was trying to add the working behind the UI of mouse and touchpad. Today, I finished all that wor just one thing left to add the actions on default and revert button for the touchpad. Done with the default and revert options of mouse and the working of both mouse and the touchpad.

Suffering form eyes infection because it’s too hot outside. That’s why I was unable to give the proper time to the work.

The new UI is shown below:




Hectic week

From one week, I was not writing the blog. I was suffering from the eyes infections and there were other problems also like, I was trying to install the Haiku Os in my laptop.

I installed Haiku successfully. After rebooting it I was getting an error: no such


Then, I send the send mail about this in the haiku community mailing list. Linuxero, Adrien (PulkoMandy) helped me to overcome this problem. I spend the whole day and night on it. But, didn’t get success. Then, I start working on the code. But, there was also a problem. I execute the code on the VirtualBox in my daily tasks. Suddenly, the problem occurs when I transfer the file to haiku using the
scp command. The file transfers properly and when I open the file in
haiku, the error comes:
“bash: ./Input : cannot execute the binary file. Not an executable file.”

I was very confused why so many problems are coming day by day. Today, I start my date by praying to god. Then, I started my work and now, only one problem left which is to reboot haiku.

PulkoMandy told me the solution to the above problem. I download the 64-bit version of haiku from the link provided by him. Again, I convert the .image file into a .vdi file for the virtual box as I discussed in my previous blogs. Again, I made the start the ssh port to transfer the files from the local machine to remote machine. While transferring the file I was getting the error :

Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
Please contact your system administrator.
Add correct host key in /home/user01/.ssh/known_hosts to get rid of this message.
Offending key in /home/preetpal/.ssh/known_hosts:7
RSA host key for has changed and you have requested strict checking.
Host key verification failed.

I removed the old keys from the path  ” /home/preetpal/.ssh/known_hosts” and the problem was solved.
Host key verification failed” means that the host key of the remote host was changed since you ssh to it in last time and so the system does not allow access for security purposes. So you need to change the host key in the known_hosts file.

Finally, scp works and able to execute the code in the haiku.

Problem-related to rebooting: At the yesterday night while having a conversation with my mentor PulkoMandy. He asked me whether I was trying to reboot haiku-nightly build or haikur1 beta1. Because in r1beta1 there was the bug with UEFI. The UEFI loader isn’t available during the installation. Then, I tried to install the haiku-nightly build. Again, I when rebooting it the debugger window appears.


Now, again I am confused, didn’t find the exact fault 😦

Now, coming to the project the idea was changed. New UI will look like this:

WhatsApp Image 2019-06-29 at 9.53.45 PM

But, the Mouse I and Mouse II option will be placed on the left side, not in a tab.

I have created the above UI of mouse and the touchpad and only the working is pending because I need the haiku installed in my laptop to test its working properly.

Started my work at 10:00 am morning and now it’s 1:00 am. Now, going to sleep let’s see what will happen tomorrow. 🙂

Thanks for reading 🙂

Week 5 Theme: Think About Your Audience

Project: To unify the input preferences (mouse, touchpad, keyboard, keymap)

As this documentation is for for the beginners who don’t know anything about this organization and the project. So let’s start from the basic.

What is an Operating system?

The OS is the system software which acts as the interface between the user and the computer hardware. It provides an environment by which the user can run the program in an efficient manner.

Example: Haiku, Microsoft Windows, Linux, React OS, etc.

About the  Haiku Organization:

Haiku is an open-source operating system that specifically targets personal computing. Inspired by the BeOS, Haiku is fast, simple to use, easy to learn and yet very powerful.

Personal computing is a multi-purpose computer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or technician. Unlike large costly minicomputer and mainframes, time-sharing by many people at the same time is not used with personal computers.

Features of Haiku:

  • Focus on Personal Computing
  • Fully threaded design for great efficiency with multi-processor/core CPUs
  • Rich object-oriented API for faster development
  • Custom kernel designed for responsiveness
  • Unified, cohesive interface


The desktop of Haiku:


About the Project:

In the Haiku, the preferences are not arranged properly means all the input preferences (mouse, touchpad, keyboard, keymap) have separate windows. To get the mouse settings we have to right click->desktop->System->preferences ->mouse. Then to go to touchpad settings again we have to go through from these steps which are time-consuming.

The below picture will clear the doubts:


Now, to solve this problem and save time. There should be a common application in which these devices are placed in the same window by which the user can change the settings without wasting time. That’s why the project name is to unify the input preferences.

Skills Required: C++ , Gerrit.

If you want to contact with your mentor you have to use IRC (join the channel #haiku, #haiku-dev), mailing list, Haiku forum.

While contributing to Haiku if the error occurs in the code and the user didn’t know, where the error occurs then use Haiku debugger. Follow the below link:

For more detail follow the link below:

As the beginner, to understand the code is not easy and it is expected that the beginner will have no knowledge about it. So, it’s fine to take some time to understand the side and the project with the full concentration.

If you feel the problem you can contact with the community. Feel free to ask me anything which is not clear to you. I feel happy to help you.  🙂

Thank you. 🙂


Debugger in Haiku OS

Hello everyone! Welcome to my blog.

Today I will cover the topic of the debugger in the Haiku OS. When the programming (coding) journey begins, a various error comes. Some are easy to handle, some are not.

As a begging, we don’t know how to find our mistakes in the huge lines of code. It was very difficult to find.  Yesterday I gain knowledge about debugger from my mentor. I never use debugger until now. Yesterday he told me to step by step and today I am able to find the error in a very easy way. 🙂 I want to share my knowledge with you all reading my blog. This blog is especially for beginners who are new to Haiku. 🙂

There is a tool that is called the debugger. Basically, what the debugger will do?

A debugger is a software program used to test and find bugs (errors) in the programs.

Let’s start with the debugger journey.

Step1. Go to the following directory:


Step2. Read the files that are marked in the above image:

There are two files UserBuildConfig.ReadMe and UserBuildConfig.sample.

UserBuildConfig.ReadMe: It contains documentation about how to use the debugger.

We can also read from there but, I was writing my blog to share my experience with the beginners.

UserBuildConfig.sample: It contains the sample of how we have to create the file to debug the application.

Step3. Now, Create the new file as same as the UserBuildConfig.a sample including the text “SetConfigVar DEBUG: HAIKU_TOP src preferences input: 1: global;” (where src preferences input are the path of the file which we have to debug.)


Here, we are declaring the value of DEBUG = 1 which means, to start the debugging of the application mentioned in the above line (input).

Step4. Run jam.

Now, while building it you will see that the paths change from “Haiku/generated/objects/haiku/x86_64/release/preferences/input/Input” to “Haiku/generated/objects/haiku/x86_64/debug_1/preferences/input/Input”. Now, you build your application in debug mode and its time to start source level debugging.


Step5. Use scp cmmand to tranfer the application from local machine to remote machine.

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2


Step6. Example: Let the application crashes due to the error in the file. WHen you clcik on the application to run. The debug Window comes as shown below:


Step7. Click on the debug option and give the path to the file in the debugger window.. Now, you see in the variable block There is the name of the function which crashes the application. At the same time when you give the path to that file, you will able to see that which line of code crashes the applicatin.


The yellow color indicates the line which crashes the application.


Thank you to all for reading. I will also make a video on it and upload it on youtube soon. 🙂

Added the working of Mouse

Yesterday I have added the MouseView in the window. Today I tried to add its working.

But, when I test the working, its works but after clicking on the button one I got Debug window. After terminating the seetings changed as I change them before the dubugging window. And also, tried to add the working of the other preferencees which are common for mouse and the touchpad. Then, I start playing with the mouse view code. Like I have changed the values of the BPoints which makes the outline of the mouse view.

Now, I think its too late to go sleep. Tomorrow, I will find my mistake in the code ad try to add the proer functioning of the common preference. By, which I have done with my first widow. Then, I move on to the BCardView. And then, start working on the second window(KeyBoard/Keymap). 🙂


One more problem, that I am trying to solve that why the BListView shrinks when I added the tab in the window?


Create a free website or blog at

Up ↑