www.tindie.com
Open in
urlscan Pro
54.149.246.94
Public Scan
Submitted URL: http://bit.ly/3yfnPdS
Effective URL: https://www.tindie.com/products/arturo182/bb-q20-keyboard-with-trackpad-usbi2cpmod/
Submission: On February 05 via manual from US — Scanned from DE
Effective URL: https://www.tindie.com/products/arturo182/bb-q20-keyboard-with-trackpad-usbi2cpmod/
Submission: On February 05 via manual from US — Scanned from DE
Form analysis
10 forms found in the DOMhttps://www.tindie.com/search/
<form action="https://www.tindie.com/search/">
<div class="input-group">
<div class="input-group-addon">
<svg class="icon icon-search-white">
<use xlink:href="https://www.tindie.com/icons.svg#icon-search-white"></use>
</svg>
</div>
<input autocomplete="off" class="form-control" spellcheck="false" type="text" name="q" aria-label="Search products" id="search-tindie-mobile" placeholder="Search products">
<div class="input-group-btn">
<button class="btn btn-primary btn-sm" type="submit">Go</button>
</div>
</div>
</form>
https://www.tindie.com/search/
<form action="https://www.tindie.com/search/">
<span class="algolia-autocomplete" style="position: relative; display: inline-block; direction: ltr;"><input class="search-tindie aa-input" autocomplete="off" spellcheck="false" type="text" aria-label="Search products" name="q" id="search-tindie"
placeholder="Search products" role="combobox" aria-autocomplete="both" aria-expanded="false" aria-owns="algolia-autocomplete-listbox-0" dir="auto" style="position: relative; vertical-align: top;">
<pre aria-hidden="true"
style="position: absolute; visibility: hidden; white-space: pre; font-family: effra, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: 400; word-spacing: 0px; letter-spacing: 0px; text-indent: 0px; text-rendering: auto; text-transform: none;"></pre>
<span class="aa-dropdown-menu" role="listbox" id="algolia-autocomplete-listbox-0" style="position: absolute; top: 100%; left: 0px; z-index: 100; display: none; right: auto;">
<div class="aa-dataset-1"></div>
<div class="aa-dataset-2"></div>
<div class="aa-dataset-3"></div>
</span>
</span>
<button type="submit">Search</button>
</form>
https://www.tindie.com/search/
<form action="https://www.tindie.com/search/">
<input class="search-tindie" autocomplete="off" spellcheck="false" type="text" name="q" aria-label="Search products" id="tablet-search-tindie" placeholder="Search products">
<button type="submit">Search</button>
</form>
POST /notifyme/create/
<form action="/notifyme/create/" method="post"> <input type="hidden" name="csrfmiddlewaretoken" value="9EodB7hi3jC8KBGVNPoPrtFFIkOMON2dRoJLpD7g9jFIVlV1wjXi9PoTgwOVUTBN">
<div id="div_desired_quantity" class="form-group"> <label for="desired_quantity" class="control-label requiredField"> Desired Quantity<span class="asteriskField">*</span> </label>
<div class="controls "> <input type="number" name="desired_quantity" value="1" required="" min="1" max="25" class="numberinput form-control" id="desired_quantity">
<div id="hint_desired_quantity" class="help-block">Please message the seller directly if your desired quantity is very large.</div>
</div>
</div>
<div id="div_email" class="form-group"> <label for="email" class="control-label requiredField"> Email<span class="asteriskField">*</span> </label>
<div class="controls "> <input type="text" name="email" required="" class="textinput textInput form-control" id="email"> </div>
</div>
<div class="hide" aria-hidden="true">
<div id="div_extra_info" class="form-group"> <label for="extra_info" class="control-label "> More Info </label>
<div class="controls "> <input type="text" name="extra_info" class="hide textinput textInput form-control" maxlength="10" id="extra_info"> </div>
</div>
</div>
<input type="submit" name="save" value="Join Waitlist" class="btn btn-primary" id="submit-id-save"> <input type="hidden" name="product" value="26774" required="" id="product">
</form>
<form id="create-shipping-request" data-create-request-url="/products/arturo182/bb-q20-keyboard-with-trackpad-usbi2cpmod/shipping-requests/" data-bind="hidden: hasRequested">
<input type="hidden" id="id_shipping_request_country" name="shipping_request_country" data-bind="value: country" value="">
<input type="text" id="id_shipping_request_other" name="shipping_request_other" placeholder="Other Info" value="" class="hide">
<div class="row">
<div class="col-md-6">
<div class="form-group mb0">
<div class="input-group">
<input class="form-control input-sm" type="email" data-bind="value: notifyEmail, bootstrapErrors: notifyEmail" name="requester_email" aria-label="Your Email" placeholder="Your Email" id="id_requester_email"
title="Please enter your email address." data-orig-title="">
<div class="input-group-btn">
<button class="btn btn-info btn-sm" data-bind="click: submitNotifyEmail">Submit</button>
</div>
</div><span class="help-block" style="font-weight: bold; display: none;"></span>
<span class="help-block"></span>
</div>
</div>
</div>
<div class="hide" aria-hidden="true">
<div id="div_id_extra_info" class="form-group">
<label for="id_extra_info" class="control-label ">More Info</label>
<div class="controls ">
<input type="text" name="extra_info" id="id_extra_info" class="hide textinput textInput form-control" maxlength="10">
</div>
</div>
</div>
</form>
<form class="set-country" data-bind="hidden: selectedCountry">
<input type="hidden" name="csrfmiddlewaretoken" value="9EodB7hi3jC8KBGVNPoPrtFFIkOMON2dRoJLpD7g9jFIVlV1wjXi9PoTgwOVUTBN">
<div class="row">
<div class="col-sm-6">
<label for="id_set_country">Change Destination Country:</label>
<div class="select-container select-container-small">
<select id="id_set_country" name="country" class="form-control input-sm country-select" data-bind="value: country">
<option value="">Select Your Country...</option>
<option value="AF">Afghanistan</option>
<option value="AL">Albania</option>
<option value="DZ">Algeria</option>
<option value="AS">American Samoa</option>
<option value="AD">Andorra</option>
<option value="AO">Angola</option>
<option value="AI">Anguilla</option>
<option value="AQ">Antarctica</option>
<option value="AG">Antigua and Barbuda</option>
<option value="AR">Argentina</option>
<option value="AM">Armenia</option>
<option value="AW">Aruba</option>
<option value="AU">Australia</option>
<option value="AT">Austria</option>
<option value="AZ">Azerbaijan</option>
<option value="BS">Bahamas</option>
<option value="BH">Bahrain</option>
<option value="BD">Bangladesh</option>
<option value="BB">Barbados</option>
<option value="BE">Belgium</option>
<option value="BZ">Belize</option>
<option value="BJ">Benin</option>
<option value="BM">Bermuda</option>
<option value="BT">Bhutan</option>
<option value="BO">Bolivia</option>
<option value="BQ">Bonaire, Sint Eustatius and Saba</option>
<option value="BA">Bosnia and Herzegovina</option>
<option value="BW">Botswana</option>
<option value="BV">Bouvet Island</option>
<option value="BR">Brazil</option>
<option value="IO">British Indian Ocean Territory</option>
<option value="BN">Brunei</option>
<option value="BG">Bulgaria</option>
<option value="BF">Burkina Faso</option>
<option value="BI">Burundi</option>
<option value="CV">Cabo Verde</option>
<option value="KH">Cambodia</option>
<option value="CM">Cameroon</option>
<option value="CA">Canada</option>
<option value="KY">Cayman Islands</option>
<option value="CF">Central African Republic</option>
<option value="TD">Chad</option>
<option value="CL">Chile</option>
<option value="CN">China</option>
<option value="CX">Christmas Island</option>
<option value="CC">Cocos (Keeling) Islands</option>
<option value="CO">Colombia</option>
<option value="KM">Comoros</option>
<option value="CG">Congo</option>
<option value="CD">Congo (the Democratic Republic of the)</option>
<option value="CK">Cook Islands</option>
<option value="CR">Costa Rica</option>
<option value="HR">Croatia</option>
<option value="CW">Curaçao</option>
<option value="CY">Cyprus</option>
<option value="CZ">Czechia</option>
<option value="CI">Côte d'Ivoire</option>
<option value="DK">Denmark</option>
<option value="DJ">Djibouti</option>
<option value="DM">Dominica</option>
<option value="DO">Dominican Republic</option>
<option value="EC">Ecuador</option>
<option value="EG">Egypt</option>
<option value="SV">El Salvador</option>
<option value="GQ">Equatorial Guinea</option>
<option value="ER">Eritrea</option>
<option value="EE">Estonia</option>
<option value="SZ">Eswatini</option>
<option value="ET">Ethiopia</option>
<option value="FK">Falkland Islands (Malvinas)</option>
<option value="FO">Faroe Islands</option>
<option value="FJ">Fiji</option>
<option value="FI">Finland</option>
<option value="FR">France</option>
<option value="GF">French Guiana</option>
<option value="PF">French Polynesia</option>
<option value="TF">French Southern Territories</option>
<option value="GA">Gabon</option>
<option value="GM">Gambia</option>
<option value="GE">Georgia</option>
<option value="DE">Germany</option>
<option value="GH">Ghana</option>
<option value="GI">Gibraltar</option>
<option value="GR">Greece</option>
<option value="GL">Greenland</option>
<option value="GD">Grenada</option>
<option value="GP">Guadeloupe</option>
<option value="GU">Guam</option>
<option value="GT">Guatemala</option>
<option value="GG">Guernsey</option>
<option value="GN">Guinea</option>
<option value="GW">Guinea-Bissau</option>
<option value="GY">Guyana</option>
<option value="HT">Haiti</option>
<option value="HM">Heard Island and McDonald Islands</option>
<option value="VA">Holy See</option>
<option value="HN">Honduras</option>
<option value="HK">Hong Kong</option>
<option value="HU">Hungary</option>
<option value="IS">Iceland</option>
<option value="IN">India</option>
<option value="ID">Indonesia</option>
<option value="IQ">Iraq</option>
<option value="IE">Ireland</option>
<option value="IM">Isle of Man</option>
<option value="IL">Israel</option>
<option value="IT">Italy</option>
<option value="JM">Jamaica</option>
<option value="JP">Japan</option>
<option value="JE">Jersey</option>
<option value="JO">Jordan</option>
<option value="KZ">Kazakhstan</option>
<option value="KE">Kenya</option>
<option value="KI">Kiribati</option>
<option value="KW">Kuwait</option>
<option value="KG">Kyrgyzstan</option>
<option value="LA">Laos</option>
<option value="LV">Latvia</option>
<option value="LB">Lebanon</option>
<option value="LS">Lesotho</option>
<option value="LR">Liberia</option>
<option value="LY">Libya</option>
<option value="LI">Liechtenstein</option>
<option value="LT">Lithuania</option>
<option value="LU">Luxembourg</option>
<option value="MO">Macao</option>
<option value="MG">Madagascar</option>
<option value="MW">Malawi</option>
<option value="MY">Malaysia</option>
<option value="MV">Maldives</option>
<option value="ML">Mali</option>
<option value="MT">Malta</option>
<option value="MH">Marshall Islands</option>
<option value="MQ">Martinique</option>
<option value="MR">Mauritania</option>
<option value="MU">Mauritius</option>
<option value="YT">Mayotte</option>
<option value="MX">Mexico</option>
<option value="FM">Micronesia (Federated States of)</option>
<option value="MD">Moldova</option>
<option value="MC">Monaco</option>
<option value="MN">Mongolia</option>
<option value="ME">Montenegro</option>
<option value="MS">Montserrat</option>
<option value="MA">Morocco</option>
<option value="MZ">Mozambique</option>
<option value="MM">Myanmar</option>
<option value="NA">Namibia</option>
<option value="NR">Nauru</option>
<option value="NP">Nepal</option>
<option value="NL">Netherlands</option>
<option value="NC">New Caledonia</option>
<option value="NZ">New Zealand</option>
<option value="NI">Nicaragua</option>
<option value="NE">Niger</option>
<option value="NG">Nigeria</option>
<option value="NU">Niue</option>
<option value="NF">Norfolk Island</option>
<option value="MK">North Macedonia</option>
<option value="MP">Northern Mariana Islands</option>
<option value="NO">Norway</option>
<option value="OM">Oman</option>
<option value="PK">Pakistan</option>
<option value="PW">Palau</option>
<option value="PS">Palestine, State of</option>
<option value="PA">Panama</option>
<option value="PG">Papua New Guinea</option>
<option value="PY">Paraguay</option>
<option value="PE">Peru</option>
<option value="PH">Philippines</option>
<option value="PN">Pitcairn</option>
<option value="PL">Poland</option>
<option value="PT">Portugal</option>
<option value="PR">Puerto Rico</option>
<option value="QA">Qatar</option>
<option value="RO">Romania</option>
<option value="RW">Rwanda</option>
<option value="RE">Réunion</option>
<option value="BL">Saint Barthélemy</option>
<option value="SH">Saint Helena, Ascension and Tristan da Cunha</option>
<option value="KN">Saint Kitts and Nevis</option>
<option value="LC">Saint Lucia</option>
<option value="MF">Saint Martin (French part)</option>
<option value="PM">Saint Pierre and Miquelon</option>
<option value="VC">Saint Vincent and the Grenadines</option>
<option value="WS">Samoa</option>
<option value="SM">San Marino</option>
<option value="ST">Sao Tome and Principe</option>
<option value="SA">Saudi Arabia</option>
<option value="SN">Senegal</option>
<option value="RS">Serbia</option>
<option value="SC">Seychelles</option>
<option value="SL">Sierra Leone</option>
<option value="SG">Singapore</option>
<option value="SX">Sint Maarten (Dutch part)</option>
<option value="SK">Slovakia</option>
<option value="SI">Slovenia</option>
<option value="SB">Solomon Islands</option>
<option value="SO">Somalia</option>
<option value="ZA">South Africa</option>
<option value="GS">South Georgia and the South Sandwich Islands</option>
<option value="KR">South Korea</option>
<option value="SS">South Sudan</option>
<option value="ES">Spain</option>
<option value="LK">Sri Lanka</option>
<option value="SD">Sudan</option>
<option value="SR">Suriname</option>
<option value="SJ">Svalbard and Jan Mayen</option>
<option value="SE">Sweden</option>
<option value="CH">Switzerland</option>
<option value="TW">Taiwan</option>
<option value="TJ">Tajikistan</option>
<option value="TZ">Tanzania</option>
<option value="TH">Thailand</option>
<option value="TL">Timor-Leste</option>
<option value="TG">Togo</option>
<option value="TK">Tokelau</option>
<option value="TO">Tonga</option>
<option value="TT">Trinidad and Tobago</option>
<option value="TN">Tunisia</option>
<option value="TR">Turkey</option>
<option value="TM">Turkmenistan</option>
<option value="TC">Turks and Caicos Islands</option>
<option value="TV">Tuvalu</option>
<option value="UG">Uganda</option>
<option value="AE">United Arab Emirates</option>
<option value="GB">United Kingdom</option>
<option value="UM">United States Minor Outlying Islands</option>
<option value="US">United States of America</option>
<option value="UY">Uruguay</option>
<option value="UZ">Uzbekistan</option>
<option value="VU">Vanuatu</option>
<option value="VE">Venezuela</option>
<option value="VN">Vietnam</option>
<option value="VG">Virgin Islands (British)</option>
<option value="VI">Virgin Islands (U.S.)</option>
<option value="WF">Wallis and Futuna</option>
<option value="EH">Western Sahara</option>
<option value="YE">Yemen</option>
<option value="ZM">Zambia</option>
<option value="ZW">Zimbabwe</option>
<option value="AX">Åland Islands</option>
</select>
<i class="icon-select-arrows"></i>
</div>
</div>
</div>
</form>
POST /notifyme/create/
<form action="/notifyme/create/" method="post"> <input type="hidden" name="csrfmiddlewaretoken" value="9EodB7hi3jC8KBGVNPoPrtFFIkOMON2dRoJLpD7g9jFIVlV1wjXi9PoTgwOVUTBN">
<div id="div_desired_quantity" class="form-group"> <label for="desired_quantity" class="control-label requiredField"> Desired Quantity<span class="asteriskField">*</span> </label>
<div class="controls "> <input type="number" name="desired_quantity" value="1" required="" min="1" max="25" class="numberinput form-control" id="desired_quantity">
<div id="hint_desired_quantity" class="help-block">Please message the seller directly if your desired quantity is very large.</div>
</div>
</div>
<div id="div_email" class="form-group"> <label for="email" class="control-label requiredField"> Email<span class="asteriskField">*</span> </label>
<div class="controls "> <input type="text" name="email" required="" class="textinput textInput form-control" id="email"> </div>
</div>
<div class="hide" aria-hidden="true">
<div id="div_extra_info" class="form-group"> <label for="extra_info" class="control-label "> More Info </label>
<div class="controls "> <input type="text" name="extra_info" class="hide textinput textInput form-control" maxlength="10" id="extra_info"> </div>
</div>
</div>
<input type="submit" name="save" value="Join Waitlist" class="btn btn-primary" id="submit-id-save"> <input type="hidden" name="product" value="26774" required="" id="product">
</form>
Name: mc-embedded-subscribe-form — POST https://tindie.us5.list-manage.com/subscribe/post?u=7aa035bfbcb82bedd3f3c334b&id=bb799798bb
<form action="https://tindie.us5.list-manage.com/subscribe/post?u=7aa035bfbcb82bedd3f3c334b&id=bb799798bb" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate="">
<p class="text-center">Get our pioneering hardware picks in your inbox with Tindie Fetch.</p>
<input aria-label="Join our mailing list" type="email" value="" name="EMAIL" class="text form-control" id="mce-EMAIL" placeholder="Join our mailing list!">
<input aria-label="Subscribe" type="submit" class="btn btn-primary btn-submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe">
<!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
<div class="display: none; visibility: hidden">
<label for="pot">Ignore this text box. It is used to detect spammers. If you enter anything into this text box, your message will not be sent.</label>
<input id="pot" type="text" name="b_7aa035bfbcb82bedd3f3c334b_bb799798bb" tabindex="-1" value="">
</div>
</form>
POST /accounts/login/
<form action="/accounts/login/" id="login-form-modal" method="post"> <input type="hidden" name="csrfmiddlewaretoken" value="9EodB7hi3jC8KBGVNPoPrtFFIkOMON2dRoJLpD7g9jFIVlV1wjXi9PoTgwOVUTBN">
<div data-bind="with: loginBox">
<div class="row ">
<div class="col-md-12">
<div id="div_id_auth-username" class="form-group"> <label for="id_auth-username" class="control-label requiredField"> Username or Email Address<span class="asteriskField">*</span> </label>
<div class="controls "> <input type="text" name="auth-username" autofocus="" placeholder="Please enter your username or email address" data-bind="textInput: completeEmail, bootstrapErrors: completeEmail" autocomplete="username"
class="textinput textInput form-control" required="" id="id_auth-username" title="Please enter your username or email" data-orig-title=""><span class="help-block" style="font-weight: bold; display: none;"></span> </div>
</div>
</div>
</div>
<div class="row ">
<div class="col-md-12">
<div id="div_id_auth-password" class="form-group"> <label for="id_auth-password" class="control-label requiredField"> Password<span class="asteriskField">*</span> </label>
<div class="controls "> <input type="password" name="auth-password" placeholder="Please enter your password" data-bind="textInput: completePassword, bootstrapErrors: completePassword" autocomplete="current-password"
class="textinput textInput form-control" required="" id="id_auth-password" title="Please enter your password" data-orig-title=""><span class="help-block" style="font-weight: bold; display: none;"></span> </div>
</div>
</div>
</div> <input type="hidden" name="auth-current_url" value="/products/arturo182/bb-q20-keyboard-with-trackpad-usbi2cpmod/" id="id_auth-current_url"> <input type="hidden" name="auth-next_url" id="id_auth-next_url">
<div class="hide" aria-hidden="true">
<div id="div_id_auth-extra_info" class="form-group"> <label for="id_auth-extra_info" class="control-label "> More Info </label>
<div class="controls "> <input type="text" name="auth-extra_info" class="hide textinput textInput form-control" maxlength="10" id="id_auth-extra_info"> </div>
</div>
</div>
<div class="row ">
<div class="col-md-12 login-form-wrap" data-bind="errorTooltip: $parent.loginBox.errors" data-original-title="" title=""> <input type="submit" name="login" value="Sign In" class="btn btn-primary mb15 expand-mobile disabled" id="submit-id-login"
data-bind="css: { 'disabled': !$parent.canLogin() }, disableEnterKey: !$parent.canLogin(), preventDoubleSubmit: 'Signing In...', event: { mouseover: $root.blurAll }">
</div>
</div>
</div>
<div style="display: none;"><input name="csrfmiddlewaretoken" type="hidden" value="yqAJDUA2ITyQ4V0GVo2T0OksSIUeV0qpgaVhrqq0OTBqfFfMESBmIa3GqUUn16ZZ"></div>
</form>
POST /accounts/signup/
<form action="/accounts/signup/" id="signup-form-modal" method="post"> <input type="hidden" name="csrfmiddlewaretoken" value="9EodB7hi3jC8KBGVNPoPrtFFIkOMON2dRoJLpD7g9jFIVlV1wjXi9PoTgwOVUTBN">
<div data-bind="with: registerBox">
<div class="row ">
<div class="col-md-6">
<div id="div_id_register-first_name" class="form-group"> <label for="id_register-first_name" class="control-label "> First name </label>
<div class="controls "> <input type="text" name="register-first_name" maxlength="30" autocomplete="given-name" class="textinput textInput form-control" id="id_register-first_name"> </div>
</div>
</div>
<div class="col-md-6">
<div id="div_id_register-last_name" class="form-group"> <label for="id_register-last_name" class="control-label "> Last name </label>
<div class="controls "> <input type="text" name="register-last_name" maxlength="150" autocomplete="family-name" class="textinput textInput form-control" id="id_register-last_name"> </div>
</div>
</div>
</div>
<div class="row ">
<div class="col-md-6">
<div id="div_id_register-email" class="form-group"> <label for="id_register-email" class="control-label requiredField"> Email Address<span class="asteriskField">*</span> </label>
<div class="controls "> <input type="email" name="register-email" maxlength="254" placeholder="Your email address" data-bind="value: completeEmail, bootstrapErrors: completeEmail" autocomplete="email" class="emailinput form-control"
required="" id="id_register-email" title="Please enter your email" data-orig-title=""><span class="help-block" style="font-weight: bold; display: none;"></span> </div>
</div> <small class="help-block" style="display: none;" data-bind="visible: emailLoginHint"><a href="/accounts/login/">Do you want to log in?</a></small>
</div>
<div class="col-md-6">
<div id="div_id_register-email2" class="form-group"> <label for="id_register-email2" class="control-label requiredField"> Confirm Email Address<span class="asteriskField">*</span> </label>
<div class="controls "> <input type="text" name="register-email2" required="" maxlength="140" data-bind="value: completeEmail2, bootstrapErrors: completeEmail2" autocomplete="email" class="textinput textInput form-control"
id="id_register-email2" title="Please confirm your email" data-orig-title=""><span class="help-block" style="font-weight: bold; display: none;"></span> </div>
</div>
</div>
</div>
<div class="row ">
<div class="col-md-6">
<div id="div_id_register-username" class="form-group"> <label for="id_register-username" class="control-label requiredField"> Username<span class="asteriskField">*</span> </label>
<div class="controls "> <input type="text" name="register-username" maxlength="150" autofocus="" placeholder="Desired username" data-bind="value: completeUsername, bootstrapErrors: completeUsername" autocomplete="username"
class="textinput textInput form-control" required="" id="id_register-username" title="Please enter a username" data-orig-title=""><span class="help-block" style="font-weight: bold; display: none;"></span> </div>
</div> <small class="help-block" style="display: none;" data-bind="visible: loginHint"><a href="/accounts/login/">Do you want to log in?</a></small>
</div>
<div class="col-md-6">
<div id="div_id_register-password1" class="form-group"> <label for="id_register-password1" class="control-label requiredField"> Password<span class="asteriskField">*</span> </label>
<div class="controls "> <input type="password" name="register-password1" placeholder="Your password" data-bind="value: completePassword" autocomplete="new-password" class="textinput textInput form-control" required=""
id="id_register-password1" title="Please enter a password" data-orig-title=""><span class="help-block" style="font-weight: bold; display: none;"></span> </div>
</div>
</div>
</div>
<div class="row ">
<div class="col-md-12">
<div class="form-group">
<div id="div_id_register-mailchimp_opt_in" class="checkbox"> <label for="id_register-mailchimp_opt_in" class=""> <input type="checkbox" name="register-mailchimp_opt_in" class="checkboxinput" id="id_register-mailchimp_opt_in" checked="">
Join our mailing list and stay updated about pioneering hardware and Tindie community activities. </label> </div>
</div>
</div>
</div>
<div class="hide" aria-hidden="true">
<div id="div_id_register-extra_info" class="form-group"> <label for="id_register-extra_info" class="control-label "> More Info </label>
<div class="controls "> <input type="text" name="register-extra_info" class="hide textinput textInput form-control" maxlength="10" id="id_register-extra_info"> </div>
</div>
</div>
<div class="row ">
<div class="col-md-12 signup-form-wrap" data-bind="errorTooltip: $parent.registerBox.errors" data-original-title="" title=""> <input type="hidden" name="register-current_url" value="/products/arturo182/bb-q20-keyboard-with-trackpad-usbi2cpmod/"
id="id_register-current_url"> <input type="submit" name="register" value="Register" class="btn btn-primary expand-mobile disabled" id="id_submit"
data-bind="css: { 'disabled': !$parent.canRegister() }, click: submitRegistration, disableEnterKey: !$parent.canRegister(), preventDoubleSubmit: 'Registering...', event: { mouseover: $root.blurAll }">
</div>
</div>
</div>
<div style="display: none;"><input name="csrfmiddlewaretoken" type="hidden" value="yqAJDUA2ITyQ4V0GVo2T0OksSIUeV0qpgaVhrqq0OTBqfFfMESBmIa3GqUUn16ZZ"></div>
</form>
Text Content
Log In 0 Cart Go * Newest * DIY Electronics * 3D Printing & CNC * Camera Equipment * IoT & Smart Home * Robots & Drones * Sound * Supplies * Flea Market * On Sale TINDIE Search * Sell on Tindie * Log In * Register * * 0 Cart * 0 Cart * Search * All Products Newest On Sale Certified Open Hardware Hackaday Sellers Browse Stores * DIY Electronics Arduino BeagleBoard Beginner Cases ESP32 Gaming Lights Prototyping & Fabrication Raspberry Pi Teensy Vintage Computing Wearables Wireless * 3D Printing & CNC 3D Printed 3D Printers & Parts * Camera Equipment * IoT & Smart Home Clocks LoRa * Robots & Drones Robot Kits * Sound Amplifiers MIDI Synths * Supplies Accessories Batteries Boards and Shields Cables and Adapters Cases Components Filament Headers Kits Lights and Displays Motors Power Robots & Drones Sensors Soldering Sound Testers Tools Wireless * Flea Market Beta Adapters and Cables Audio and Video Batteries and Power Boards Books and Media Bulk Components Cases and Mounts Computers and Networking Equipment Fasteners Lights and Nixie RC Small Tools * More Robots & Drones Sound Supplies Flea Market 1. Home 2. DIY Electronics BB Q20 KEYBOARD WITH TRACKPAD, USB/I2C/PMOD (15 Reviews) A BB Q20 Keyboard with trackpad in a portable format. Easily add a QWERTY keyboard to your project! Designed by Solder Party in Sweden Wishlist On Wishlist Tweet Share Pin Previous Next $30.00 $30.00 ($30.00 USD) Ask a Question No shipping info available. Set destination country to see options Shipping to starts at $0.00 ($0.00 USD) Free shipping is available to ! Ships from This item does not ship to . More Info OUT OF STOCK Sign up to get notified when this product is back in stock! Desired Quantity* Please message the seller directly if your desired quantity is very large. Email* More Info Sold out since Nov 25, 2023 Wishlist On Wishlist Tweet Share Pin A BB Q20 KEYBOARD WITH TRACKPAD IN A PORTABLE FORMAT. EASILY ADD A QWERTY KEYBOARD TO YOUR PROJECT! * Description * Specs * Shipping * Volume Pricing * More * 15 Reviews * BB Q20 Keyboard with tra… * View Options and Buy Product Description The timeframe for a restock is currently unknown. To stay informed about the availability of the Keyboard, please subscribe to our newsletter at https://solderparty.substack.com. We will notify you a… Read More… THE TIMEFRAME FOR A RESTOCK IS CURRENTLY UNKNOWN. TO STAY INFORMED ABOUT THE AVAILABILITY OF THE KEYBOARD, PLEASE SUBSCRIBE TO OUR NEWSLETTER AT HTTPS://SOLDERPARTY.SUBSTACK.COM. WE WILL NOTIFY YOU AS SOON AS IT IS BACK IN STOCK. -> https://solderparty.substack.com <- A BB Q20 Keyboard in USB/PMOD/Qwiic format with an injection molded clear plastic case. This is the evolution of our previous BBQ10 PMOD board. We took all the feedback from that board and improved on the design in every way. We added a Qwiic/Stemma QT connector, we added USB HID support, we changed to a Q20 keyboard, which gave us four extra buttons, and the optical trackpad that works as a USB HID Mouse. And we decided to put the whole thing into a custom-designed injection molded clear plastic case for better usability and durability, as well as that retro 90s look. DETAILS The board uses the Raspberry Pi RP2040 MCU to poll the keyboard and trackpad and put the key press information into a FIFO. You can use the I2C interface to read the FIFO, reconfigure the chip, and change the keyboar backlight. In addition to that, the board also has a USB Type-C socket, and when connected to a desktop computer (Windows/Linux/MacOS), a smartphone (Android), or a SBC (Raspberry Pi, etc), it enumerates as a USB HID Keyboard and Mouse combo! The firmware can be configured over USB using the Vendor Class interface. The I2C interface is compatible with the old BBQ10 module, you can use the same libraries to interface this board: - Arduino library - CircuitPython library Note: This board is not 5V-tolerant! WHAT YOU GET * The BBQ20KBD board+keyboard assembled with an injection molded clear plastic case * Reference leaflet Specs and Docs * Source Code * Documentation * Design Files * Open Source Hardware | [OSHW] SE000019 | Certified Open Source Hardware Shipping Info No country selected, please select your country to see shipping options. No rates are available for shipping to . Enter your email address if you'd like to be notified when BB Q20 Keyboard with trackpad, USB/I2C/PMOD can be shipped to you: Submit More Info Thanks! We'll let you know when the seller adds shipping rates for your country. RATES TO Update Destination Change Destination Country: Select Your Country... Afghanistan Albania Algeria American Samoa Andorra Angola Anguilla Antarctica Antigua and Barbuda Argentina Armenia Aruba Australia Austria Azerbaijan Bahamas Bahrain Bangladesh Barbados Belgium Belize Benin Bermuda Bhutan Bolivia Bonaire, Sint Eustatius and Saba Bosnia and Herzegovina Botswana Bouvet Island Brazil British Indian Ocean Territory Brunei Bulgaria Burkina Faso Burundi Cabo Verde Cambodia Cameroon Canada Cayman Islands Central African Republic Chad Chile China Christmas Island Cocos (Keeling) Islands Colombia Comoros Congo Congo (the Democratic Republic of the) Cook Islands Costa Rica Croatia Curaçao Cyprus Czechia Côte d'Ivoire Denmark Djibouti Dominica Dominican Republic Ecuador Egypt El Salvador Equatorial Guinea Eritrea Estonia Eswatini Ethiopia Falkland Islands (Malvinas) Faroe Islands Fiji Finland France French Guiana French Polynesia French Southern Territories Gabon Gambia Georgia Germany Ghana Gibraltar Greece Greenland Grenada Guadeloupe Guam Guatemala Guernsey Guinea Guinea-Bissau Guyana Haiti Heard Island and McDonald Islands Holy See Honduras Hong Kong Hungary Iceland India Indonesia Iraq Ireland Isle of Man Israel Italy Jamaica Japan Jersey Jordan Kazakhstan Kenya Kiribati Kuwait Kyrgyzstan Laos Latvia Lebanon Lesotho Liberia Libya Liechtenstein Lithuania Luxembourg Macao Madagascar Malawi Malaysia Maldives Mali Malta Marshall Islands Martinique Mauritania Mauritius Mayotte Mexico Micronesia (Federated States of) Moldova Monaco Mongolia Montenegro Montserrat Morocco Mozambique Myanmar Namibia Nauru Nepal Netherlands New Caledonia New Zealand Nicaragua Niger Nigeria Niue Norfolk Island North Macedonia Northern Mariana Islands Norway Oman Pakistan Palau Palestine, State of Panama Papua New Guinea Paraguay Peru Philippines Pitcairn Poland Portugal Puerto Rico Qatar Romania Rwanda Réunion Saint Barthélemy Saint Helena, Ascension and Tristan da Cunha Saint Kitts and Nevis Saint Lucia Saint Martin (French part) Saint Pierre and Miquelon Saint Vincent and the Grenadines Samoa San Marino Sao Tome and Principe Saudi Arabia Senegal Serbia Seychelles Sierra Leone Singapore Sint Maarten (Dutch part) Slovakia Slovenia Solomon Islands Somalia South Africa South Georgia and the South Sandwich Islands South Korea South Sudan Spain Sri Lanka Sudan Suriname Svalbard and Jan Mayen Sweden Switzerland Taiwan Tajikistan Tanzania Thailand Timor-Leste Togo Tokelau Tonga Trinidad and Tobago Tunisia Turkey Turkmenistan Turks and Caicos Islands Tuvalu Uganda United Arab Emirates United Kingdom United States Minor Outlying Islands United States of America Uruguay Uzbekistan Vanuatu Venezuela Vietnam Virgin Islands (British) Virgin Islands (U.S.) Wallis and Futuna Western Sahara Yemen Zambia Zimbabwe Åland Islands Shipping Rate Tracked Ships From First Item Additional Items Volume Pricing Quantity Price 1-4$30.00 5-9$26.50 10-24$25.00 25-49$22.50 50+$21.00 Reviews (15) REVIEW BREAKDOWN 5 10 4 4 3 0 2 0 1 1 AVERAGE RATINGS Product: (4.73) Documentation: (4.60) Shipping: (4.60) Communication: (4.67) Naheel | Oct. 1, 2023 PERFECT Does what it says, open hardware and software, same good old keyboard, easily customizable. Highly recommended. Jacky | Aug. 16, 2023 NEVER RECEIVED IT. It's been a little over a month and a half. Haven't received the product. The address was wrong and it was reshipped on priority. That was 20 days ago. Still nothing. At this point the purpose I bought it for has long been missed. Unfortunately I cannot comment on the product itself. Adam | July 13, 2023 I CAN'T BELIEVE I FORGOT TO DO THIS! This is a fantastic little keyboard! Nice and easy to use, as all BB keyboards are, but wrapped in such a brilliant little package! I've had mine for ages but forgot to leave a review earlier. James | June 20, 2023 THIS IS AN AWESOME LITTLE DEVICE I bought 2 and might buy a few more. I am attaching them to an Arduino with a screen and a cellular board. It has good example code for connecting over I2C. They were very helpful when I got stuck on something. A+ Adam | April 29, 2023 SMALL, CONVENIENT, KEYBOARD THAT WORKS AWESOME! I didn't know I needed this keyboard, but I got it on a whim because I thought it looked cool. Since I have had it, this keyboard has come in handy and is now my "break out a keyboard" device for many moments. I have used it with a little Android TV box, raspberry pi and other SBCs, and my home server, and I will find even more uses in the future. It even is illuminated, and you can use it in dark places! The mouse function works great as well. It is your old Blackberry keyboard in a nice little package. The build quality is pretty good, and it got here quickly. I can't find anything I don't like about the little keyboard itself. If I did have to complain, the sticky foam that helps hold it in place isn't sticky enough, and it can lift a little bit off the PCB, but that is something I think I can fix if it ever becomes a real issue. I am sure there is a reason it could not be screwed into the PCB itself instead of using the sticky foam. Tinkerers have lots of little devices, and sometimes you need to punch in a password or long HTTP string, but since you don't have a keyboard connected, you must bust out that old gigantic e-waste keyboard just to type a few lines. So this little guy does the job in a small convenient package. Using the "alt" key, you can punch in numbers and symbols as well! I have only had it a month or so, but it has come in handy more than a few times. Right now, it lives connected to my little Android TV box for when I want to search for a youtube video or need to type a password into an app. Instead of using my remote control with an on-screen keyboard, I can punch it in with this little guy. It uses a standard USB keyboard driver, and I have not found anything that it is not compatible with yet. Super convenient and fun to use too! I highly recommend this little keyboard. Tim | April 21, 2023 I'VE NEEDED ONE OF THESE FOR AGES, NICE PACKAGING TOO Not believing in KVM switches for my retro computing and Rpi collection, I've needed one of these for ages. Thanks! Even for work, I have one Windows PC and a second Linux PC that I use for testing browser apps. Finding space on my messy desk to fit the second keyboard and mouse... yeah, that never happened... until this came along. Anyway, I especially liked the elegant plastic box it came in, perfect for both shipping and storage, and of course the custom-designed, injection-molded "half shell" that sets this apart from bare, PCB-only products. Vincent | April 8, 2023 VERY SOLID BUILD QUALITY The keypad arrived quickly in less than a week. The stock functionality is great as a USB keyboard and mouse. I am hoping to make this a Bluetooth mouse/keyboard combo in the near future. The well documented firmware will help tremendously with making that happen. Karol | April 4, 2023 FIVE STARS ALL THE WAY! Using this thing is like meeting an old friend from BlackBerry times. Great build quality. Works flawlessly. Payment process info was misleading, asked question - instant seller contact. Fast shipping. I am extremely happy with the concept, purchase and support. Scott | Nov. 16, 2022 INCREDIBLE PORTABLE, PLUG-AND-PLAY KEYBOARD WITH TRACKPAD I can't recommend this keyboard enough, especially at these prices. Shipping overseas was under 2 weeks. This is a great portable keyboard that is plug-and-play with USB-C. The keyboard and trackpad are the flagship quality that one would expect from BlackBerry. Arturo's transparent case is comfortable and the brass screw inserts are indicative of the overall quality. The PCB layout and assembly look clean and professional. The BB Q20 was plug-and-play with my Windows 10 laptop. I increased the speed of the trackpad in Windows settings. The internet is fun and comfortable sitting back in the chair, away from the laptop's keyboard. I have a few projects in mind. The shaped keys make typing fast and don't require looking at the keyboard. I haven't used a BlackBerry keyboard for ages. But after using the BB Q20 for about 15 minutes, and looking down at the keyboard from time-to-time, I am getting the groove back. 5 stars. Stefan | June 30, 2022 GREAT KEYBOARD COMBO I love the idea and recently added Bluetooth support via an Espruino BLE board that fits nicely into the free space in the enclosure. The great i2c implementation made that really easy to do. Also added a small usb bone-shaped power bank and now have a pretty nice mobile tool for VR, AppleTV etc. Highly recommended. Dawid | June 24, 2022 GREAT, RECOMMENDED I needed small, portable and configurable keyboard, and now i have it. :) Bought it mainly for termux and rpi/server stuff. Even touchpad is quite useful. Important advantage is the firmware: reconfigurable, building and flashing is easy, so mapping custom key like Escape or Tab is no time (check github repo for details). Maybe even QMK? Keyboard itself is well thought for such a niche product, recommended! Kevin | June 23, 2022 HIGHLY RECOMMEND ARTUROS BB Q20, CHANGED MY WORK DAY. This thing is so fun. I have it connected to my iMac via USB-C and I use it for my job correspondence: email, slack, iMessage. Is your work communication tedious? Use one of these and at least the correspondence part of your job will be entertaining. Brian | June 14, 2022 WORKS GREAT, FEELS GOOD! It does what it says on the tin! Great product! I haven't had any issues using it over USB on my computer or android phone. Ryan | May 25, 2022 MUCH SMALLER THAN I RECALL (NOT IN A BAD WAY) Saw a link to this guy on Reddit and IMMEDIATELY knew that I wanted it. I have been looking for a small, WIRED, USB keyboard that I could easily use with my various Raspberry Pi projects, or my Home Server (can finally get rid of that huge clunky keyboard/mouse), and just to have in my EDC. Came with a nice little plastic carrying case, which will keep it protected when it is in my bag. The molded plastic on the keyboard itself is a nice touch as well, gives it a premium, durable feel. I was caught off guard with how small this was. I remember phone keyboards being that small at that time, but as a large phone user, I had forgotten. I'm not familiar with I2C or PMOD, but the USB works right away out of the box, and I look forward to learning more regarding those other things. Tamas | May 24, 2022 WONDERFUL TINY KEYBOARD WITH MOUSE FUNCTION Just received this tiny keyboard. It works instantly by plugging in to usb port of a laptop or computer. It has backlight and the trackpad like mouse function which works great. I used to own a blackberry phone and its nice to recognize the keyboard is from that brand with same quality. Worth to buy if one needs a tiny keyboard that fits into a pocket. The case which holds the device is high quality clear plastic (acryl?) and has a good feeling to touch and protects the internals. I cant comment on other features tough I do see the various connectors. I plan to use it as a keyboard for my home server when it needs it occasionally. Shipping was fast (received in 1 week) from Sweden, so no issues on customs within EU. Tiny hint, you could place some object of known size next to it so others might be able to see its size. It is tiny! Great product , works well , recommended. Purchase made by the article in tomshardware. + Show 10 more $30.00 $30.00 ($30.00 USD) Ask a Question No shipping info available. Set destination country to see options Shipping to starts at $0.00 ($0.00 USD) Free shipping is available to ! Ships from This item does not ship to . More Info OUT OF STOCK Sign up to get notified when this product is back in stock! Desired Quantity* Please message the seller directly if your desired quantity is very large. Email* More Info Sold out since Nov 25, 2023 Wishlist On Wishlist Tweet Share Pin About Seller SOLDER PARTY Malmö, Skane, Sweden Ships from Sweden. 52 Reviews | 2,874 Orders View Store Contact Store MORE FROM THIS SELLER: RP2040 STAMP Solder Party $12.00 RASPBERRY PI PICO ADAPTER FOR KEYBOARD FEATHERWING Solder Party $3.00 3.7V/4.2V LIPO CHARGER WITH USB TYPE-C PLUG Solder Party $4.50 CP2102 USB TO SERIAL/UART WITH USB TYPE-C PLUG Solder Party $5.50 USB TYPE-C PLUG BREAKOUT - USB 3.0 ONLY Solder Party $2.75 USB TYPE-C PLUG BREAKOUT - USB 2.0 ONLY Solder Party $2.75 PMOD TO QWIIC/STEMMA QT ADAPTER W/ DAISY CHAINING Solder Party $3.00 RP2040 STAMP CARRIER Solder Party $6.50 WE THOUGHT YOU'D LIKE THESE TOO… BLACKBERRY BB9900 USB KEYBOARD WITH TRACKPAD ZitaoTech $30.00 CH347 DEVELOPMENT BOARD MuseLab $4.80 USB TYPE-C / PIC32 DEVELOPMENT BOARD (LITE) lophtware $17.99 EEE KEYBOARD TO USB, WITH FIRMWARE (FOR TEENSY2.0) FairywrenTech $5.00 Sponsored Promotion Get our pioneering hardware picks in your inbox with Tindie Fetch. Ignore this text box. It is used to detect spammers. If you enter anything into this text box, your message will not be sent. COMPANY * About Tindie * Tindie Blog * Our Terms DISCOVER * Newest Products * Popular Products * On Sale BUYING & SELLING * Buy on Tindie * Sell on Tindie * Tindie Guarantee HELP * FAQs * Contact Tindie * Community Forums Join Us On * * * * © 2024 Tindie, Inc. Privacy Policy | Digital Services Act × Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more. OK × * Register * Log In Log in with Facebook Log in with HACKADAY.IO -------------------------------------------------------------------------------- Username or Email Address* Password* More Info Forgot Password? Register with Facebook Register with HACKADAY.IO -------------------------------------------------------------------------------- First name Last name Email Address* Do you want to log in? Confirm Email Address* Username* Do you want to log in? Password* Join our mailing list and stay updated about pioneering hardware and Tindie community activities. More Info By clicking Register, you confirm that you accept our Terms & Conditions × WHAT IS A TINDARIAN? We recognize our top users by making them a Tindarian. Tindarians have access to secret & unreleased features. HOW DOES ONE BECOME A TINDARIAN? We look for the most active & best members of the Tindie community, and invite them to join. There isn't a selection process or form to fill out. The only way to become a Tindarian is by being a nice & active member of the Tindie community! × Previous Next